60 lines
1.5 KiB
Text
60 lines
1.5 KiB
Text
|
import("//llvm/triples.gni")
|
||
|
import("//llvm/utils/gn/build/mac_sdk.gni")
|
||
|
import("//llvm/utils/gn/build/toolchain/compiler.gni")
|
||
|
|
||
|
# Flags in this file are passed both to the compiler that's building
|
||
|
# compiler-rt at build time (via normal gn cflags/ldflags), as well as to the
|
||
|
# compiler building compiler-rt test programs at test time (via
|
||
|
# COMPILER_RT_TEST_COMPILER_CFLAGS).
|
||
|
|
||
|
target_flags = []
|
||
|
target_ldflags = []
|
||
|
|
||
|
if (current_os == "android") {
|
||
|
target_flags += [
|
||
|
"--target=$llvm_current_triple",
|
||
|
"--sysroot=$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot",
|
||
|
"--gcc-toolchain=$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64",
|
||
|
"-fno-emulated-tls",
|
||
|
]
|
||
|
target_ldflags += [ "-static-libstdc++" ]
|
||
|
if (current_cpu == "arm") {
|
||
|
target_flags += [ "-march=armv7-a" ]
|
||
|
}
|
||
|
} else if (current_os == "ios" || current_os == "mac") {
|
||
|
if (current_cpu == "arm64") {
|
||
|
target_flags += [
|
||
|
"-arch",
|
||
|
"arm64",
|
||
|
]
|
||
|
target_ldflags += [
|
||
|
"-arch",
|
||
|
"arm64",
|
||
|
]
|
||
|
} else if (current_cpu == "x64") {
|
||
|
target_flags += [
|
||
|
"-arch",
|
||
|
"x86_64",
|
||
|
]
|
||
|
target_ldflags += [
|
||
|
"-arch",
|
||
|
"x86_64",
|
||
|
]
|
||
|
}
|
||
|
if (current_os == "mac") {
|
||
|
target_flags += [
|
||
|
"-isysroot",
|
||
|
mac_sdk_path,
|
||
|
# TODO(lgrey): We should be getting this from `compiler_defaults`. Why
|
||
|
# aren't we?
|
||
|
"-mmacos-version-min=10.10",
|
||
|
]
|
||
|
}
|
||
|
} else if (current_os == "baremetal") {
|
||
|
target_flags += [ "--target=$llvm_current_triple" ]
|
||
|
}
|
||
|
|
||
|
if (current_cpu == "x86") {
|
||
|
target_flags += [ "-m32" ]
|
||
|
}
|