73 lines
1.7 KiB
Plaintext
73 lines
1.7 KiB
Plaintext
import("//compiler-rt/target.gni")
|
|
|
|
static_library("profile") {
|
|
output_dir = crt_current_out_dir
|
|
if (current_os == "mac") {
|
|
output_name = "clang_rt.profile_osx"
|
|
} else {
|
|
output_name = "clang_rt.profile$crt_current_target_suffix"
|
|
}
|
|
|
|
complete_static_lib = true
|
|
configs -= [ "//llvm/utils/gn/build:thin_archive" ]
|
|
|
|
cflags = []
|
|
if (current_os != "win") {
|
|
cflags = [
|
|
"-fPIC",
|
|
"-Wno-pedantic",
|
|
]
|
|
} else {
|
|
# This appears to be a C-only warning banning the use of locals in
|
|
# aggregate initializers. All other compilers accept this, though.
|
|
# nonstandard extension used : 'identifier' :
|
|
# cannot be initialized using address of automatic variable
|
|
cflags += [ "/wd4221" ]
|
|
}
|
|
|
|
include_dirs = [
|
|
"..",
|
|
"../../include",
|
|
]
|
|
|
|
sources = [
|
|
"GCDAProfiling.c",
|
|
"InstrProfiling.c",
|
|
"InstrProfiling.h",
|
|
"InstrProfilingBiasVar.c",
|
|
"InstrProfilingBuffer.c",
|
|
"InstrProfilingFile.c",
|
|
"InstrProfilingInternal.c",
|
|
"InstrProfilingInternal.h",
|
|
"InstrProfilingMerge.c",
|
|
"InstrProfilingMergeFile.c",
|
|
"InstrProfilingNameVar.c",
|
|
"InstrProfilingPlatformDarwin.c",
|
|
"InstrProfilingPlatformFuchsia.c",
|
|
"InstrProfilingPlatformLinux.c",
|
|
"InstrProfilingPlatformOther.c",
|
|
"InstrProfilingPlatformWindows.c",
|
|
"InstrProfilingPort.h",
|
|
"InstrProfilingRuntime.cpp",
|
|
"InstrProfilingUtil.c",
|
|
"InstrProfilingUtil.h",
|
|
"InstrProfilingValue.c",
|
|
"InstrProfilingVersionVar.c",
|
|
"InstrProfilingWriter.c",
|
|
]
|
|
if (current_os == "win") {
|
|
sources += [
|
|
"WindowsMMap.c",
|
|
"WindowsMMap.h",
|
|
]
|
|
}
|
|
|
|
if (current_os != "win") {
|
|
defines = [
|
|
"COMPILER_RT_HAS_UNAME",
|
|
"COMPILER_RT_HAS_ATOMICS",
|
|
"COMPILER_RT_HAS_FCNTL_LCK",
|
|
]
|
|
}
|
|
}
|