brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · cdfab75 Raw
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