1import("//clang/lib/ARCMigrate/enable.gni") 2import("//clang/lib/StaticAnalyzer/Frontend/enable.gni") 3import("//llvm/utils/gn/build/libs/xml/enable.gni") 4import("//llvm/utils/gn/build/write_cmake_config.gni") 5import("//llvm/version.gni") 6 7write_cmake_config("Config") { 8 input = "config.h.cmake" 9 output = "$target_gen_dir/config.h" 10 values = [ 11 "BUG_REPORT_URL=https://bugs.llvm.org/", 12 "CLANG_DEFAULT_LINKER=", 13 "CLANG_DEFAULT_STD_C=", 14 "CLANG_DEFAULT_STD_CXX=", 15 "CLANG_DEFAULT_CXX_STDLIB=", 16 "CLANG_DEFAULT_RTLIB=", 17 "CLANG_DEFAULT_OBJCOPY=objcopy", 18 "CLANG_DEFAULT_OPENMP_RUNTIME=libomp", 19 "CLANG_DEFAULT_UNWINDLIB=", 20 "CLANG_OPENMP_NVPTX_DEFAULT_ARCH=sm_35", 21 "CLANG_LIBDIR_SUFFIX=", 22 "CLANG_RESOURCE_DIR=", 23 "C_INCLUDE_DIRS=", 24 "CLANG_CONFIG_FILE_SYSTEM_DIR=", 25 "CLANG_CONFIG_FILE_USER_DIR=", 26 "CLANG_SPAWN_CC1=", 27 "DEFAULT_SYSROOT=", 28 "GCC_INSTALL_PREFIX=", 29 "BACKEND_PACKAGE_STRING=LLVM ${llvm_version}git", 30 "ENABLE_LINKER_BUILD_ID=", 31 "ENABLE_X86_RELAX_RELOCATIONS=1", 32 "CLANG_ENABLE_OBJC_REWRITER=1", # FIXME: flag? 33 "CLANG_SYSTEMZ_DEFAULT_ARCH=z10", 34 ] 35 36 if (clang_enable_arcmt) { 37 values += [ "CLANG_ENABLE_ARCMT=1" ] 38 } else { 39 values += [ "CLANG_ENABLE_ARCMT=" ] 40 } 41 42 if (clang_enable_static_analyzer) { 43 values += [ "CLANG_ENABLE_STATIC_ANALYZER=1" ] 44 } else { 45 values += [ "CLANG_ENABLE_STATIC_ANALYZER=" ] 46 } 47 48 if (host_os != "win") { 49 values += [ "CLANG_HAVE_RLIMITS=1" ] 50 } else { 51 values += [ "CLANG_HAVE_RLIMITS=" ] 52 } 53 54 if (llvm_enable_libxml2) { 55 values += [ "CLANG_HAVE_LIBXML=1" ] 56 } else { 57 values += [ "CLANG_HAVE_LIBXML=" ] 58 } 59 60 if (host_os == "mac") { 61 # FIXME: Hardcoding this isn't great, but assuming that the host ld version 62 # has anything to do with the ld version where the built clang will run 63 # isn't either. Probably want to make this a declare_args. 64 values += [ "HOST_LINK_VERSION=305" ] 65 } else { 66 values += [ "HOST_LINK_VERSION=" ] 67 } 68} 69