diff --git a/llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn b/llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn index a9a216d34e48..8dff4fb32810 100644 --- a/llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn +++ b/llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn @@ -1,363 +1,362 @@ import("//llvm/lib/Target/targets_string.gni") import("//llvm/utils/gn/build/buildflags.gni") import("//llvm/utils/gn/build/libs/pthread/enable.gni") import("//llvm/utils/gn/build/libs/terminfo/enable.gni") import("//llvm/utils/gn/build/libs/xml/enable.gni") import("//llvm/utils/gn/build/libs/zlib/enable.gni") import("//llvm/utils/gn/build/write_cmake_config.gni") import("//llvm/version.gni") action("write_extension_dependencies") { script = "//llvm/utils/gn/secondary/llvm/tools/llvm-config/write_extension_dependencies.py" outputs = [ "$target_gen_dir/ExtensionDependencies.inc" ] args = [ "-o", rebase_path(outputs[0], root_build_dir), ] } write_cmake_config("BuildVariables.inc") { input = "BuildVariables.inc.in" output = "$target_gen_dir/BuildVariables.inc" if (is_debug) { build_mode = "debug" } else { build_mode = "release" } # FIXME: Why doesn't llvm-config do this, why is this done in # llvm-config/CMakeLists.txt? if (host_os == "win") { l = "" lib = ".lib" } else { l = "-l" lib = "" } # Windows doesn't use any of libxml2,terminfo, zlib by default. # Make GN not warn about these variables being unused. not_needed([ "l", "lib", ]) system_libs = "" if (host_os == "win") { # libuuid required for FOLDERID_Profile usage in # lib/Support/Windows/Path.inc. # advapi32 required for CryptAcquireContextW in # lib/Support/Windows/Path.inc system_libs = "psapi.lib shell32.lib ole32.lib uuid.lib advapi32.lib" } else { system_libs += "-lm" if (host_os == "linux") { system_libs += " -lrt -ldl" } if (llvm_enable_threads) { system_libs += " -llibpthreads" if (host_os == "linux") { system_libs += " -latomic" } } } if (llvm_enable_libxml2) { system_libs += " ${l}xml2${lib}" } if (llvm_enable_terminfo) { system_libs += " ${l}ncurses${lib}" } if (llvm_enable_zlib) { system_libs += " ${l}z${lib}" } values = [ "LLVM_SRC_ROOT=" + rebase_path("//llvm"), "LLVM_OBJ_ROOT=" + rebase_path(root_out_dir), # FIXME: Only the bits needed to run LLVM's test are implemented. "LLVM_CPPFLAGS=.", # FIXME "LLVM_CFLAGS=.", # FIXME "LLVM_LDFLAGS=.", # FIXME "LLVM_CXXFLAGS=.", # FIXME "LLVM_BUILDMODE=$build_mode", "LLVM_LIBDIR_SUFFIX=", "LLVM_TARGETS_BUILT=$llvm_targets_to_build_string", "LLVM_SYSTEM_LIBS=$system_libs", "LLVM_BUILD_SYSTEM=gn", "LLVM_HAS_RTTI=0", "LLVM_BUILD_LLVM_DYLIB=0", "LLVM_LINK_LLVM_DYLIB=0", "BUILD_SHARED_LIBS=0", "LLVM_DYLIB_COMPONENTS_expanded=all", "LLVM_DYLIB_VERSION=${llvm_version_major}git", - "LLVM_HAS_GLOBAL_ISEL=1", "LLVM_TOOLS_INSTALL_DIR=", ] } # FIXME: It'd be nice to not depend on llvm-build on this, Depending on all the # LLVMBuild.txt files just for this seems a bit overkill. `gn desc` should # have all this information too and could be called at build time. # When this is removed, update llvm/test/BUILD.gn to no longer have unnecessary # deps on a couple llvm/lib/ targets. action("LibraryDependencies.inc") { script = "//llvm/utils/llvm-build/llvm-build" output = "$target_gen_dir/LibraryDependencies.inc" args = [ "--native-target=$native_target", "--enable-targets=$llvm_targets_to_build_string", "--write-library-table=" + rebase_path(output, root_out_dir), ] outputs = [ output ] # Listing all these sources isn't great. Ideally there'd be a depfile # written by the tool with all the imported .py files, and we'd # hand the LLVMBuild files to the tool in a rspfile and the tool # would verify that the list is complete. But since the plan is to # make this target not use llvm-build eventually, this is good enough. sources = [ "//llvm/utils/llvm-build/llvmbuild/__init__.py", "//llvm/utils/llvm-build/llvmbuild/componentinfo.py", "//llvm/utils/llvm-build/llvmbuild/main.py", "//llvm/utils/llvm-build/llvmbuild/util.py", # LLVMBuild.txt files. Obtained by adding `print(llvmbuild_path)` to # main.py in llvmbuild. (`find llvm -name LLVMBuild.txt` finds a few # more LLVMBuild.txt files that aren't referenced and are dead.) "//llvm/LLVMBuild.txt", "//llvm/bindings/LLVMBuild.txt", "//llvm/docs/LLVMBuild.txt", "//llvm/examples/LLVMBuild.txt", "//llvm/lib/Analysis/LLVMBuild.txt", "//llvm/lib/AsmParser/LLVMBuild.txt", "//llvm/lib/BinaryFormat/LLVMBuild.txt", "//llvm/lib/Bitcode/LLVMBuild.txt", "//llvm/lib/Bitcode/Reader/LLVMBuild.txt", "//llvm/lib/Bitcode/Writer/LLVMBuild.txt", "//llvm/lib/Bitstream/LLVMBuild.txt", "//llvm/lib/Bitstream/Reader/LLVMBuild.txt", "//llvm/lib/CodeGen/AsmPrinter/LLVMBuild.txt", "//llvm/lib/CodeGen/GlobalISel/LLVMBuild.txt", "//llvm/lib/CodeGen/LLVMBuild.txt", "//llvm/lib/CodeGen/MIRParser/LLVMBuild.txt", "//llvm/lib/CodeGen/SelectionDAG/LLVMBuild.txt", "//llvm/lib/DWARFLinker/LLVMBuild.txt", "//llvm/lib/DebugInfo/CodeView/LLVMBuild.txt", "//llvm/lib/DebugInfo/DWARF/LLVMBuild.txt", "//llvm/lib/DebugInfo/GSYM/LLVMBuild.txt", "//llvm/lib/DebugInfo/LLVMBuild.txt", "//llvm/lib/DebugInfo/MSF/LLVMBuild.txt", "//llvm/lib/DebugInfo/PDB/LLVMBuild.txt", "//llvm/lib/DebugInfo/Symbolize/LLVMBuild.txt", "//llvm/lib/Demangle/LLVMBuild.txt", "//llvm/lib/ExecutionEngine/IntelJITEvents/LLVMBuild.txt", "//llvm/lib/ExecutionEngine/Interpreter/LLVMBuild.txt", "//llvm/lib/ExecutionEngine/JITLink/LLVMBuild.txt", "//llvm/lib/ExecutionEngine/LLVMBuild.txt", "//llvm/lib/ExecutionEngine/MCJIT/LLVMBuild.txt", "//llvm/lib/ExecutionEngine/OProfileJIT/LLVMBuild.txt", "//llvm/lib/ExecutionEngine/Orc/LLVMBuild.txt", "//llvm/lib/ExecutionEngine/OrcError/LLVMBuild.txt", "//llvm/lib/ExecutionEngine/PerfJITEvents/LLVMBuild.txt", "//llvm/lib/ExecutionEngine/RuntimeDyld/LLVMBuild.txt", "//llvm/lib/Extensions/LLVMBuild.txt", "//llvm/lib/Frontend/LLVMBuild.txt", "//llvm/lib/Frontend/OpenMP/LLVMBuild.txt", "//llvm/lib/FuzzMutate/LLVMBuild.txt", "//llvm/lib/IR/LLVMBuild.txt", "//llvm/lib/IRReader/LLVMBuild.txt", "//llvm/lib/LLVMBuild.txt", "//llvm/lib/LTO/LLVMBuild.txt", "//llvm/lib/LineEditor/LLVMBuild.txt", "//llvm/lib/Linker/LLVMBuild.txt", "//llvm/lib/MC/LLVMBuild.txt", "//llvm/lib/MC/MCDisassembler/LLVMBuild.txt", "//llvm/lib/MC/MCParser/LLVMBuild.txt", "//llvm/lib/MCA/LLVMBuild.txt", "//llvm/lib/Object/LLVMBuild.txt", "//llvm/lib/ObjectYAML/LLVMBuild.txt", "//llvm/lib/Option/LLVMBuild.txt", "//llvm/lib/Passes/LLVMBuild.txt", "//llvm/lib/ProfileData/Coverage/LLVMBuild.txt", "//llvm/lib/ProfileData/LLVMBuild.txt", "//llvm/lib/Remarks/LLVMBuild.txt", "//llvm/lib/Support/LLVMBuild.txt", "//llvm/lib/TableGen/LLVMBuild.txt", "//llvm/lib/Target/AArch64/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/AArch64/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/AArch64/LLVMBuild.txt", "//llvm/lib/Target/AArch64/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/AArch64/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/AArch64/Utils/LLVMBuild.txt", "//llvm/lib/Target/AMDGPU/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/AMDGPU/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/AMDGPU/LLVMBuild.txt", "//llvm/lib/Target/AMDGPU/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/AMDGPU/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/AMDGPU/Utils/LLVMBuild.txt", "//llvm/lib/Target/ARC/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/ARC/LLVMBuild.txt", "//llvm/lib/Target/ARC/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/ARC/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/ARM/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/ARM/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/ARM/LLVMBuild.txt", "//llvm/lib/Target/ARM/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/ARM/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/ARM/Utils/LLVMBuild.txt", "//llvm/lib/Target/AVR/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/AVR/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/AVR/LLVMBuild.txt", "//llvm/lib/Target/AVR/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/AVR/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/BPF/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/BPF/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/BPF/LLVMBuild.txt", "//llvm/lib/Target/BPF/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/BPF/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/Hexagon/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/Hexagon/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/Hexagon/LLVMBuild.txt", "//llvm/lib/Target/Hexagon/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/Hexagon/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/LLVMBuild.txt", "//llvm/lib/Target/Lanai/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/Lanai/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/Lanai/LLVMBuild.txt", "//llvm/lib/Target/Lanai/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/Lanai/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/MSP430/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/MSP430/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/MSP430/LLVMBuild.txt", "//llvm/lib/Target/MSP430/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/MSP430/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/Mips/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/Mips/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/Mips/LLVMBuild.txt", "//llvm/lib/Target/Mips/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/Mips/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/NVPTX/LLVMBuild.txt", "//llvm/lib/Target/NVPTX/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/NVPTX/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/PowerPC/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/PowerPC/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/PowerPC/LLVMBuild.txt", "//llvm/lib/Target/PowerPC/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/PowerPC/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/RISCV/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/RISCV/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/RISCV/LLVMBuild.txt", "//llvm/lib/Target/RISCV/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/RISCV/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/RISCV/Utils/LLVMBuild.txt", "//llvm/lib/Target/Sparc/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/Sparc/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/Sparc/LLVMBuild.txt", "//llvm/lib/Target/Sparc/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/Sparc/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/SystemZ/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/SystemZ/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/SystemZ/LLVMBuild.txt", "//llvm/lib/Target/SystemZ/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/SystemZ/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/VE/LLVMBuild.txt", "//llvm/lib/Target/VE/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/VE/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/WebAssembly/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/WebAssembly/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/WebAssembly/LLVMBuild.txt", "//llvm/lib/Target/WebAssembly/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/WebAssembly/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/X86/AsmParser/LLVMBuild.txt", "//llvm/lib/Target/X86/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/X86/LLVMBuild.txt", "//llvm/lib/Target/X86/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/X86/TargetInfo/LLVMBuild.txt", "//llvm/lib/Target/XCore/Disassembler/LLVMBuild.txt", "//llvm/lib/Target/XCore/LLVMBuild.txt", "//llvm/lib/Target/XCore/MCTargetDesc/LLVMBuild.txt", "//llvm/lib/Target/XCore/TargetInfo/LLVMBuild.txt", "//llvm/lib/Testing/LLVMBuild.txt", "//llvm/lib/Testing/Support/LLVMBuild.txt", "//llvm/lib/TextAPI/LLVMBuild.txt", "//llvm/lib/ToolDrivers/LLVMBuild.txt", "//llvm/lib/ToolDrivers/llvm-dlltool/LLVMBuild.txt", "//llvm/lib/ToolDrivers/llvm-lib/LLVMBuild.txt", "//llvm/lib/Transforms/AggressiveInstCombine/LLVMBuild.txt", "//llvm/lib/Transforms/CFGuard/LLVMBuild.txt", "//llvm/lib/Transforms/Coroutines/LLVMBuild.txt", "//llvm/lib/Transforms/IPO/LLVMBuild.txt", "//llvm/lib/Transforms/InstCombine/LLVMBuild.txt", "//llvm/lib/Transforms/Instrumentation/LLVMBuild.txt", "//llvm/lib/Transforms/LLVMBuild.txt", "//llvm/lib/Transforms/ObjCARC/LLVMBuild.txt", "//llvm/lib/Transforms/Scalar/LLVMBuild.txt", "//llvm/lib/Transforms/Utils/LLVMBuild.txt", "//llvm/lib/Transforms/Vectorize/LLVMBuild.txt", "//llvm/lib/WindowsManifest/LLVMBuild.txt", "//llvm/lib/XRay/LLVMBuild.txt", "//llvm/projects/LLVMBuild.txt", "//llvm/tools/LLVMBuild.txt", "//llvm/tools/bugpoint/LLVMBuild.txt", "//llvm/tools/dsymutil/LLVMBuild.txt", "//llvm/tools/llc/LLVMBuild.txt", "//llvm/tools/lli/ChildTarget/LLVMBuild.txt", "//llvm/tools/lli/LLVMBuild.txt", "//llvm/tools/llvm-ar/LLVMBuild.txt", "//llvm/tools/llvm-as/LLVMBuild.txt", "//llvm/tools/llvm-bcanalyzer/LLVMBuild.txt", "//llvm/tools/llvm-cat/LLVMBuild.txt", "//llvm/tools/llvm-cfi-verify/LLVMBuild.txt", "//llvm/tools/llvm-cov/LLVMBuild.txt", "//llvm/tools/llvm-cvtres/LLVMBuild.txt", "//llvm/tools/llvm-diff/LLVMBuild.txt", "//llvm/tools/llvm-dis/LLVMBuild.txt", "//llvm/tools/llvm-dwarfdump/LLVMBuild.txt", "//llvm/tools/llvm-dwp/LLVMBuild.txt", "//llvm/tools/llvm-elfabi/LLVMBuild.txt", "//llvm/tools/llvm-exegesis/LLVMBuild.txt", "//llvm/tools/llvm-extract/LLVMBuild.txt", "//llvm/tools/llvm-ifs/LLVMBuild.txt", "//llvm/tools/llvm-jitlink/LLVMBuild.txt", "//llvm/tools/llvm-jitlistener/LLVMBuild.txt", "//llvm/tools/llvm-link/LLVMBuild.txt", "//llvm/tools/llvm-lto/LLVMBuild.txt", "//llvm/tools/llvm-mc/LLVMBuild.txt", "//llvm/tools/llvm-mca/LLVMBuild.txt", "//llvm/tools/llvm-modextract/LLVMBuild.txt", "//llvm/tools/llvm-mt/LLVMBuild.txt", "//llvm/tools/llvm-nm/LLVMBuild.txt", "//llvm/tools/llvm-objcopy/LLVMBuild.txt", "//llvm/tools/llvm-objdump/LLVMBuild.txt", "//llvm/tools/llvm-pdbutil/LLVMBuild.txt", "//llvm/tools/llvm-profdata/LLVMBuild.txt", "//llvm/tools/llvm-rc/LLVMBuild.txt", "//llvm/tools/llvm-reduce/LLVMBuild.txt", "//llvm/tools/llvm-rtdyld/LLVMBuild.txt", "//llvm/tools/llvm-size/LLVMBuild.txt", "//llvm/tools/llvm-split/LLVMBuild.txt", "//llvm/tools/llvm-undname/LLVMBuild.txt", "//llvm/tools/opt/LLVMBuild.txt", "//llvm/tools/verify-uselistorder/LLVMBuild.txt", "//llvm/utils/LLVMBuild.txt", "//llvm/utils/TableGen/LLVMBuild.txt", "//llvm/utils/unittest/LLVMBuild.txt", ] } executable("llvm-config") { deps = [ ":BuildVariables.inc", ":LibraryDependencies.inc", ":write_extension_dependencies", "//llvm/include/llvm/Config:config", "//llvm/include/llvm/Config:llvm-config", "//llvm/lib/Support", ] # To pick up the generated inc files. include_dirs = [ "$target_gen_dir" ] sources = [ "llvm-config.cpp" ] }