1static_library("Driver") { 2 output_name = "clangDriver" 3 configs += [ "//llvm/utils/gn/build:clang_code" ] 4 include_dirs = [ "." ] 5 deps = [ 6 "//clang/include/clang/Config", 7 8 # Driver doesn't depend on StaticAnalyzer and the other way round, but 9 # as of clang r311958 Driver does depend on StaticAnalyzer/Checkers's 10 # tablegen'd Checkers.inc. The CMake build runs all clang tablegen steps 11 # before all lib compilations via the clang-tablegen-targets target; the 12 # GN build has this dependency instead. 13 # FIXME: Move Checkers.td somewhere else to clean up this layering mess. 14 # See the review thread of r311958 for details. 15 "//clang/include/clang/StaticAnalyzer/Checkers", 16 "//clang/lib/Basic", 17 "//llvm/include/llvm/Config:llvm-config", 18 "//llvm/lib/BinaryFormat", 19 "//llvm/lib/Option", 20 "//llvm/lib/Support", 21 "//llvm/lib/TargetParser", 22 "//llvm/lib/WindowsDriver", 23 ] 24 public_deps = [ 25 # public_dep because public header Options.h includes generated Options.inc. 26 "//clang/include/clang/Driver:Options", 27 ] 28 if (host_os == "win") { 29 # MSVCToolChain.cpp uses version.dll. 30 libs = [ "version.lib" ] 31 } 32 sources = [ 33 "Action.cpp", 34 "Compilation.cpp", 35 "Distro.cpp", 36 "Driver.cpp", 37 "DriverOptions.cpp", 38 "Job.cpp", 39 "Multilib.cpp", 40 "OffloadBundler.cpp", 41 "OptionUtils.cpp", 42 "Phases.cpp", 43 "SanitizerArgs.cpp", 44 "Tool.cpp", 45 "ToolChain.cpp", 46 "ToolChains/AIX.cpp", 47 "ToolChains/AMDGPU.cpp", 48 "ToolChains/AMDGPUOpenMP.cpp", 49 "ToolChains/AVR.cpp", 50 "ToolChains/Ananas.cpp", 51 "ToolChains/Arch/AArch64.cpp", 52 "ToolChains/Arch/ARM.cpp", 53 "ToolChains/Arch/CSKY.cpp", 54 "ToolChains/Arch/LoongArch.cpp", 55 "ToolChains/Arch/M68k.cpp", 56 "ToolChains/Arch/Mips.cpp", 57 "ToolChains/Arch/PPC.cpp", 58 "ToolChains/Arch/RISCV.cpp", 59 "ToolChains/Arch/Sparc.cpp", 60 "ToolChains/Arch/SystemZ.cpp", 61 "ToolChains/Arch/VE.cpp", 62 "ToolChains/Arch/X86.cpp", 63 "ToolChains/BareMetal.cpp", 64 "ToolChains/CSKYToolChain.cpp", 65 "ToolChains/Clang.cpp", 66 "ToolChains/CloudABI.cpp", 67 "ToolChains/CommonArgs.cpp", 68 "ToolChains/Contiki.cpp", 69 "ToolChains/CrossWindows.cpp", 70 "ToolChains/Cuda.cpp", 71 "ToolChains/Darwin.cpp", 72 "ToolChains/DragonFly.cpp", 73 "ToolChains/Flang.cpp", 74 "ToolChains/FreeBSD.cpp", 75 "ToolChains/Fuchsia.cpp", 76 "ToolChains/Gnu.cpp", 77 "ToolChains/HIPAMD.cpp", 78 "ToolChains/HIPSPV.cpp", 79 "ToolChains/HIPUtility.cpp", 80 "ToolChains/HLSL.cpp", 81 "ToolChains/Haiku.cpp", 82 "ToolChains/Hexagon.cpp", 83 "ToolChains/Hurd.cpp", 84 "ToolChains/InterfaceStubs.cpp", 85 "ToolChains/Linux.cpp", 86 "ToolChains/MSP430.cpp", 87 "ToolChains/MSVC.cpp", 88 "ToolChains/MinGW.cpp", 89 "ToolChains/Minix.cpp", 90 "ToolChains/MipsLinux.cpp", 91 "ToolChains/Myriad.cpp", 92 "ToolChains/NaCl.cpp", 93 "ToolChains/NetBSD.cpp", 94 "ToolChains/OpenBSD.cpp", 95 "ToolChains/PPCFreeBSD.cpp", 96 "ToolChains/PPCLinux.cpp", 97 "ToolChains/PS4CPU.cpp", 98 "ToolChains/RISCVToolchain.cpp", 99 "ToolChains/SPIRV.cpp", 100 "ToolChains/Solaris.cpp", 101 "ToolChains/TCE.cpp", 102 "ToolChains/VEToolchain.cpp", 103 "ToolChains/WebAssembly.cpp", 104 "ToolChains/XCore.cpp", 105 "ToolChains/ZOS.cpp", 106 "Types.cpp", 107 "XRayArgs.cpp", 108 ] 109} 110