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",
"InstrProfilingBuffer.c",
"InstrProfilingFile.c",
"InstrProfilingInternal.c",
"InstrProfilingInternal.h",
"InstrProfilingMerge.c",
"InstrProfilingMergeFile.c",
"InstrProfilingNameVar.c",
"InstrProfilingPlatformAIX.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",
]
}
}