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://github.com/llvm/llvm-project/issues/", 12 "CLANG_DEFAULT_PIE_ON_LINUX=1", 13 "CLANG_DEFAULT_LINKER=", 14 "CLANG_DEFAULT_CXX_STDLIB=", 15 "CLANG_DEFAULT_RTLIB=", 16 "CLANG_DEFAULT_OBJCOPY=objcopy", 17 "CLANG_DEFAULT_OPENMP_RUNTIME=libomp", 18 "CLANG_DEFAULT_UNWINDLIB=", 19 "CLANG_INSTALL_LIBDIR_BASENAME=lib", 20 "CLANG_RESOURCE_DIR=", 21 "C_INCLUDE_DIRS=", 22 "CLANG_CONFIG_FILE_SYSTEM_DIR=", 23 "CLANG_CONFIG_FILE_USER_DIR=", 24 "CLANG_SPAWN_CC1=", 25 "DEFAULT_SYSROOT=", 26 "GCC_INSTALL_PREFIX=", 27 "ENABLE_LINKER_BUILD_ID=", 28 "ENABLE_X86_RELAX_RELOCATIONS=1", 29 "CLANG_ENABLE_OBJC_REWRITER=1", # FIXME: flag? 30 "CLANG_ENABLE_CIR=", 31 "CLANG_SYSTEMZ_DEFAULT_ARCH=z10", 32 "PPC_LINUX_DEFAULT_IEEELONGDOUBLE=", 33 ] 34 35 if (clang_enable_arcmt) { 36 values += [ "CLANG_ENABLE_ARCMT=1" ] 37 } else { 38 values += [ "CLANG_ENABLE_ARCMT=" ] 39 } 40 41 if (clang_enable_static_analyzer) { 42 values += [ "CLANG_ENABLE_STATIC_ANALYZER=1" ] 43 } else { 44 values += [ "CLANG_ENABLE_STATIC_ANALYZER=" ] 45 } 46 47 if (host_os != "win") { 48 values += [ 49 "CLANG_HAVE_DLADDR=1", 50 "CLANG_HAVE_DLFCN_H=1", 51 "CLANG_HAVE_RLIMITS=1", 52 ] 53 } else { 54 values += [ 55 "CLANG_HAVE_DLADDR=", 56 "CLANG_HAVE_DLFCN_H=", 57 "CLANG_HAVE_RLIMITS=", 58 ] 59 } 60 61 if (llvm_enable_libxml2) { 62 values += [ "CLANG_HAVE_LIBXML=1" ] 63 } else { 64 values += [ "CLANG_HAVE_LIBXML=" ] 65 } 66 67 if (host_os == "mac") { 68 # FIXME: Hardcoding this isn't great, but assuming that the host ld version 69 # has anything to do with the ld version where the built clang will run 70 # isn't either. Probably want to make this a declare_args. 71 values += [ "HOST_LINK_VERSION=520" ] 72 } else { 73 values += [ "HOST_LINK_VERSION=" ] 74 } 75} 76