70 lines · plain
1import("//compiler-rt/target.gni")2 3static_library("profile") {4 output_dir = crt_current_out_dir5 if (current_os == "mac") {6 output_name = "clang_rt.profile_osx"7 } else {8 output_name = "clang_rt.profile$crt_current_target_suffix"9 }10 11 complete_static_lib = true12 configs -= [ "//llvm/utils/gn/build:thin_archive" ]13 14 cflags = []15 if (current_os != "win") {16 cflags = [17 "-fPIC",18 "-Wno-pedantic",19 ]20 } else {21 # This appears to be a C-only warning banning the use of locals in22 # aggregate initializers. All other compilers accept this, though.23 # nonstandard extension used : 'identifier' :24 # cannot be initialized using address of automatic variable25 cflags += [ "/wd4221" ]26 }27 28 include_dirs = [ "../../include" ]29 30 sources = [31 "GCDAProfiling.c",32 "InstrProfiling.c",33 "InstrProfiling.h",34 "InstrProfilingBuffer.c",35 "InstrProfilingFile.c",36 "InstrProfilingInternal.c",37 "InstrProfilingInternal.h",38 "InstrProfilingMerge.c",39 "InstrProfilingMergeFile.c",40 "InstrProfilingNameVar.c",41 "InstrProfilingPlatformAIX.c",42 "InstrProfilingPlatformDarwin.c",43 "InstrProfilingPlatformFuchsia.c",44 "InstrProfilingPlatformLinux.c",45 "InstrProfilingPlatformOther.c",46 "InstrProfilingPlatformWindows.c",47 "InstrProfilingPort.h",48 "InstrProfilingRuntime.cpp",49 "InstrProfilingUtil.c",50 "InstrProfilingUtil.h",51 "InstrProfilingValue.c",52 "InstrProfilingVersionVar.c",53 "InstrProfilingWriter.c",54 ]55 if (current_os == "win") {56 sources += [57 "WindowsMMap.c",58 "WindowsMMap.h",59 ]60 }61 62 if (current_os != "win") {63 defines = [64 "COMPILER_RT_HAS_UNAME",65 "COMPILER_RT_HAS_ATOMICS",66 "COMPILER_RT_HAS_FCNTL_LCK",67 ]68 }69}70