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 ] 22 public_deps = [ 23 # public_dep because public header Options.h includes generated Options.inc. 24 "//clang/include/clang/Driver:Options", 25 ] 26 if (host_os == "win") { 27 # MSVCToolChain.cpp uses version.dll. 28 libs = [ "version.lib" ] 29 } 30 sources = [ 31 "Action.cpp", 32 "Compilation.cpp", 33 "DarwinSDKInfo.cpp", 34 "Distro.cpp", 35 "Driver.cpp", 36 "DriverOptions.cpp", 37 "Job.cpp", 38 "Multilib.cpp", 39 "OptionUtils.cpp", 40 "Phases.cpp", 41 "SanitizerArgs.cpp", 42 "Tool.cpp", 43 "ToolChain.cpp", 44 "ToolChains/AIX.cpp", 45 "ToolChains/AMDGPU.cpp", 46 "ToolChains/AVR.cpp", 47 "ToolChains/Ananas.cpp", 48 "ToolChains/Arch/AArch64.cpp", 49 "ToolChains/Arch/ARM.cpp", 50 "ToolChains/Arch/Mips.cpp", 51 "ToolChains/Arch/PPC.cpp", 52 "ToolChains/Arch/RISCV.cpp", 53 "ToolChains/Arch/Sparc.cpp", 54 "ToolChains/Arch/SystemZ.cpp", 55 "ToolChains/Arch/X86.cpp", 56 "ToolChains/BareMetal.cpp", 57 "ToolChains/Clang.cpp", 58 "ToolChains/CloudABI.cpp", 59 "ToolChains/CommonArgs.cpp", 60 "ToolChains/Contiki.cpp", 61 "ToolChains/CrossWindows.cpp", 62 "ToolChains/Cuda.cpp", 63 "ToolChains/Darwin.cpp", 64 "ToolChains/DragonFly.cpp", 65 "ToolChains/Flang.cpp", 66 "ToolChains/FreeBSD.cpp", 67 "ToolChains/Fuchsia.cpp", 68 "ToolChains/Gnu.cpp", 69 "ToolChains/HIP.cpp", 70 "ToolChains/Haiku.cpp", 71 "ToolChains/Hexagon.cpp", 72 "ToolChains/Hurd.cpp", 73 "ToolChains/InterfaceStubs.cpp", 74 "ToolChains/Linux.cpp", 75 "ToolChains/MSP430.cpp", 76 "ToolChains/MSVC.cpp", 77 "ToolChains/MinGW.cpp", 78 "ToolChains/Minix.cpp", 79 "ToolChains/MipsLinux.cpp", 80 "ToolChains/Myriad.cpp", 81 "ToolChains/NaCl.cpp", 82 "ToolChains/NetBSD.cpp", 83 "ToolChains/OpenBSD.cpp", 84 "ToolChains/PPCLinux.cpp", 85 "ToolChains/PS4CPU.cpp", 86 "ToolChains/RISCVToolchain.cpp", 87 "ToolChains/Solaris.cpp", 88 "ToolChains/TCE.cpp", 89 "ToolChains/WebAssembly.cpp", 90 "ToolChains/XCore.cpp", 91 "Types.cpp", 92 "XRayArgs.cpp", 93 ] 94} 95