blob: a3c0d5a05242869af7e6abd9a97b97bcd01288e4 [file] [log] [blame]
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=",
"CLANG_ANALYZER_WITH_Z3=",
"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" ]
}