66 lines · plain
1import("//llvm/triples.gni")2import("//llvm/utils/gn/build/mac_sdk.gni")3import("//llvm/utils/gn/build/toolchain/compiler.gni")4 5# Flags in this file are passed both to the compiler that's building6# compiler-rt at build time (via normal gn cflags/ldflags), as well as to the7# compiler building compiler-rt test programs at test time (via8# COMPILER_RT_TEST_COMPILER_CFLAGS).9 10target_flags = []11target_cflags = []12target_ldflags = []13 14if (current_os == "android") {15 target_flags += [16 "--target=$llvm_current_triple",17 "--sysroot=$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot",18 "--gcc-toolchain=$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64",19 "-fno-emulated-tls",20 ]21 target_ldflags += [ "-static-libstdc++" ]22 if (current_cpu == "arm") {23 target_flags += [ "-march=armv7-a" ]24 }25} else if (current_os == "ios" || current_os == "mac") {26 if (current_cpu == "arm64") {27 target_flags += [28 "-arch",29 "arm64",30 ]31 target_ldflags += [32 "-arch",33 "arm64",34 ]35 } else if (current_cpu == "x64") {36 target_flags += [37 "-arch",38 "x86_64",39 ]40 target_ldflags += [41 "-arch",42 "x86_64",43 ]44 }45 if (current_os == "mac") {46 target_flags += [47 "-isysroot",48 rebase_path(mac_sdk_path, root_build_dir),49 50 # TODO(lgrey): We should be getting this from `compiler_defaults`. Why51 # aren't we?52 "-mmacos-version-min=$mac_deployment_target",53 ]54 }55} else if (current_os == "baremetal") {56 target_flags += [ "--target=$llvm_current_triple" ]57}58 59if (current_cpu == "x86") {60 if (current_os == "win") {61 target_cflags += [ "-m32" ]62 } else {63 target_flags += [ "-m32" ]64 }65}66