| import("//clang/lib/ARCMigrate/enable.gni") |
| import("//clang/lib/StaticAnalyzer/Frontend/enable.gni") |
| import("//llvm/utils/gn/build/libs/xml/enable.gni") |
| import("//llvm/utils/gn/build/write_cmake_config.gni") |
| import("//llvm/version.gni") |
| |
| config("Config_config") { |
| visibility = [ ":Config" ] |
| include_dirs = [ "$target_gen_dir/clang/include" ] |
| } |
| |
| write_cmake_config("Config") { |
| input = "config.h.cmake" |
| output = "$target_gen_dir/config.h" |
| values = [ |
| "BUG_REPORT_URL=https://bugs.llvm.org/", |
| "CLANG_DEFAULT_LINKER=", |
| "CLANG_DEFAULT_STD_C=", |
| "CLANG_DEFAULT_STD_CXX=", |
| "CLANG_DEFAULT_CXX_STDLIB=", |
| "CLANG_DEFAULT_RTLIB=", |
| "CLANG_DEFAULT_OBJCOPY=objcopy", |
| "CLANG_DEFAULT_OPENMP_RUNTIME=libomp", |
| "CLANG_OPENMP_NVPTX_DEFAULT_ARCH=sm_35", |
| "CLANG_LIBDIR_SUFFIX=", |
| "CLANG_RESOURCE_DIR=", |
| "C_INCLUDE_DIRS=", |
| "CLANG_CONFIG_FILE_SYSTEM_DIR=", |
| "CLANG_CONFIG_FILE_USER_DIR=", |
| "DEFAULT_SYSROOT=", |
| "GCC_INSTALL_PREFIX=", |
| "BACKEND_PACKAGE_STRING=LLVM ${llvm_version}svn", |
| "ENABLE_LINKER_BUILD_ID=", |
| "ENABLE_X86_RELAX_RELOCATIONS=", |
| "ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=", |
| "CLANG_ENABLE_OBJC_REWRITER=1", # FIXME: flag? |
| ] |
| |
| if (clang_enable_arcmt) { |
| values += [ "CLANG_ENABLE_ARCMT=1" ] |
| } else { |
| values += [ "CLANG_ENABLE_ARCMT=" ] |
| } |
| |
| if (clang_enable_static_analyzer) { |
| values += [ "CLANG_ENABLE_STATIC_ANALYZER=1" ] |
| } else { |
| values += [ "CLANG_ENABLE_STATIC_ANALYZER=" ] |
| } |
| |
| if (host_os != "win") { |
| values += [ "CLANG_HAVE_RLIMITS=1" ] |
| } else { |
| values += [ "CLANG_HAVE_RLIMITS=" ] |
| } |
| |
| if (llvm_enable_libxml2) { |
| values += [ "CLANG_HAVE_LIBXML=1" ] |
| } else { |
| values += [ "CLANG_HAVE_LIBXML=" ] |
| } |
| |
| if (host_os == "mac") { |
| # FIXME: Hardcoding this isn't great, but assuming that the host ld version |
| # has anything to do with the ld version where the built clang will run |
| # isn't either. Probably want to make this a declare_args. |
| values += [ "HOST_LINK_VERSION=305" ] |
| } else { |
| values += [ "HOST_LINK_VERSION=" ] |
| } |
| |
| # Let targets depending on this find the generated file. |
| public_configs = [ ":Config_config" ] |
| } |