text: def generated_cmake_targets(ctx):
      ctx = ctx.enter_directory(ctx, "")
      ctx.set(ctx, "LLVM_ALL_PROJECTS", "clang;clang-tools-extra;compiler-rt;debuginfo-tests;libclc;libcxx;libcxxabi;libunwind;lld;lldb;llgo;openmp;parallel-libs;polly;pstl")
      ctx.set(ctx, "LLVM_ENABLE_PROJECTS", "", "CACHE", "STRING", "Semicolon-separated list of projects to build (), or \\\"all\\\".")
      ctx.set(ctx, "LLVM_ENABLE_PROJECTS_USED", "OFF", "CACHE", "BOOL", "")
      ctx.set(ctx, "LLVM_CCACHE_BUILD", "OFF", "CACHE", "BOOL", "Set to ON for a ccache enabled build")
      ctx.set(ctx, "CMAKE_MODULE_PATH", "", "//cmake", "//cmake/modules")
      ctx.set(ctx, "CMAKE_EXPORT_COMPILE_COMMANDS", "1")
      ctx.set(ctx, "PACKAGE_NAME", "LLVM")
      ctx.set(ctx, "PACKAGE_STRING", " ")
      ctx.set(ctx, "PACKAGE_BUGREPORT", "https://bugs.llvm.org/")
      ctx.set(ctx, "BUG_REPORT_URL", "", "CACHE", "STRING", "Default URL where bug reports are to be submitted.")
      ctx.set(ctx, "CPACK_PACKAGE_INSTALL_DIRECTORY", "LLVM")
      ctx.set(ctx, "CPACK_PACKAGE_VENDOR", "LLVM")
      ctx.set(ctx, "CPACK_PACKAGE_VERSION_MAJOR", "")
      ctx.set(ctx, "CPACK_PACKAGE_VERSION_MINOR", "")
      ctx.set(ctx, "CPACK_PACKAGE_VERSION_PATCH", "")
      ctx.set(ctx, "CPACK_PACKAGE_VERSION", "")
      ctx.set(ctx, "CPACK_RESOURCE_FILE_LICENSE", "//LICENSE.TXT")
      ctx.set(ctx, "CPACK_NSIS_COMPRESSOR", "/SOLID lzma \\r\\n SetCompressorDictSize 32")
      ctx.set(ctx, "LLVM_LIBDIR_SUFFIX", "", "CACHE", "STRING", "Define suffix of library directory name (32/64)")
      ctx.set(ctx, "LLVM_TOOLS_INSTALL_DIR", "bin", "CACHE", "STRING", "Path for binary subdirectory (defaults to 'bin')")
      ctx.set(ctx, "LLVM_UTILS_INSTALL_DIR", "", "CACHE", "STRING", "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to LLVM_TOOLS_INSTALL_DIR)")
      ctx.set(ctx, "LLVM_RUNTIME_OUTPUT_INTDIR", "///bin")
      ctx.set(ctx, "LLVM_LIBRARY_OUTPUT_INTDIR", "///lib")
      ctx.set(ctx, "LLVM_TOOLS_BINARY_DIR", "")
      ctx.set(ctx, "LLVM_LIBRARY_DIR", "")
      ctx.set(ctx, "LLVM_MAIN_SRC_DIR", "/")
      ctx.set(ctx, "LLVM_MAIN_INCLUDE_DIR", "/include")
      ctx.set(ctx, "LLVM_BINARY_DIR", "/")
      ctx.set(ctx, "LLVM_CMAKE_PATH", "/cmake/modules")
      ctx.set(ctx, "LLVM_EXAMPLES_BINARY_DIR", "/examples")
      ctx.set(ctx, "LLVM_INCLUDE_DIR", "//include")
      ctx.set(ctx, "LLVM_ALL_TARGETS", "AArch64", "AMDGPU", "ARM", "BPF", "Hexagon", "Lanai", "Mips", "MSP430", "NVPTX", "PowerPC", "Sparc", "SystemZ", "WebAssembly", "X86", "XCore")
      ctx.set(ctx, "LLVM_TARGETS_WITH_JIT", "X86", "PowerPC", "AArch64", "ARM", "Mips", "SystemZ")
      ctx.set(ctx, "LLVM_TARGETS_TO_BUILD", "all", "CACHE", "STRING", "Semicolon-separated list of targets to build, or \\\"all\\\".")
      ctx.set(ctx, "LLVM_EXPERIMENTAL_TARGETS_TO_BUILD", "", "CACHE", "STRING", "Semicolon-separated list of experimental targets to build.")
      ctx.set(ctx, "FFI_LIBRARY_DIR", "", "CACHE", "PATH", "Additional directory, where CMake should search for libffi.so")
      ctx.set(ctx, "FFI_INCLUDE_DIR", "", "CACHE", "PATH", "Additional directory, where CMake should search for ffi.h or ffi/ffi.h")
      ctx.set(ctx, "LLVM_TARGET_ARCH", "host", "CACHE", "STRING", "Set target to use for LLVM JIT or use \\\"host\\\" for automatic detection.")
      ctx.set(ctx, "LLVM_ENABLE_LIBXML2", "ON", "CACHE", "STRING", "Use libxml2 if available. Can be ON, OFF, or FORCE_ON")
      ctx.set(ctx, "LLVM_Z3_INSTALL_DIR", "", "CACHE", "STRING", "Install directory of the Z3 solver.")
      ctx.set(ctx, "LLVM_ENABLE_Z3_SOLVER_DEFAULT", "")
      ctx.set(ctx, "LLVM_TARGETS_TO_BUILD", "", "")
      ctx.set(ctx, "LLVM_ABI_BREAKING_CHECKS", "WITH_ASSERTS", "CACHE", "STRING", "Enable abi-breaking checks.  Can be WITH_ASSERTS, FORCE_ON or FORCE_OFF.")
      ctx.set(ctx, "LLVM_CODESIGNING_IDENTITY", "", "CACHE", "STRING", "Sign executables and dylibs with the given identity or skip if empty (Darwin Only)")
      ctx.set(ctx, "LLVM_USE_SANITIZER", "", "CACHE", "STRING", "Define the sanitizer used to build binaries and tests.")
      ctx.set(ctx, "LLVM_LIB_FUZZING_ENGINE", "", "CACHE", "PATH", "Path to fuzzing library for linking with fuzz targets")
      ctx.set(ctx, "LIT_ARGS_DEFAULT", "-sv")
      ctx.set(ctx, "LLVM_LIT_ARGS", "", "CACHE", "STRING", "Default options for lit")
      ctx.set(ctx, "LLVM_INSTALL_DOXYGEN_HTML_DIR", "share/doc/llvm/doxygen-html", "CACHE", "STRING", "Doxygen-generated HTML documentation install directory")
      ctx.set(ctx, "LLVM_INSTALL_OCAMLDOC_HTML_DIR", "share/doc/llvm/ocaml-html", "CACHE", "STRING", "OCamldoc-generated HTML documentation install directory")
      ctx.set(ctx, "LLVM_BUILD_LLVM_DYLIB_default", "OFF")
      ctx.set(ctx, "LLVM_TARGET_TRIPLE_ENV", "CACHE", "STRING", "The name of environment variable to override default target. Disabled by blank.")
      ctx.set(ctx, "LLVM_ENABLE_PER_TARGET_RUNTIME_DIR", "OFF", "CACHE", "BOOL", "Enable per-target runtimes directory")
      ctx.set(ctx, "LLVM_DEFAULT_TARGET_TRIPLE", "", "CACHE", "STRING", "Default target for which LLVM will generate code.")
      ctx.set(ctx, "TARGET_TRIPLE", "")
      ctx.set(ctx, "Python_ADDITIONAL_VERSIONS", "2.7")
      ctx.set(ctx, "LLVMBUILDTOOL", "/utils/llvm-build/llvm-build")
      ctx.set(ctx, "LLVMCONFIGLIBRARYDEPENDENCIESINC", "/tools/llvm-config/LibraryDependencies.inc")
      ctx.set(ctx, "LLVMBUILDCMAKEFRAG", "/LLVMBuild.cmake")
      ctx.set(ctx, "LLVM_ENUM_TARGETS", "")
      ctx.set(ctx, "LLVM_ENUM_ASM_PRINTERS", "")
      ctx.set(ctx, "LLVM_ENUM_ASM_PARSERS", "")
      ctx.set(ctx, "LLVM_ENUM_DISASSEMBLERS", "")
      ctx.configure_file(ctx, "/include/llvm/Config/AsmPrinters.def.in", "/include/llvm/Config/AsmPrinters.def")
      ctx.configure_file(ctx, "/include/llvm/Config/AsmParsers.def.in", "/include/llvm/Config/AsmParsers.def")
      ctx.configure_file(ctx, "/include/llvm/Config/Disassemblers.def.in", "/include/llvm/Config/Disassemblers.def")
      ctx.configure_file(ctx, "/include/llvm/Config/Targets.def.in", "/include/llvm/Config/Targets.def")
      ctx.configure_file(ctx, "/include/llvm/Config/config.h.cmake", "/include/llvm/Config/config.h")
      ctx.configure_file(ctx, "/include/llvm/Config/llvm-config.h.cmake", "/include/llvm/Config/llvm-config.h")
      ctx.configure_file(ctx, "/include/llvm/Config/abi-breaking.h.cmake", "/include/llvm/Config/abi-breaking.h")
      ctx.set(ctx, "LLVM_SRPM_USER_BINARY_SPECFILE", "//llvm.spec.in", "CACHE", "FILEPATH", ".spec file to use for srpm generation")
      ctx.set(ctx, "LLVM_SRPM_BINARY_SPECFILE", "//llvm.spec")
      ctx.set(ctx, "LLVM_SRPM_DIR", "//srpm")
      ctx.configure_file(ctx, "", "", "@ONLY")
      ctx.set(ctx, "CMAKE_RUNTIME_OUTPUT_DIRECTORY", "/bin")
      ctx.set(ctx, "CMAKE_LIBRARY_OUTPUT_DIRECTORY", "/lib")
      ctx.set(ctx, "CMAKE_ARCHIVE_OUTPUT_DIRECTORY", "/lib")
      ctx.set(ctx, "CMAKE_INCLUDE_CURRENT_DIR", "ON")
      ctx.set(ctx, "CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS", "")
      ctx.set(ctx, "LLVM_PROFDATA_FILE", "", "CACHE", "FILEPATH", "Profiling data file to use when compiling in order to improve runtime performance.")
      ctx = ctx.enter_directory(ctx, "lib/Demangle")
      ctx.add_llvm_library(ctx, "LLVMDemangle", "Demangle.cpp", "ItaniumDemangle.cpp", "MicrosoftDemangle.cpp", "MicrosoftDemangleNodes.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Demangle")
      ctx = ctx.exit_directory(ctx, "lib/Demangle")
      ctx = ctx.enter_directory(ctx, "lib/Support")
      ctx.set(ctx, "system_libs")
      ctx.set(ctx, "delayload_flags")
      ctx.add_llvm_library(ctx, "LLVMSupport", "AArch64TargetParser.cpp", "ARMTargetParser.cpp", "AMDGPUMetadata.cpp", "APFloat.cpp", "APInt.cpp", "APSInt.cpp", "ARMBuildAttrs.cpp", "ARMAttributeParser.cpp", "ARMWinEH.cpp", "Allocator.cpp", "BinaryStreamError.cpp", "BinaryStreamReader.cpp", "BinaryStreamRef.cpp", "BinaryStreamWriter.cpp", "BlockFrequency.cpp", "BranchProbability.cpp", "BuryPointer.cpp", "CachePruning.cpp", "circular_raw_ostream.cpp", "Chrono.cpp", "COM.cpp", "CodeGenCoverage.cpp", "CommandLine.cpp", "Compression.cpp", "CRC.cpp", "ConvertUTF.cpp", "ConvertUTFWrapper.cpp", "CrashRecoveryContext.cpp", "DataExtractor.cpp", "Debug.cpp", "DebugCounter.cpp", "DeltaAlgorithm.cpp", "DAGDeltaAlgorithm.cpp", "DJB.cpp", "Error.cpp", "ErrorHandling.cpp", "FileCheck.cpp", "FileUtilities.cpp", "FileOutputBuffer.cpp", "FoldingSet.cpp", "FormattedStream.cpp", "FormatVariadic.cpp", "GlobPattern.cpp", "GraphWriter.cpp", "Hashing.cpp", "InitLLVM.cpp", "IntEqClasses.cpp", "IntervalMap.cpp", "ItaniumManglingCanonicalizer.cpp", "JamCRC.cpp", "JSON.cpp", "KnownBits.cpp", "LEB128.cpp", "LineIterator.cpp", "Locale.cpp", "LockFileManager.cpp", "LowLevelType.cpp", "ManagedStatic.cpp", "MathExtras.cpp", "MemoryBuffer.cpp", "MD5.cpp", "NativeFormatting.cpp", "Optional.cpp", "Options.cpp", "Parallel.cpp", "PluginLoader.cpp", "PrettyStackTrace.cpp", "RandomNumberGenerator.cpp", "Regex.cpp", "ScaledNumber.cpp", "ScopedPrinter.cpp", "SHA1.cpp", "Signposts.cpp", "SmallPtrSet.cpp", "SmallVector.cpp", "SourceMgr.cpp", "SpecialCaseList.cpp", "Statistic.cpp", "StringExtras.cpp", "StringMap.cpp", "StringPool.cpp", "StringSaver.cpp", "StringRef.cpp", "SymbolRemappingReader.cpp", "SystemUtils.cpp", "TarWriter.cpp", "TargetParser.cpp", "ThreadPool.cpp", "TimeProfiler.cpp", "Timer.cpp", "ToolOutputFile.cpp", "TrigramIndex.cpp", "Triple.cpp", "Twine.cpp", "Unicode.cpp", "UnicodeCaseFold.cpp", "VersionTuple.cpp", "VirtualFileSystem.cpp", "WithColor.cpp", "YAMLParser.cpp", "YAMLTraits.cpp", "raw_os_ostream.cpp", "raw_ostream.cpp", "regcomp.c", "regerror.c", "regexec.c", "regfree.c", "regstrlcpy.c", "xxhash.cpp", "Z3Solver.cpp", "Atomic.cpp", "DynamicLibrary.cpp", "Errno.cpp", "Host.cpp", "Memory.cpp", "Mutex.cpp", "Path.cpp", "Process.cpp", "Program.cpp", "RWMutex.cpp", "Signals.cpp", "TargetRegistry.cpp", "ThreadLocal.cpp", "Threading.cpp", "Valgrind.cpp", "Watchdog.cpp", "ADDITIONAL_HEADER_DIRS", "Unix", "Windows", "/include/llvm/ADT", "/include/llvm/Support", "", "LINK_LIBS", "", "", "")
      ctx = ctx.exit_directory(ctx, "lib/Support")
      ctx = ctx.enter_directory(ctx, "lib/TableGen")
      ctx.add_llvm_library(ctx, "LLVMTableGen", "Error.cpp", "JSONBackend.cpp", "Main.cpp", "Record.cpp", "SetTheory.cpp", "StringMatcher.cpp", "TableGenBackend.cpp", "TGLexer.cpp", "TGParser.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/TableGen")
      ctx = ctx.exit_directory(ctx, "lib/TableGen")
      ctx = ctx.enter_directory(ctx, "utils/TableGen")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx.add_tablegen(ctx, "llvm-tblgen", "LLVM", "AsmMatcherEmitter.cpp", "AsmWriterEmitter.cpp", "AsmWriterInst.cpp", "Attributes.cpp", "CallingConvEmitter.cpp", "CodeEmitterGen.cpp", "CodeGenDAGPatterns.cpp", "CodeGenHwModes.cpp", "CodeGenInstruction.cpp", "CodeGenMapTable.cpp", "CodeGenRegisters.cpp", "CodeGenSchedule.cpp", "CodeGenTarget.cpp", "DAGISelEmitter.cpp", "DAGISelMatcherEmitter.cpp", "DAGISelMatcherGen.cpp", "DAGISelMatcherOpt.cpp", "DAGISelMatcher.cpp", "DFAPacketizerEmitter.cpp", "DisassemblerEmitter.cpp", "ExegesisEmitter.cpp", "FastISelEmitter.cpp", "FixedLenDecoderEmitter.cpp", "GlobalISelEmitter.cpp", "InfoByHwMode.cpp", "InstrInfoEmitter.cpp", "InstrDocsEmitter.cpp", "IntrinsicEmitter.cpp", "OptParserEmitter.cpp", "PredicateExpander.cpp", "PseudoLoweringEmitter.cpp", "RISCVCompressInstEmitter.cpp", "RegisterBankEmitter.cpp", "RegisterInfoEmitter.cpp", "SDNodeProperties.cpp", "SearchableTableEmitter.cpp", "SubtargetEmitter.cpp", "SubtargetFeatureInfo.cpp", "TableGen.cpp", "Types.cpp", "X86DisassemblerTables.cpp", "X86EVEX2VEXTablesEmitter.cpp", "X86FoldTablesEmitter.cpp", "X86ModRMFilters.cpp", "X86RecognizableInstr.cpp", "WebAssemblyDisassemblerEmitter.cpp", "CTagsEmitter.cpp")
      ctx = ctx.exit_directory(ctx, "utils/TableGen")
      ctx = ctx.enter_directory(ctx, "include/llvm")
      ctx = ctx.enter_directory(ctx, "IR")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "Attributes.td")
      ctx.tablegen(ctx, "LLVM", "Attributes.inc", "-gen-attrs")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "Intrinsics.td")
      ctx.tablegen(ctx, "LLVM", "IntrinsicEnums.inc", "-gen-intrinsic-enums")
      ctx.tablegen(ctx, "LLVM", "IntrinsicImpl.inc", "-gen-intrinsic-impl")
      ctx.add_public_tablegen_target(ctx, "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "IR")
      ctx = ctx.enter_directory(ctx, "Support")
      ctx.set(ctx, "version_inc", "/include/llvm/Support/VCSRevision.h")
      ctx.set(ctx, "generate_vcs_version_script", "/GenerateVersionFromVCS.cmake")
      ctx = ctx.exit_directory(ctx, "Support")
      ctx = ctx.exit_directory(ctx, "include/llvm")
      ctx = ctx.enter_directory(ctx, "lib")
      ctx = ctx.enter_directory(ctx, "IR")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "AttributesCompatFunc.td")
      ctx.tablegen(ctx, "LLVM", "AttributesCompatFunc.inc", "-gen-attrs")
      ctx.add_public_tablegen_target(ctx, "AttributeCompatFuncTableGen")
      ctx.add_llvm_library(ctx, "LLVMCore", "AbstractCallSite.cpp", "AsmWriter.cpp", "Attributes.cpp", "AutoUpgrade.cpp", "BasicBlock.cpp", "Comdat.cpp", "ConstantFold.cpp", "ConstantRange.cpp", "Constants.cpp", "Core.cpp", "DIBuilder.cpp", "DataLayout.cpp", "DebugInfo.cpp", "DebugInfoMetadata.cpp", "DebugLoc.cpp", "DiagnosticHandler.cpp", "DiagnosticInfo.cpp", "DiagnosticPrinter.cpp", "Dominators.cpp", "Function.cpp", "GVMaterializer.cpp", "Globals.cpp", "IRBuilder.cpp", "IRPrintingPasses.cpp", "InlineAsm.cpp", "Instruction.cpp", "Instructions.cpp", "IntrinsicInst.cpp", "LLVMContext.cpp", "LLVMContextImpl.cpp", "LegacyPassManager.cpp", "MDBuilder.cpp", "Mangler.cpp", "Metadata.cpp", "Module.cpp", "ModuleSummaryIndex.cpp", "Operator.cpp", "OptBisect.cpp", "Pass.cpp", "PassInstrumentation.cpp", "PassManager.cpp", "PassRegistry.cpp", "PassTimingInfo.cpp", "RemarkStreamer.cpp", "SafepointIRVerifier.cpp", "ProfileSummary.cpp", "Statepoint.cpp", "Type.cpp", "TypeFinder.cpp", "Use.cpp", "User.cpp", "Value.cpp", "ValueSymbolTable.cpp", "Verifier.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/IR", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "IR")
      ctx = ctx.enter_directory(ctx, "FuzzMutate")
      ctx.add_llvm_library(ctx, "LLVMFuzzMutate", "FuzzerCLI.cpp", "IRMutator.cpp", "OpDescriptor.cpp", "Operations.cpp", "RandomIRBuilder.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/FuzzMutate", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "FuzzMutate")
      ctx = ctx.enter_directory(ctx, "IRReader")
      ctx.add_llvm_library(ctx, "LLVMIRReader", "IRReader.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/IRReader", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "IRReader")
      ctx = ctx.enter_directory(ctx, "CodeGen")
      ctx.add_llvm_library(ctx, "LLVMCodeGen", "AggressiveAntiDepBreaker.cpp", "AllocationOrder.cpp", "Analysis.cpp", "AtomicExpandPass.cpp", "BasicTargetTransformInfo.cpp", "BranchFolding.cpp", "BranchRelaxation.cpp", "BreakFalseDeps.cpp", "BuiltinGCs.cpp", "CalcSpillWeights.cpp", "CallingConvLower.cpp", "CFIInstrInserter.cpp", "CodeGen.cpp", "CodeGenPrepare.cpp", "CriticalAntiDepBreaker.cpp", "DeadMachineInstructionElim.cpp", "DetectDeadLanes.cpp", "DFAPacketizer.cpp", "DwarfEHPrepare.cpp", "EarlyIfConversion.cpp", "EdgeBundles.cpp", "ExecutionDomainFix.cpp", "ExpandISelPseudos.cpp", "ExpandMemCmp.cpp", "ExpandPostRAPseudos.cpp", "ExpandReductions.cpp", "FaultMaps.cpp", "FEntryInserter.cpp", "FuncletLayout.cpp", "GCMetadata.cpp", "GCMetadataPrinter.cpp", "GCRootLowering.cpp", "GCStrategy.cpp", "GlobalMerge.cpp", "IfConversion.cpp", "ImplicitNullChecks.cpp", "IndirectBrExpandPass.cpp", "InlineSpiller.cpp", "InterferenceCache.cpp", "InterleavedAccessPass.cpp", "InterleavedLoadCombinePass.cpp", "IntrinsicLowering.cpp", "LatencyPriorityQueue.cpp", "LazyMachineBlockFrequencyInfo.cpp", "LexicalScopes.cpp", "LiveDebugValues.cpp", "LiveDebugVariables.cpp", "LiveIntervals.cpp", "LiveInterval.cpp", "LiveIntervalUnion.cpp", "LivePhysRegs.cpp", "LiveRangeCalc.cpp", "LiveRangeEdit.cpp", "LiveRangeShrink.cpp", "LiveRegMatrix.cpp", "LiveRegUnits.cpp", "LiveStacks.cpp", "LiveVariables.cpp", "LLVMTargetMachine.cpp", "LocalStackSlotAllocation.cpp", "LoopTraversal.cpp", "LowLevelType.cpp", "LowerEmuTLS.cpp", "MachineBasicBlock.cpp", "MachineBlockFrequencyInfo.cpp", "MachineBlockPlacement.cpp", "MachineBranchProbabilityInfo.cpp", "MachineCombiner.cpp", "MachineCopyPropagation.cpp", "MachineCSE.cpp", "MachineDominanceFrontier.cpp", "MachineDominators.cpp", "MachineFrameInfo.cpp", "MachineFunction.cpp", "MachineFunctionPass.cpp", "MachineFunctionPrinterPass.cpp", "MachineInstrBundle.cpp", "MachineInstr.cpp", "MachineLICM.cpp", "MachineLoopInfo.cpp", "MachineModuleInfo.cpp", "MachineModuleInfoImpls.cpp", "MachineOperand.cpp", "MachineOptimizationRemarkEmitter.cpp", "MachineOutliner.cpp", "MachinePipeliner.cpp", "MachinePostDominators.cpp", "MachineRegionInfo.cpp", "MachineRegisterInfo.cpp", "MachineScheduler.cpp", "MachineSink.cpp", "MachineSSAUpdater.cpp", "MachineTraceMetrics.cpp", "MachineVerifier.cpp", "PatchableFunction.cpp", "MIRPrinter.cpp", "MIRPrintingPass.cpp", "MacroFusion.cpp", "OptimizePHIs.cpp", "ParallelCG.cpp", "PeepholeOptimizer.cpp", "PHIElimination.cpp", "PHIEliminationUtils.cpp", "PostRAHazardRecognizer.cpp", "PostRASchedulerList.cpp", "PreISelIntrinsicLowering.cpp", "ProcessImplicitDefs.cpp", "PrologEpilogInserter.cpp", "PseudoSourceValue.cpp", "ReachingDefAnalysis.cpp", "RegAllocBase.cpp", "RegAllocBasic.cpp", "RegAllocFast.cpp", "RegAllocGreedy.cpp", "RegAllocPBQP.cpp", "RegisterClassInfo.cpp", "RegisterCoalescer.cpp", "RegisterPressure.cpp", "RegisterScavenging.cpp", "RenameIndependentSubregs.cpp", "MIRCanonicalizerPass.cpp", "RegisterUsageInfo.cpp", "RegUsageInfoCollector.cpp", "RegUsageInfoPropagate.cpp", "ResetMachineFunctionPass.cpp", "SafeStack.cpp", "SafeStackColoring.cpp", "SafeStackLayout.cpp", "ScalarizeMaskedMemIntrin.cpp", "ScheduleDAG.cpp", "ScheduleDAGInstrs.cpp", "ScheduleDAGPrinter.cpp", "ScoreboardHazardRecognizer.cpp", "ShadowStackGCLowering.cpp", "ShrinkWrap.cpp", "SjLjEHPrepare.cpp", "SlotIndexes.cpp", "SpillPlacement.cpp", "SplitKit.cpp", "StackColoring.cpp", "StackMapLivenessAnalysis.cpp", "StackMaps.cpp", "StackProtector.cpp", "StackSlotColoring.cpp", "TailDuplication.cpp", "TailDuplicator.cpp", "TargetFrameLoweringImpl.cpp", "TargetInstrInfo.cpp", "TargetLoweringBase.cpp", "TargetLoweringObjectFileImpl.cpp", "TargetOptionsImpl.cpp", "TargetPassConfig.cpp", "TargetRegisterInfo.cpp", "TargetSchedule.cpp", "TargetSubtargetInfo.cpp", "TwoAddressInstructionPass.cpp", "UnreachableBlockElim.cpp", "ValueTypes.cpp", "VirtRegMap.cpp", "WasmEHPrepare.cpp", "WinEHPrepare.cpp", "XRayInstrumentation.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/CodeGen", "/include/llvm/CodeGen/PBQP", "LINK_LIBS", "", "DEPENDS", "intrinsics_gen")
      ctx = ctx.enter_directory(ctx, "SelectionDAG")
      ctx.add_llvm_library(ctx, "LLVMSelectionDAG", "DAGCombiner.cpp", "FastISel.cpp", "FunctionLoweringInfo.cpp", "InstrEmitter.cpp", "LegalizeDAG.cpp", "LegalizeFloatTypes.cpp", "LegalizeIntegerTypes.cpp", "LegalizeTypes.cpp", "LegalizeTypesGeneric.cpp", "LegalizeVectorOps.cpp", "LegalizeVectorTypes.cpp", "ResourcePriorityQueue.cpp", "ScheduleDAGFast.cpp", "ScheduleDAGRRList.cpp", "ScheduleDAGSDNodes.cpp", "ScheduleDAGVLIW.cpp", "SelectionDAGBuilder.cpp", "SelectionDAG.cpp", "SelectionDAGAddressAnalysis.cpp", "SelectionDAGDumper.cpp", "SelectionDAGISel.cpp", "SelectionDAGPrinter.cpp", "SelectionDAGTargetInfo.cpp", "StatepointLowering.cpp", "TargetLowering.cpp", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "SelectionDAG")
      ctx = ctx.enter_directory(ctx, "AsmPrinter")
      ctx.add_llvm_library(ctx, "LLVMAsmPrinter", "AccelTable.cpp", "AddressPool.cpp", "ARMException.cpp", "AsmPrinter.cpp", "AsmPrinterDwarf.cpp", "AsmPrinterInlineAsm.cpp", "DbgEntityHistoryCalculator.cpp", "DebugHandlerBase.cpp", "DebugLocStream.cpp", "DIE.cpp", "DIEHash.cpp", "DwarfCFIException.cpp", "DwarfCompileUnit.cpp", "DwarfDebug.cpp", "DwarfExpression.cpp", "DwarfFile.cpp", "DwarfStringPool.cpp", "DwarfUnit.cpp", "EHStreamer.cpp", "ErlangGCPrinter.cpp", "OcamlGCPrinter.cpp", "WinCFGuard.cpp", "WinException.cpp", "CodeViewDebug.cpp", "WasmException.cpp", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "AsmPrinter")
      ctx = ctx.enter_directory(ctx, "MIRParser")
      ctx.add_llvm_library(ctx, "LLVMMIRParser", "MILexer.cpp", "MIParser.cpp", "MIRParser.cpp", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "MIRParser")
      ctx = ctx.enter_directory(ctx, "GlobalISel")
      ctx.add_llvm_library(ctx, "LLVMGlobalISel", "CSEInfo.cpp", "CSEMIRBuilder.cpp", "CallLowering.cpp", "GlobalISel.cpp", "Combiner.cpp", "CombinerHelper.cpp", "GISelChangeObserver.cpp", "IRTranslator.cpp", "InstructionSelect.cpp", "InstructionSelector.cpp", "LegalityPredicates.cpp", "LegalizeMutations.cpp", "Legalizer.cpp", "LegalizerHelper.cpp", "LegalizerInfo.cpp", "Localizer.cpp", "MachineIRBuilder.cpp", "RegBankSelect.cpp", "RegisterBank.cpp", "RegisterBankInfo.cpp", "Utils.cpp", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "GlobalISel")
      ctx = ctx.exit_directory(ctx, "CodeGen")
      ctx = ctx.enter_directory(ctx, "BinaryFormat")
      ctx.add_llvm_library(ctx, "LLVMBinaryFormat", "AMDGPUMetadataVerifier.cpp", "Dwarf.cpp", "Magic.cpp", "Minidump.cpp", "MsgPackDocument.cpp", "MsgPackDocumentYAML.cpp", "MsgPackReader.cpp", "MsgPackWriter.cpp", "Wasm.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/BinaryFormat")
      ctx = ctx.exit_directory(ctx, "BinaryFormat")
      ctx = ctx.enter_directory(ctx, "Bitcode")
      ctx = ctx.enter_directory(ctx, "Reader")
      ctx.add_llvm_library(ctx, "LLVMBitReader", "BitReader.cpp", "BitcodeReader.cpp", "BitstreamReader.cpp", "MetadataLoader.cpp", "ValueList.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Bitcode", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Reader")
      ctx = ctx.enter_directory(ctx, "Writer")
      ctx.add_llvm_library(ctx, "LLVMBitWriter", "BitWriter.cpp", "BitcodeWriter.cpp", "BitcodeWriterPass.cpp", "ValueEnumerator.cpp", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Writer")
      ctx = ctx.exit_directory(ctx, "Bitcode")
      ctx = ctx.enter_directory(ctx, "Transforms")
      ctx = ctx.enter_directory(ctx, "Utils")
      ctx.add_llvm_library(ctx, "LLVMTransformUtils", "ASanStackFrameLayout.cpp", "AddDiscriminators.cpp", "BasicBlockUtils.cpp", "BreakCriticalEdges.cpp", "BuildLibCalls.cpp", "BypassSlowDivision.cpp", "CallPromotionUtils.cpp", "CanonicalizeAliases.cpp", "CloneFunction.cpp", "CloneModule.cpp", "CodeExtractor.cpp", "CtorUtils.cpp", "DemoteRegToStack.cpp", "EntryExitInstrumenter.cpp", "EscapeEnumerator.cpp", "Evaluator.cpp", "FlattenCFG.cpp", "FunctionComparator.cpp", "FunctionImportUtils.cpp", "GlobalStatus.cpp", "GuardUtils.cpp", "InlineFunction.cpp", "ImportedFunctionsInliningStatistics.cpp", "InstructionNamer.cpp", "IntegerDivision.cpp", "LCSSA.cpp", "LibCallsShrinkWrap.cpp", "Local.cpp", "LoopRotationUtils.cpp", "LoopSimplify.cpp", "LoopUnroll.cpp", "LoopUnrollAndJam.cpp", "LoopUnrollPeel.cpp", "LoopUnrollRuntime.cpp", "LoopUtils.cpp", "LoopVersioning.cpp", "LowerInvoke.cpp", "LowerMemIntrinsics.cpp", "LowerSwitch.cpp", "Mem2Reg.cpp", "MetaRenamer.cpp", "ModuleUtils.cpp", "NameAnonGlobals.cpp", "PredicateInfo.cpp", "PromoteMemoryToRegister.cpp", "StripGCRelocates.cpp", "SSAUpdater.cpp", "SSAUpdaterBulk.cpp", "SanitizerStats.cpp", "SimplifyCFG.cpp", "SimplifyIndVar.cpp", "SimplifyLibCalls.cpp", "SizeOpts.cpp", "SplitModule.cpp", "StripNonLineTableDebugInfo.cpp", "SymbolRewriter.cpp", "UnifyFunctionExitNodes.cpp", "Utils.cpp", "ValueMapper.cpp", "VNCoercion.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Transforms", "/include/llvm/Transforms/Utils", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Utils")
      ctx = ctx.enter_directory(ctx, "Instrumentation")
      ctx.add_llvm_library(ctx, "LLVMInstrumentation", "AddressSanitizer.cpp", "BoundsChecking.cpp", "CGProfile.cpp", "ControlHeightReduction.cpp", "DataFlowSanitizer.cpp", "GCOVProfiling.cpp", "MemorySanitizer.cpp", "IndirectCallPromotion.cpp", "Instrumentation.cpp", "InstrOrderFile.cpp", "InstrProfiling.cpp", "PGOInstrumentation.cpp", "PGOMemOPSizeOpt.cpp", "SanitizerCoverage.cpp", "ThreadSanitizer.cpp", "HWAddressSanitizer.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Transforms", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Instrumentation")
      ctx = ctx.enter_directory(ctx, "AggressiveInstCombine")
      ctx.add_llvm_library(ctx, "LLVMAggressiveInstCombine", "AggressiveInstCombine.cpp", "TruncInstCombine.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Transforms", "/include/llvm/Transforms/AggressiveInstCombine", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "AggressiveInstCombine")
      ctx = ctx.enter_directory(ctx, "InstCombine")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "InstCombineTables.td")
      ctx.tablegen(ctx, "LLVM", "InstCombineTables.inc", "-gen-searchable-tables")
      ctx.add_public_tablegen_target(ctx, "InstCombineTableGen")
      ctx.add_llvm_library(ctx, "LLVMInstCombine", "InstructionCombining.cpp", "InstCombineAddSub.cpp", "InstCombineAtomicRMW.cpp", "InstCombineAndOrXor.cpp", "InstCombineCalls.cpp", "InstCombineCasts.cpp", "InstCombineCompares.cpp", "InstCombineLoadStoreAlloca.cpp", "InstCombineMulDivRem.cpp", "InstCombinePHI.cpp", "InstCombineSelect.cpp", "InstCombineShifts.cpp", "InstCombineSimplifyDemanded.cpp", "InstCombineVectorOps.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Transforms", "/include/llvm/Transforms/InstCombine", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "InstCombine")
      ctx = ctx.enter_directory(ctx, "Scalar")
      ctx.add_llvm_library(ctx, "LLVMScalarOpts", "ADCE.cpp", "AlignmentFromAssumptions.cpp", "BDCE.cpp", "CallSiteSplitting.cpp", "ConstantHoisting.cpp", "ConstantProp.cpp", "CorrelatedValuePropagation.cpp", "DCE.cpp", "DeadStoreElimination.cpp", "DivRemPairs.cpp", "EarlyCSE.cpp", "FlattenCFGPass.cpp", "Float2Int.cpp", "GuardWidening.cpp", "GVN.cpp", "GVNHoist.cpp", "GVNSink.cpp", "IVUsersPrinter.cpp", "InductiveRangeCheckElimination.cpp", "IndVarSimplify.cpp", "InferAddressSpaces.cpp", "InstSimplifyPass.cpp", "JumpThreading.cpp", "LICM.cpp", "LoopAccessAnalysisPrinter.cpp", "LoopSink.cpp", "LoopDeletion.cpp", "LoopDataPrefetch.cpp", "LoopDistribute.cpp", "LoopFuse.cpp", "LoopIdiomRecognize.cpp", "LoopInstSimplify.cpp", "LoopInterchange.cpp", "LoopLoadElimination.cpp", "LoopPassManager.cpp", "LoopPredication.cpp", "LoopRerollPass.cpp", "LoopRotation.cpp", "LoopSimplifyCFG.cpp", "LoopStrengthReduce.cpp", "LoopUnrollPass.cpp", "LoopUnrollAndJamPass.cpp", "LoopUnswitch.cpp", "LoopVersioningLICM.cpp", "LowerAtomic.cpp", "LowerExpectIntrinsic.cpp", "LowerGuardIntrinsic.cpp", "LowerWidenableCondition.cpp", "MakeGuardsExplicit.cpp", "MemCpyOptimizer.cpp", "MergeICmps.cpp", "MergedLoadStoreMotion.cpp", "NaryReassociate.cpp", "NewGVN.cpp", "PartiallyInlineLibCalls.cpp", "PlaceSafepoints.cpp", "Reassociate.cpp", "Reg2Mem.cpp", "RewriteStatepointsForGC.cpp", "SCCP.cpp", "SROA.cpp", "Scalar.cpp", "Scalarizer.cpp", "SeparateConstOffsetFromGEP.cpp", "SimpleLoopUnswitch.cpp", "SimplifyCFGPass.cpp", "Sink.cpp", "SpeculativeExecution.cpp", "SpeculateAroundPHIs.cpp", "StraightLineStrengthReduce.cpp", "StructurizeCFG.cpp", "TailRecursionElimination.cpp", "WarnMissedTransforms.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Transforms", "/include/llvm/Transforms/Scalar", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Scalar")
      ctx = ctx.enter_directory(ctx, "IPO")
      ctx.add_llvm_library(ctx, "LLVMipo", "AlwaysInliner.cpp", "ArgumentPromotion.cpp", "BarrierNoopPass.cpp", "BlockExtractor.cpp", "CalledValuePropagation.cpp", "ConstantMerge.cpp", "CrossDSOCFI.cpp", "DeadArgumentElimination.cpp", "ElimAvailExtern.cpp", "ExtractGV.cpp", "ForceFunctionAttrs.cpp", "FunctionAttrs.cpp", "FunctionImport.cpp", "GlobalDCE.cpp", "GlobalOpt.cpp", "GlobalSplit.cpp", "HotColdSplitting.cpp", "IPConstantPropagation.cpp", "IPO.cpp", "InferFunctionAttrs.cpp", "InlineSimple.cpp", "Inliner.cpp", "Internalize.cpp", "LoopExtractor.cpp", "LowerTypeTests.cpp", "MergeFunctions.cpp", "PartialInlining.cpp", "PassManagerBuilder.cpp", "PruneEH.cpp", "SampleProfile.cpp", "SCCP.cpp", "StripDeadPrototypes.cpp", "StripSymbols.cpp", "SyntheticCountsPropagation.cpp", "ThinLTOBitcodeWriter.cpp", "WholeProgramDevirt.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Transforms", "/include/llvm/Transforms/IPO", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "IPO")
      ctx = ctx.enter_directory(ctx, "Vectorize")
      ctx.add_llvm_library(ctx, "LLVMVectorize", "LoadStoreVectorizer.cpp", "LoopVectorizationLegality.cpp", "LoopVectorize.cpp", "SLPVectorizer.cpp", "Vectorize.cpp", "VPlan.cpp", "VPlanHCFGBuilder.cpp", "VPlanHCFGTransforms.cpp", "VPlanPredicator.cpp", "VPlanSLP.cpp", "VPlanVerifier.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Transforms", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Vectorize")
      ctx = ctx.enter_directory(ctx, "Hello")
      ctx.add_llvm_library(ctx, "LLVMHello", "MODULE", "BUILDTREE_ONLY", "Hello.cpp", "DEPENDS", "intrinsics_gen", "PLUGIN_TOOL", "opt")
      ctx = ctx.exit_directory(ctx, "Hello")
      ctx = ctx.enter_directory(ctx, "ObjCARC")
      ctx.add_llvm_library(ctx, "LLVMObjCARCOpts", "ObjCARC.cpp", "ObjCARCOpts.cpp", "ObjCARCExpand.cpp", "ObjCARCAPElim.cpp", "ObjCARCContract.cpp", "DependencyAnalysis.cpp", "ProvenanceAnalysis.cpp", "ProvenanceAnalysisEvaluator.cpp", "PtrState.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Transforms", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "ObjCARC")
      ctx = ctx.enter_directory(ctx, "Coroutines")
      ctx.add_llvm_library(ctx, "LLVMCoroutines", "Coroutines.cpp", "CoroCleanup.cpp", "CoroEarly.cpp", "CoroElide.cpp", "CoroFrame.cpp", "CoroSplit.cpp", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Coroutines")
      ctx = ctx.exit_directory(ctx, "Transforms")
      ctx = ctx.enter_directory(ctx, "Linker")
      ctx.add_llvm_library(ctx, "LLVMLinker", "IRMover.cpp", "LinkModules.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Linker", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Linker")
      ctx = ctx.enter_directory(ctx, "Analysis")
      ctx.add_llvm_library(ctx, "LLVMAnalysis", "AliasAnalysis.cpp", "AliasAnalysisEvaluator.cpp", "AliasAnalysisSummary.cpp", "AliasSetTracker.cpp", "Analysis.cpp", "AssumptionCache.cpp", "BasicAliasAnalysis.cpp", "BlockFrequencyInfo.cpp", "BlockFrequencyInfoImpl.cpp", "BranchProbabilityInfo.cpp", "CFG.cpp", "CFGPrinter.cpp", "CFLAndersAliasAnalysis.cpp", "CFLSteensAliasAnalysis.cpp", "CGSCCPassManager.cpp", "CallGraph.cpp", "CallGraphSCCPass.cpp", "CallPrinter.cpp", "CaptureTracking.cpp", "CmpInstAnalysis.cpp", "CostModel.cpp", "CodeMetrics.cpp", "ConstantFolding.cpp", "Delinearization.cpp", "DemandedBits.cpp", "DependenceAnalysis.cpp", "DivergenceAnalysis.cpp", "DomPrinter.cpp", "DomTreeUpdater.cpp", "DominanceFrontier.cpp", "EHPersonalities.cpp", "GlobalsModRef.cpp", "GuardUtils.cpp", "IVDescriptors.cpp", "IVUsers.cpp", "IndirectCallPromotionAnalysis.cpp", "InlineCost.cpp", "InstCount.cpp", "InstructionPrecedenceTracking.cpp", "InstructionSimplify.cpp", "Interval.cpp", "IntervalPartition.cpp", "IteratedDominanceFrontier.cpp", "LazyBranchProbabilityInfo.cpp", "LazyBlockFrequencyInfo.cpp", "LazyCallGraph.cpp", "LazyValueInfo.cpp", "LegacyDivergenceAnalysis.cpp", "Lint.cpp", "Loads.cpp", "LoopAccessAnalysis.cpp", "LoopAnalysisManager.cpp", "LoopUnrollAnalyzer.cpp", "LoopInfo.cpp", "LoopPass.cpp", "MemDepPrinter.cpp", "MemDerefPrinter.cpp", "MemoryBuiltins.cpp", "MemoryDependenceAnalysis.cpp", "MemoryLocation.cpp", "MemorySSA.cpp", "MemorySSAUpdater.cpp", "ModuleDebugInfoPrinter.cpp", "ModuleSummaryAnalysis.cpp", "MustExecute.cpp", "ObjCARCAliasAnalysis.cpp", "ObjCARCAnalysisUtils.cpp", "ObjCARCInstKind.cpp", "OptimizationRemarkEmitter.cpp", "OrderedBasicBlock.cpp", "OrderedInstructions.cpp", "PHITransAddr.cpp", "PhiValues.cpp", "PostDominators.cpp", "ProfileSummaryInfo.cpp", "PtrUseVisitor.cpp", "RegionInfo.cpp", "RegionPass.cpp", "RegionPrinter.cpp", "ScalarEvolution.cpp", "ScalarEvolutionAliasAnalysis.cpp", "ScalarEvolutionExpander.cpp", "ScalarEvolutionNormalization.cpp", "StackSafetyAnalysis.cpp", "SyncDependenceAnalysis.cpp", "SyntheticCountsUtils.cpp", "TargetLibraryInfo.cpp", "TargetTransformInfo.cpp", "Trace.cpp", "TypeBasedAliasAnalysis.cpp", "TypeMetadataUtils.cpp", "ScopedNoAliasAA.cpp", "ValueLattice.cpp", "ValueLatticeUtils.cpp", "ValueTracking.cpp", "VectorUtils.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Analysis", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Analysis")
      ctx = ctx.enter_directory(ctx, "LTO")
      ctx.add_llvm_library(ctx, "LLVMLTO", "Caching.cpp", "LTO.cpp", "LTOBackend.cpp", "LTOModule.cpp", "LTOCodeGenerator.cpp", "SummaryBasedOptimizations.cpp", "UpdateCompilerUsed.cpp", "ThinLTOCodeGenerator.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/LTO", "DEPENDS", "intrinsics_gen", "llvm_vcsrevision_h")
      ctx = ctx.exit_directory(ctx, "LTO")
      ctx = ctx.enter_directory(ctx, "MC")
      ctx.add_llvm_library(ctx, "LLVMMC", "ConstantPools.cpp", "ELFObjectWriter.cpp", "MCAsmBackend.cpp", "MCAsmInfo.cpp", "MCAsmInfoCOFF.cpp", "MCAsmInfoDarwin.cpp", "MCAsmInfoELF.cpp", "MCAsmInfoWasm.cpp", "MCAsmMacro.cpp", "MCAsmStreamer.cpp", "MCAssembler.cpp", "MCCodeEmitter.cpp", "MCCodePadder.cpp", "MCCodeView.cpp", "MCContext.cpp", "MCDwarf.cpp", "MCELFObjectTargetWriter.cpp", "MCELFStreamer.cpp", "MCExpr.cpp", "MCFragment.cpp", "MCInst.cpp", "MCInstPrinter.cpp", "MCInstrAnalysis.cpp", "MCInstrDesc.cpp", "MCLabel.cpp", "MCLinkerOptimizationHint.cpp", "MCMachOStreamer.cpp", "MCMachObjectTargetWriter.cpp", "MCNullStreamer.cpp", "MCObjectFileInfo.cpp", "MCObjectStreamer.cpp", "MCObjectWriter.cpp", "MCRegisterInfo.cpp", "MCSchedule.cpp", "MCSection.cpp", "MCSectionCOFF.cpp", "MCSectionELF.cpp", "MCSectionMachO.cpp", "MCSectionWasm.cpp", "MCStreamer.cpp", "MCSubtargetInfo.cpp", "MCSymbol.cpp", "MCSymbolELF.cpp", "MCTargetOptions.cpp", "MCValue.cpp", "MCWasmObjectTargetWriter.cpp", "MCWasmStreamer.cpp", "MCWin64EH.cpp", "MCWinCOFFStreamer.cpp", "MCWinEH.cpp", "MachObjectWriter.cpp", "StringTableBuilder.cpp", "SubtargetFeature.cpp", "WasmObjectWriter.cpp", "WinCOFFObjectWriter.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/MC")
      ctx = ctx.enter_directory(ctx, "MCParser")
      ctx.add_llvm_library(ctx, "LLVMMCParser", "AsmLexer.cpp", "AsmParser.cpp", "COFFAsmParser.cpp", "DarwinAsmParser.cpp", "ELFAsmParser.cpp", "MCAsmLexer.cpp", "MCAsmParser.cpp", "MCAsmParserExtension.cpp", "MCTargetAsmParser.cpp", "WasmAsmParser.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/MC/MCParser")
      ctx = ctx.exit_directory(ctx, "MCParser")
      ctx = ctx.enter_directory(ctx, "MCDisassembler")
      ctx.add_llvm_library(ctx, "LLVMMCDisassembler", "Disassembler.cpp", "MCDisassembler.cpp", "MCExternalSymbolizer.cpp", "MCRelocationInfo.cpp", "MCSymbolizer.cpp")
      ctx = ctx.exit_directory(ctx, "MCDisassembler")
      ctx = ctx.exit_directory(ctx, "MC")
      ctx = ctx.enter_directory(ctx, "MCA")
      ctx.add_llvm_library(ctx, "LLVMMCA", "Context.cpp", "HWEventListener.cpp", "HardwareUnits/HardwareUnit.cpp", "HardwareUnits/LSUnit.cpp", "HardwareUnits/RegisterFile.cpp", "HardwareUnits/ResourceManager.cpp", "HardwareUnits/RetireControlUnit.cpp", "HardwareUnits/Scheduler.cpp", "InstrBuilder.cpp", "Instruction.cpp", "Pipeline.cpp", "Stages/DispatchStage.cpp", "Stages/EntryStage.cpp", "Stages/ExecuteStage.cpp", "Stages/InstructionTables.cpp", "Stages/MicroOpQueueStage.cpp", "Stages/RetireStage.cpp", "Stages/Stage.cpp", "Support.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/MCA")
      ctx = ctx.exit_directory(ctx, "MCA")
      ctx = ctx.enter_directory(ctx, "Object")
      ctx.add_llvm_library(ctx, "LLVMObject", "Archive.cpp", "ArchiveWriter.cpp", "Binary.cpp", "COFFImportFile.cpp", "COFFModuleDefinition.cpp", "COFFObjectFile.cpp", "Decompressor.cpp", "ELF.cpp", "ELFObjectFile.cpp", "Error.cpp", "IRObjectFile.cpp", "IRSymtab.cpp", "MachOObjectFile.cpp", "MachOUniversal.cpp", "Minidump.cpp", "ModuleSymbolTable.cpp", "Object.cpp", "ObjectFile.cpp", "RecordStreamer.cpp", "RelocationResolver.cpp", "SymbolicFile.cpp", "SymbolSize.cpp", "WasmObjectFile.cpp", "WindowsResource.cpp", "XCOFFObjectFile.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Object", "DEPENDS", "intrinsics_gen", "llvm_vcsrevision_h")
      ctx = ctx.exit_directory(ctx, "Object")
      ctx = ctx.enter_directory(ctx, "ObjectYAML")
      ctx.add_llvm_library(ctx, "LLVMObjectYAML", "CodeViewYAMLDebugSections.cpp", "CodeViewYAMLSymbols.cpp", "CodeViewYAMLTypeHashing.cpp", "CodeViewYAMLTypes.cpp", "COFFYAML.cpp", "DWARFEmitter.cpp", "DWARFVisitor.cpp", "DWARFYAML.cpp", "ELFYAML.cpp", "MachOYAML.cpp", "ObjectYAML.cpp", "MinidumpYAML.cpp", "WasmYAML.cpp", "XCOFFYAML.cpp", "YAML.cpp")
      ctx = ctx.exit_directory(ctx, "ObjectYAML")
      ctx = ctx.enter_directory(ctx, "Option")
      ctx.add_llvm_library(ctx, "LLVMOption", "Arg.cpp", "ArgList.cpp", "Option.cpp", "OptTable.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Option")
      ctx = ctx.exit_directory(ctx, "Option")
      ctx = ctx.enter_directory(ctx, "Remarks")
      ctx.add_llvm_library(ctx, "LLVMRemarks", "Remark.cpp", "RemarkParser.cpp", "RemarkStringTable.cpp", "YAMLRemarkParser.cpp")
      ctx = ctx.exit_directory(ctx, "Remarks")
      ctx = ctx.enter_directory(ctx, "DebugInfo")
      ctx = ctx.enter_directory(ctx, "DWARF")
      ctx.add_llvm_library(ctx, "LLVMDebugInfoDWARF", "DWARFAbbreviationDeclaration.cpp", "DWARFAddressRange.cpp", "DWARFAcceleratorTable.cpp", "DWARFCompileUnit.cpp", "DWARFContext.cpp", "DWARFDataExtractor.cpp", "DWARFDebugAbbrev.cpp", "DWARFDebugAddr.cpp", "DWARFDebugArangeSet.cpp", "DWARFDebugAranges.cpp", "DWARFDebugFrame.cpp", "DWARFDebugInfoEntry.cpp", "DWARFDebugLine.cpp", "DWARFDebugLoc.cpp", "DWARFDebugMacro.cpp", "DWARFDebugPubTable.cpp", "DWARFDebugRangeList.cpp", "DWARFDebugRnglists.cpp", "DWARFDie.cpp", "DWARFExpression.cpp", "DWARFFormValue.cpp", "DWARFGdbIndex.cpp", "DWARFListTable.cpp", "DWARFTypeUnit.cpp", "DWARFUnitIndex.cpp", "DWARFUnit.cpp", "DWARFVerifier.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/DebugInfo/DWARF", "/include/llvm/DebugInfo")
      ctx = ctx.exit_directory(ctx, "DWARF")
      ctx = ctx.enter_directory(ctx, "MSF")
      ctx.add_llvm_library(ctx, "LLVMDebugInfoMSF", "MappedBlockStream.cpp", "MSFBuilder.cpp", "MSFCommon.cpp", "MSFError.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/DebugInfo/MSF")
      ctx = ctx.exit_directory(ctx, "MSF")
      ctx = ctx.enter_directory(ctx, "CodeView")
      ctx.add_llvm_library(ctx, "LLVMDebugInfoCodeView", "AppendingTypeTableBuilder.cpp", "CodeViewError.cpp", "CodeViewRecordIO.cpp", "ContinuationRecordBuilder.cpp", "CVSymbolVisitor.cpp", "CVTypeVisitor.cpp", "DebugChecksumsSubsection.cpp", "DebugCrossExSubsection.cpp", "DebugCrossImpSubsection.cpp", "DebugFrameDataSubsection.cpp", "DebugInlineeLinesSubsection.cpp", "DebugLinesSubsection.cpp", "DebugStringTableSubsection.cpp", "DebugSubsection.cpp", "DebugSubsectionRecord.cpp", "DebugSubsectionVisitor.cpp", "DebugSymbolRVASubsection.cpp", "DebugSymbolsSubsection.cpp", "EnumTables.cpp", "Formatters.cpp", "GlobalTypeTableBuilder.cpp", "LazyRandomTypeCollection.cpp", "Line.cpp", "MergingTypeTableBuilder.cpp", "RecordName.cpp", "RecordSerialization.cpp", "SimpleTypeSerializer.cpp", "StringsAndChecksums.cpp", "SymbolDumper.cpp", "SymbolRecordHelpers.cpp", "SymbolRecordMapping.cpp", "SymbolSerializer.cpp", "TypeDumpVisitor.cpp", "TypeIndex.cpp", "TypeIndexDiscovery.cpp", "TypeHashing.cpp", "TypeRecordHelpers.cpp", "TypeRecordMapping.cpp", "TypeStreamMerger.cpp", "TypeTableCollection.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/DebugInfo/CodeView")
      ctx = ctx.exit_directory(ctx, "CodeView")
      ctx = ctx.enter_directory(ctx, "PDB")
      ctx.add_llvm_library(ctx, "LLVMDebugInfoPDB", "GenericError.cpp", "IPDBSourceFile.cpp", "PDB.cpp", "PDBContext.cpp", "PDBExtras.cpp", "PDBInterfaceAnchors.cpp", "PDBSymbol.cpp", "PDBSymbolAnnotation.cpp", "PDBSymbolBlock.cpp", "PDBSymbolCompiland.cpp", "PDBSymbolCompilandDetails.cpp", "PDBSymbolCompilandEnv.cpp", "PDBSymbolCustom.cpp", "PDBSymbolData.cpp", "PDBSymbolExe.cpp", "PDBSymbolFunc.cpp", "PDBSymbolFuncDebugEnd.cpp", "PDBSymbolFuncDebugStart.cpp", "PDBSymbolLabel.cpp", "PDBSymbolPublicSymbol.cpp", "PDBSymbolThunk.cpp", "PDBSymbolTypeArray.cpp", "PDBSymbolTypeBaseClass.cpp", "PDBSymbolTypeBuiltin.cpp", "PDBSymbolTypeCustom.cpp", "PDBSymbolTypeDimension.cpp", "PDBSymbolTypeEnum.cpp", "PDBSymbolTypeFriend.cpp", "PDBSymbolTypeFunctionArg.cpp", "PDBSymbolTypeFunctionSig.cpp", "PDBSymbolTypeManaged.cpp", "PDBSymbolTypePointer.cpp", "PDBSymbolTypeTypedef.cpp", "PDBSymbolTypeUDT.cpp", "PDBSymbolTypeVTable.cpp", "PDBSymbolTypeVTableShape.cpp", "PDBSymbolUnknown.cpp", "PDBSymbolUsingNamespace.cpp", "PDBSymDumper.cpp", "UDTLayout.cpp", "", "ADDITIONAL_HEADER_DIRS", "")
      ctx = ctx.exit_directory(ctx, "PDB")
      ctx = ctx.enter_directory(ctx, "Symbolize")
      ctx.add_llvm_library(ctx, "LLVMSymbolize", "DIPrinter.cpp", "SymbolizableObjectFile.cpp", "Symbolize.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/DebugInfo/Symbolize")
      ctx = ctx.exit_directory(ctx, "Symbolize")
      ctx = ctx.exit_directory(ctx, "DebugInfo")
      ctx = ctx.enter_directory(ctx, "ExecutionEngine")
      ctx.add_llvm_library(ctx, "LLVMExecutionEngine", "ExecutionEngine.cpp", "ExecutionEngineBindings.cpp", "GDBRegistrationListener.cpp", "SectionMemoryManager.cpp", "TargetSelect.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/ExecutionEngine", "DEPENDS", "intrinsics_gen")
      ctx = ctx.enter_directory(ctx, "Interpreter")
      ctx.add_llvm_library(ctx, "LLVMInterpreter", "Execution.cpp", "ExternalFunctions.cpp", "Interpreter.cpp", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Interpreter")
      ctx = ctx.enter_directory(ctx, "JITLink")
      ctx.add_llvm_library(ctx, "LLVMJITLink", "JITLink.cpp", "JITLinkGeneric.cpp", "EHFrameSupport.cpp", "MachO.cpp", "MachO_x86_64.cpp", "MachOAtomGraphBuilder.cpp", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "JITLink")
      ctx = ctx.enter_directory(ctx, "MCJIT")
      ctx.add_llvm_library(ctx, "LLVMMCJIT", "MCJIT.cpp", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "MCJIT")
      ctx = ctx.enter_directory(ctx, "Orc")
      ctx.add_llvm_library(ctx, "LLVMOrcJIT", "CompileOnDemandLayer.cpp", "CompileUtils.cpp", "Core.cpp", "ExecutionUtils.cpp", "IndirectionUtils.cpp", "IRCompileLayer.cpp", "IRTransformLayer.cpp", "JITTargetMachineBuilder.cpp", "LazyReexports.cpp", "Legacy.cpp", "Layer.cpp", "LLJIT.cpp", "NullResolver.cpp", "ObjectLinkingLayer.cpp", "ObjectTransformLayer.cpp", "OrcABISupport.cpp", "OrcCBindings.cpp", "OrcError.cpp", "OrcMCJITReplacement.cpp", "RPCUtils.cpp", "RTDyldObjectLinkingLayer.cpp", "ThreadSafeModule.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/ExecutionEngine/Orc", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Orc")
      ctx = ctx.enter_directory(ctx, "RuntimeDyld")
      ctx.add_llvm_library(ctx, "LLVMRuntimeDyld", "JITSymbol.cpp", "RTDyldMemoryManager.cpp", "RuntimeDyld.cpp", "RuntimeDyldChecker.cpp", "RuntimeDyldCOFF.cpp", "RuntimeDyldELF.cpp", "RuntimeDyldMachO.cpp", "Targets/RuntimeDyldELFMips.cpp", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "RuntimeDyld")
      ctx = ctx.exit_directory(ctx, "ExecutionEngine")
      ctx = ctx.enter_directory(ctx, "Target")
      ctx.add_llvm_library(ctx, "LLVMTarget", "Target.cpp", "TargetIntrinsicInfo.cpp", "TargetLoweringObjectFile.cpp", "TargetMachine.cpp", "TargetMachineC.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Target")
      ctx = ctx.exit_directory(ctx, "Target")
      ctx = ctx.enter_directory(ctx, "AsmParser")
      ctx.add_llvm_library(ctx, "LLVMAsmParser", "LLLexer.cpp", "LLParser.cpp", "Parser.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Analysis", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "AsmParser")
      ctx = ctx.enter_directory(ctx, "LineEditor")
      ctx.add_llvm_library(ctx, "LLVMLineEditor", "LineEditor.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/LineEditor", "LINK_LIBS", "LLVMSupport", "")
      ctx = ctx.exit_directory(ctx, "LineEditor")
      ctx = ctx.enter_directory(ctx, "ProfileData")
      ctx.add_llvm_library(ctx, "LLVMProfileData", "GCOV.cpp", "InstrProf.cpp", "InstrProfReader.cpp", "InstrProfWriter.cpp", "ProfileSummaryBuilder.cpp", "SampleProf.cpp", "SampleProfReader.cpp", "SampleProfWriter.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/ProfileData", "DEPENDS", "intrinsics_gen")
      ctx = ctx.enter_directory(ctx, "Coverage")
      ctx.add_llvm_library(ctx, "LLVMCoverage", "CoverageMapping.cpp", "CoverageMappingWriter.cpp", "CoverageMappingReader.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/ProfileData/Coverage", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Coverage")
      ctx = ctx.exit_directory(ctx, "ProfileData")
      ctx = ctx.enter_directory(ctx, "Passes")
      ctx.add_llvm_library(ctx, "LLVMPasses", "PassBuilder.cpp", "PassPlugin.cpp", "StandardInstrumentations.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Passes", "DEPENDS", "intrinsics_gen")
      ctx = ctx.exit_directory(ctx, "Passes")
      ctx = ctx.enter_directory(ctx, "TextAPI")
      ctx.add_llvm_library(ctx, "LLVMTextAPI", "ELF/ELFStub.cpp", "ELF/TBEHandler.cpp", "MachO/Architecture.cpp", "MachO/ArchitectureSet.cpp", "MachO/InterfaceFile.cpp", "MachO/PackedVersion.cpp", "MachO/Symbol.cpp", "MachO/TextStub.cpp", "MachO/TextStubCommon.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/TextAPI")
      ctx = ctx.exit_directory(ctx, "TextAPI")
      ctx = ctx.enter_directory(ctx, "ToolDrivers")
      ctx = ctx.enter_directory(ctx, "llvm-dlltool")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "Options.td")
      ctx.tablegen(ctx, "LLVM", "Options.inc", "-gen-opt-parser-defs")
      ctx.add_public_tablegen_target(ctx, "DllOptionsTableGen")
      ctx.add_llvm_library(ctx, "LLVMDlltoolDriver", "DlltoolDriver.cpp")
      ctx = ctx.exit_directory(ctx, "llvm-dlltool")
      ctx = ctx.enter_directory(ctx, "llvm-lib")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "BinaryFormat", "Object", "Option", "Support")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "Options.td")
      ctx.tablegen(ctx, "LLVM", "Options.inc", "-gen-opt-parser-defs")
      ctx.add_public_tablegen_target(ctx, "LibOptionsTableGen")
      ctx.add_llvm_library(ctx, "LLVMLibDriver", "LibDriver.cpp")
      ctx = ctx.exit_directory(ctx, "llvm-lib")
      ctx = ctx.exit_directory(ctx, "ToolDrivers")
      ctx = ctx.enter_directory(ctx, "XRay")
      ctx.add_llvm_library(ctx, "LLVMXRay", "BlockIndexer.cpp", "BlockPrinter.cpp", "BlockVerifier.cpp", "FDRRecordProducer.cpp", "FDRRecords.cpp", "FDRTraceExpander.cpp", "FDRTraceWriter.cpp", "FileHeaderReader.cpp", "InstrumentationMap.cpp", "LogBuilderConsumer.cpp", "Profile.cpp", "RecordInitializer.cpp", "RecordPrinter.cpp", "Trace.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/ADT", "/include/llvm/XRay", "DEPENDS", "LLVMSupport", "LLVMObject", "LINK_LIBS", "LLVMSupport", "LLVMObject")
      ctx = ctx.exit_directory(ctx, "XRay")
      ctx = ctx.enter_directory(ctx, "Testing")
      ctx = ctx.enter_directory(ctx, "Support")
      ctx.add_llvm_library(ctx, "LLVMTestingSupport", "Annotations.cpp", "Error.cpp", "SupportHelpers.cpp", "BUILDTREE_ONLY", "ADDITIONAL_HEADER_DIRS", "/include/llvm/Testing/Support", "LINK_COMPONENTS", "Support")
      ctx = ctx.exit_directory(ctx, "Support")
      ctx = ctx.exit_directory(ctx, "Testing")
      ctx = ctx.enter_directory(ctx, "WindowsManifest")
      ctx.set(ctx, "system_libs")
      ctx.add_llvm_library(ctx, "LLVMWindowsManifest", "WindowsManifestMerger.cpp", "ADDITIONAL_HEADER_DIRS", "/include/llvm/WindowsManifest", "", "LINK_LIBS", "")
      ctx = ctx.exit_directory(ctx, "WindowsManifest")
      ctx = ctx.exit_directory(ctx, "lib")
      ctx = ctx.exit_directory(ctx, "")
      ctx = ctx.enter_directory(ctx, "lib/Target/X86")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "X86.td")
      ctx.tablegen(ctx, "LLVM", "X86GenAsmMatcher.inc", "-gen-asm-matcher")
      ctx.tablegen(ctx, "LLVM", "X86GenAsmWriter.inc", "-gen-asm-writer")
      ctx.tablegen(ctx, "LLVM", "X86GenAsmWriter1.inc", "-gen-asm-writer", "-asmwriternum=1")
      ctx.tablegen(ctx, "LLVM", "X86GenCallingConv.inc", "-gen-callingconv")
      ctx.tablegen(ctx, "LLVM", "X86GenDAGISel.inc", "-gen-dag-isel")
      ctx.tablegen(ctx, "LLVM", "X86GenDisassemblerTables.inc", "-gen-disassembler")
      ctx.tablegen(ctx, "LLVM", "X86GenEVEX2VEXTables.inc", "-gen-x86-EVEX2VEX-tables")
      ctx.tablegen(ctx, "LLVM", "X86GenExegesis.inc", "-gen-exegesis")
      ctx.tablegen(ctx, "LLVM", "X86GenFastISel.inc", "-gen-fast-isel")
      ctx.tablegen(ctx, "LLVM", "X86GenGlobalISel.inc", "-gen-global-isel")
      ctx.tablegen(ctx, "LLVM", "X86GenInstrInfo.inc", "-gen-instr-info")
      ctx.tablegen(ctx, "LLVM", "X86GenRegisterBank.inc", "-gen-register-bank")
      ctx.tablegen(ctx, "LLVM", "X86GenRegisterInfo.inc", "-gen-register-info")
      ctx.tablegen(ctx, "LLVM", "X86GenSubtargetInfo.inc", "-gen-subtarget")
      ctx.add_public_tablegen_target(ctx, "X86CommonTableGen")
      ctx.set(ctx, "sources", "X86AsmPrinter.cpp", "X86CallFrameOptimization.cpp", "X86CallingConv.cpp", "X86CallLowering.cpp", "X86CmovConversion.cpp", "X86CondBrFolding.cpp", "X86DomainReassignment.cpp", "X86DiscriminateMemOps.cpp", "X86ExpandPseudo.cpp", "X86FastISel.cpp", "X86FixupBWInsts.cpp", "X86FixupLEAs.cpp", "X86AvoidStoreForwardingBlocks.cpp", "X86FixupSetCC.cpp", "X86FlagsCopyLowering.cpp", "X86FloatingPoint.cpp", "X86FrameLowering.cpp", "X86InstructionSelector.cpp", "X86ISelDAGToDAG.cpp", "X86ISelLowering.cpp", "X86IndirectBranchTracking.cpp", "X86InterleavedAccess.cpp", "X86InsertPrefetch.cpp", "X86InstrFMA3Info.cpp", "X86InstrFoldTables.cpp", "X86InstrInfo.cpp", "X86EvexToVex.cpp", "X86LegalizerInfo.cpp", "X86MCInstLower.cpp", "X86MachineFunctionInfo.cpp", "X86MacroFusion.cpp", "X86OptimizeLEAs.cpp", "X86PadShortFunction.cpp", "X86RegisterBankInfo.cpp", "X86RegisterInfo.cpp", "X86RetpolineThunks.cpp", "X86SelectionDAGInfo.cpp", "X86ShuffleDecodeConstantPool.cpp", "X86SpeculativeLoadHardening.cpp", "X86Subtarget.cpp", "X86TargetMachine.cpp", "X86TargetObjectFile.cpp", "X86TargetTransformInfo.cpp", "X86VZeroUpper.cpp", "X86WinAllocaExpander.cpp", "X86WinEHState.cpp")
      ctx.add_llvm_target(ctx, "X86CodeGen", "")
      ctx = ctx.enter_directory(ctx, "AsmParser")
      ctx.add_llvm_library(ctx, "LLVMX86AsmParser", "X86AsmParser.cpp")
      ctx = ctx.exit_directory(ctx, "AsmParser")
      ctx = ctx.enter_directory(ctx, "Disassembler")
      ctx.add_llvm_library(ctx, "LLVMX86Disassembler", "X86Disassembler.cpp", "X86DisassemblerDecoder.cpp")
      ctx = ctx.exit_directory(ctx, "Disassembler")
      ctx = ctx.enter_directory(ctx, "MCTargetDesc")
      ctx.add_llvm_library(ctx, "LLVMX86Desc", "X86ATTInstPrinter.cpp", "X86IntelInstPrinter.cpp", "X86InstComments.cpp", "X86InstPrinterCommon.cpp", "X86AsmBackend.cpp", "X86MCTargetDesc.cpp", "X86MCAsmInfo.cpp", "X86MCCodeEmitter.cpp", "X86MachObjectWriter.cpp", "X86ELFObjectWriter.cpp", "X86WinCOFFObjectWriter.cpp", "X86WinCOFFStreamer.cpp", "X86WinCOFFTargetStreamer.cpp")
      ctx = ctx.exit_directory(ctx, "MCTargetDesc")
      ctx = ctx.enter_directory(ctx, "TargetInfo")
      ctx.add_llvm_library(ctx, "LLVMX86Info", "X86TargetInfo.cpp")
      ctx = ctx.exit_directory(ctx, "TargetInfo")
      ctx = ctx.enter_directory(ctx, "Utils")
      ctx.add_llvm_library(ctx, "LLVMX86Utils", "X86ShuffleDecode.cpp")
      ctx = ctx.exit_directory(ctx, "Utils")
      ctx = ctx.exit_directory(ctx, "lib/Target/X86")
      ctx = ctx.enter_directory(ctx, "lib/Target/PowerPC")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "PPC.td")
      ctx.tablegen(ctx, "LLVM", "PPCGenAsmMatcher.inc", "-gen-asm-matcher")
      ctx.tablegen(ctx, "LLVM", "PPCGenAsmWriter.inc", "-gen-asm-writer")
      ctx.tablegen(ctx, "LLVM", "PPCGenCallingConv.inc", "-gen-callingconv")
      ctx.tablegen(ctx, "LLVM", "PPCGenDAGISel.inc", "-gen-dag-isel")
      ctx.tablegen(ctx, "LLVM", "PPCGenDisassemblerTables.inc", "-gen-disassembler")
      ctx.tablegen(ctx, "LLVM", "PPCGenFastISel.inc", "-gen-fast-isel")
      ctx.tablegen(ctx, "LLVM", "PPCGenInstrInfo.inc", "-gen-instr-info")
      ctx.tablegen(ctx, "LLVM", "PPCGenMCCodeEmitter.inc", "-gen-emitter")
      ctx.tablegen(ctx, "LLVM", "PPCGenRegisterInfo.inc", "-gen-register-info")
      ctx.tablegen(ctx, "LLVM", "PPCGenSubtargetInfo.inc", "-gen-subtarget")
      ctx.tablegen(ctx, "LLVM", "PPCGenExegesis.inc", "-gen-exegesis")
      ctx.add_public_tablegen_target(ctx, "PowerPCCommonTableGen")
      ctx.add_llvm_target(ctx, "PowerPCCodeGen", "PPCBoolRetToInt.cpp", "PPCAsmPrinter.cpp", "PPCBranchSelector.cpp", "PPCBranchCoalescing.cpp", "PPCCallingConv.cpp", "PPCCCState.cpp", "PPCCTRLoops.cpp", "PPCHazardRecognizers.cpp", "PPCInstrInfo.cpp", "PPCISelDAGToDAG.cpp", "PPCISelLowering.cpp", "PPCEarlyReturn.cpp", "PPCFastISel.cpp", "PPCFrameLowering.cpp", "PPCLoopPreIncPrep.cpp", "PPCMCInstLower.cpp", "PPCMachineFunctionInfo.cpp", "PPCMachineScheduler.cpp", "PPCMIPeephole.cpp", "PPCRegisterInfo.cpp", "PPCQPXLoadSplat.cpp", "PPCSubtarget.cpp", "PPCTargetMachine.cpp", "PPCTargetObjectFile.cpp", "PPCTargetTransformInfo.cpp", "PPCTOCRegDeps.cpp", "PPCTLSDynamicCall.cpp", "PPCVSXCopy.cpp", "PPCReduceCRLogicals.cpp", "PPCVSXFMAMutate.cpp", "PPCVSXSwapRemoval.cpp", "PPCExpandISEL.cpp", "PPCPreEmitPeephole.cpp")
      ctx = ctx.enter_directory(ctx, "AsmParser")
      ctx.add_llvm_library(ctx, "LLVMPowerPCAsmParser", "PPCAsmParser.cpp")
      ctx = ctx.exit_directory(ctx, "AsmParser")
      ctx = ctx.enter_directory(ctx, "Disassembler")
      ctx.add_llvm_library(ctx, "LLVMPowerPCDisassembler", "PPCDisassembler.cpp")
      ctx = ctx.exit_directory(ctx, "Disassembler")
      ctx = ctx.enter_directory(ctx, "MCTargetDesc")
      ctx.add_llvm_library(ctx, "LLVMPowerPCDesc", "PPCAsmBackend.cpp", "PPCInstPrinter.cpp", "PPCMCTargetDesc.cpp", "PPCMCAsmInfo.cpp", "PPCMCCodeEmitter.cpp", "PPCMCExpr.cpp", "PPCPredicates.cpp", "PPCMachObjectWriter.cpp", "PPCELFObjectWriter.cpp")
      ctx = ctx.exit_directory(ctx, "MCTargetDesc")
      ctx = ctx.enter_directory(ctx, "TargetInfo")
      ctx.add_llvm_library(ctx, "LLVMPowerPCInfo", "PowerPCTargetInfo.cpp")
      ctx = ctx.exit_directory(ctx, "TargetInfo")
      ctx = ctx.exit_directory(ctx, "lib/Target/PowerPC")
      ctx = ctx.enter_directory(ctx, "lib/Target/ARM")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "ARM.td")
      ctx.tablegen(ctx, "LLVM", "ARMGenAsmMatcher.inc", "-gen-asm-matcher")
      ctx.tablegen(ctx, "LLVM", "ARMGenAsmWriter.inc", "-gen-asm-writer")
      ctx.tablegen(ctx, "LLVM", "ARMGenCallingConv.inc", "-gen-callingconv")
      ctx.tablegen(ctx, "LLVM", "ARMGenDAGISel.inc", "-gen-dag-isel")
      ctx.tablegen(ctx, "LLVM", "ARMGenDisassemblerTables.inc", "-gen-disassembler")
      ctx.tablegen(ctx, "LLVM", "ARMGenFastISel.inc", "-gen-fast-isel")
      ctx.tablegen(ctx, "LLVM", "ARMGenGlobalISel.inc", "-gen-global-isel")
      ctx.tablegen(ctx, "LLVM", "ARMGenInstrInfo.inc", "-gen-instr-info")
      ctx.tablegen(ctx, "LLVM", "ARMGenMCCodeEmitter.inc", "-gen-emitter")
      ctx.tablegen(ctx, "LLVM", "ARMGenMCPseudoLowering.inc", "-gen-pseudo-lowering")
      ctx.tablegen(ctx, "LLVM", "ARMGenRegisterBank.inc", "-gen-register-bank")
      ctx.tablegen(ctx, "LLVM", "ARMGenRegisterInfo.inc", "-gen-register-info")
      ctx.tablegen(ctx, "LLVM", "ARMGenSubtargetInfo.inc", "-gen-subtarget")
      ctx.tablegen(ctx, "LLVM", "ARMGenSystemRegister.inc", "-gen-searchable-tables")
      ctx.add_public_tablegen_target(ctx, "ARMCommonTableGen")
      ctx.add_llvm_target(ctx, "ARMCodeGen", "A15SDOptimizer.cpp", "ARMAsmPrinter.cpp", "ARMBaseInstrInfo.cpp", "ARMBaseRegisterInfo.cpp", "ARMCallingConv.cpp", "ARMCallLowering.cpp", "ARMCodeGenPrepare.cpp", "ARMConstantIslandPass.cpp", "ARMConstantPoolValue.cpp", "ARMExpandPseudoInsts.cpp", "ARMFastISel.cpp", "ARMFrameLowering.cpp", "ARMHazardRecognizer.cpp", "ARMInstructionSelector.cpp", "ARMISelDAGToDAG.cpp", "ARMISelLowering.cpp", "ARMInstrInfo.cpp", "ARMLegalizerInfo.cpp", "ARMParallelDSP.cpp", "ARMLoadStoreOptimizer.cpp", "ARMMCInstLower.cpp", "ARMMachineFunctionInfo.cpp", "ARMMacroFusion.cpp", "ARMRegisterInfo.cpp", "ARMOptimizeBarriersPass.cpp", "ARMRegisterBankInfo.cpp", "ARMSelectionDAGInfo.cpp", "ARMSubtarget.cpp", "ARMTargetMachine.cpp", "ARMTargetObjectFile.cpp", "ARMTargetTransformInfo.cpp", "MLxExpansionPass.cpp", "Thumb1FrameLowering.cpp", "Thumb1InstrInfo.cpp", "ThumbRegisterInfo.cpp", "Thumb2ITBlockPass.cpp", "Thumb2InstrInfo.cpp", "Thumb2SizeReduction.cpp", "ARMComputeBlockSize.cpp")
      ctx = ctx.enter_directory(ctx, "AsmParser")
      ctx.add_llvm_library(ctx, "LLVMARMAsmParser", "ARMAsmParser.cpp")
      ctx = ctx.exit_directory(ctx, "AsmParser")
      ctx = ctx.enter_directory(ctx, "Disassembler")
      ctx.add_llvm_library(ctx, "LLVMARMDisassembler", "ARMDisassembler.cpp")
      ctx = ctx.exit_directory(ctx, "Disassembler")
      ctx = ctx.enter_directory(ctx, "MCTargetDesc")
      ctx.add_llvm_library(ctx, "LLVMARMDesc", "ARMAsmBackend.cpp", "ARMELFObjectWriter.cpp", "ARMELFStreamer.cpp", "ARMInstPrinter.cpp", "ARMMachObjectWriter.cpp", "ARMMachORelocationInfo.cpp", "ARMMCAsmInfo.cpp", "ARMMCCodeEmitter.cpp", "ARMMCExpr.cpp", "ARMMCTargetDesc.cpp", "ARMTargetStreamer.cpp", "ARMUnwindOpAsm.cpp", "ARMWinCOFFObjectWriter.cpp", "ARMWinCOFFStreamer.cpp")
      ctx = ctx.exit_directory(ctx, "MCTargetDesc")
      ctx = ctx.enter_directory(ctx, "TargetInfo")
      ctx.add_llvm_library(ctx, "LLVMARMInfo", "ARMTargetInfo.cpp")
      ctx = ctx.exit_directory(ctx, "TargetInfo")
      ctx = ctx.enter_directory(ctx, "Utils")
      ctx.add_llvm_library(ctx, "LLVMARMUtils", "ARMBaseInfo.cpp")
      ctx = ctx.exit_directory(ctx, "Utils")
      ctx = ctx.exit_directory(ctx, "lib/Target/ARM")
      ctx = ctx.enter_directory(ctx, "lib/Target/AArch64")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "AArch64.td")
      ctx.tablegen(ctx, "LLVM", "AArch64GenAsmMatcher.inc", "-gen-asm-matcher")
      ctx.tablegen(ctx, "LLVM", "AArch64GenAsmWriter.inc", "-gen-asm-writer")
      ctx.tablegen(ctx, "LLVM", "AArch64GenAsmWriter1.inc", "-gen-asm-writer", "-asmwriternum=1")
      ctx.tablegen(ctx, "LLVM", "AArch64GenCallingConv.inc", "-gen-callingconv")
      ctx.tablegen(ctx, "LLVM", "AArch64GenDAGISel.inc", "-gen-dag-isel")
      ctx.tablegen(ctx, "LLVM", "AArch64GenDisassemblerTables.inc", "-gen-disassembler")
      ctx.tablegen(ctx, "LLVM", "AArch64GenFastISel.inc", "-gen-fast-isel")
      ctx.tablegen(ctx, "LLVM", "AArch64GenGlobalISel.inc", "-gen-global-isel")
      ctx.tablegen(ctx, "LLVM", "AArch64GenInstrInfo.inc", "-gen-instr-info")
      ctx.tablegen(ctx, "LLVM", "AArch64GenMCCodeEmitter.inc", "-gen-emitter")
      ctx.tablegen(ctx, "LLVM", "AArch64GenMCPseudoLowering.inc", "-gen-pseudo-lowering")
      ctx.tablegen(ctx, "LLVM", "AArch64GenRegisterBank.inc", "-gen-register-bank")
      ctx.tablegen(ctx, "LLVM", "AArch64GenRegisterInfo.inc", "-gen-register-info")
      ctx.tablegen(ctx, "LLVM", "AArch64GenSubtargetInfo.inc", "-gen-subtarget")
      ctx.tablegen(ctx, "LLVM", "AArch64GenSystemOperands.inc", "-gen-searchable-tables")
      ctx.tablegen(ctx, "LLVM", "AArch64GenExegesis.inc", "-gen-exegesis")
      ctx.add_public_tablegen_target(ctx, "AArch64CommonTableGen")
      ctx.add_llvm_target(ctx, "AArch64CodeGen", "AArch64A57FPLoadBalancing.cpp", "AArch64AdvSIMDScalarPass.cpp", "AArch64AsmPrinter.cpp", "AArch64BranchTargets.cpp", "AArch64CallingConvention.cpp", "AArch64CallLowering.cpp", "AArch64CleanupLocalDynamicTLSPass.cpp", "AArch64CollectLOH.cpp", "AArch64CondBrTuning.cpp", "AArch64ConditionalCompares.cpp", "AArch64DeadRegisterDefinitionsPass.cpp", "AArch64ExpandImm.cpp", "AArch64ExpandPseudoInsts.cpp", "AArch64FalkorHWPFFix.cpp", "AArch64FastISel.cpp", "AArch64A53Fix835769.cpp", "AArch64FrameLowering.cpp", "AArch64CompressJumpTables.cpp", "AArch64ConditionOptimizer.cpp", "AArch64RedundantCopyElimination.cpp", "AArch64ISelDAGToDAG.cpp", "AArch64ISelLowering.cpp", "AArch64InstrInfo.cpp", "AArch64InstructionSelector.cpp", "AArch64LegalizerInfo.cpp", "AArch64LoadStoreOptimizer.cpp", "AArch64MacroFusion.cpp", "AArch64MCInstLower.cpp", "AArch64PreLegalizerCombiner.cpp", "AArch64PromoteConstant.cpp", "AArch64PBQPRegAlloc.cpp", "AArch64RegisterBankInfo.cpp", "AArch64RegisterInfo.cpp", "AArch64SelectionDAGInfo.cpp", "AArch64SpeculationHardening.cpp", "AArch64StorePairSuppress.cpp", "AArch64Subtarget.cpp", "AArch64TargetMachine.cpp", "AArch64TargetObjectFile.cpp", "AArch64TargetTransformInfo.cpp", "AArch64SIMDInstrOpt.cpp", "DEPENDS", "intrinsics_gen")
      ctx = ctx.enter_directory(ctx, "AsmParser")
      ctx.add_llvm_library(ctx, "LLVMAArch64AsmParser", "AArch64AsmParser.cpp")
      ctx = ctx.exit_directory(ctx, "AsmParser")
      ctx = ctx.enter_directory(ctx, "Disassembler")
      ctx.add_llvm_library(ctx, "LLVMAArch64Disassembler", "AArch64Disassembler.cpp", "AArch64ExternalSymbolizer.cpp")
      ctx = ctx.exit_directory(ctx, "Disassembler")
      ctx = ctx.enter_directory(ctx, "MCTargetDesc")
      ctx.add_llvm_library(ctx, "LLVMAArch64Desc", "AArch64AsmBackend.cpp", "AArch64ELFObjectWriter.cpp", "AArch64ELFStreamer.cpp", "AArch64InstPrinter.cpp", "AArch64MCAsmInfo.cpp", "AArch64MCCodeEmitter.cpp", "AArch64MCExpr.cpp", "AArch64MCTargetDesc.cpp", "AArch64MachObjectWriter.cpp", "AArch64TargetStreamer.cpp", "AArch64WinCOFFObjectWriter.cpp", "AArch64WinCOFFStreamer.cpp")
      ctx = ctx.exit_directory(ctx, "MCTargetDesc")
      ctx = ctx.enter_directory(ctx, "TargetInfo")
      ctx.add_llvm_library(ctx, "LLVMAArch64Info", "AArch64TargetInfo.cpp")
      ctx = ctx.exit_directory(ctx, "TargetInfo")
      ctx = ctx.enter_directory(ctx, "Utils")
      ctx.add_llvm_library(ctx, "LLVMAArch64Utils", "AArch64BaseInfo.cpp")
      ctx = ctx.exit_directory(ctx, "Utils")
      ctx = ctx.exit_directory(ctx, "lib/Target/AArch64")
      ctx = ctx.enter_directory(ctx, "lib/Target/Mips")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "Mips.td")
      ctx.tablegen(ctx, "LLVM", "MipsGenAsmMatcher.inc", "-gen-asm-matcher")
      ctx.tablegen(ctx, "LLVM", "MipsGenAsmWriter.inc", "-gen-asm-writer")
      ctx.tablegen(ctx, "LLVM", "MipsGenCallingConv.inc", "-gen-callingconv")
      ctx.tablegen(ctx, "LLVM", "MipsGenDAGISel.inc", "-gen-dag-isel")
      ctx.tablegen(ctx, "LLVM", "MipsGenDisassemblerTables.inc", "-gen-disassembler")
      ctx.tablegen(ctx, "LLVM", "MipsGenFastISel.inc", "-gen-fast-isel")
      ctx.tablegen(ctx, "LLVM", "MipsGenGlobalISel.inc", "-gen-global-isel")
      ctx.tablegen(ctx, "LLVM", "MipsGenInstrInfo.inc", "-gen-instr-info")
      ctx.tablegen(ctx, "LLVM", "MipsGenMCCodeEmitter.inc", "-gen-emitter")
      ctx.tablegen(ctx, "LLVM", "MipsGenMCPseudoLowering.inc", "-gen-pseudo-lowering")
      ctx.tablegen(ctx, "LLVM", "MipsGenRegisterBank.inc", "-gen-register-bank")
      ctx.tablegen(ctx, "LLVM", "MipsGenRegisterInfo.inc", "-gen-register-info")
      ctx.tablegen(ctx, "LLVM", "MipsGenSubtargetInfo.inc", "-gen-subtarget")
      ctx.add_public_tablegen_target(ctx, "MipsCommonTableGen")
      ctx.add_llvm_target(ctx, "MipsCodeGen", "Mips16FrameLowering.cpp", "Mips16HardFloat.cpp", "Mips16HardFloatInfo.cpp", "Mips16InstrInfo.cpp", "Mips16ISelDAGToDAG.cpp", "Mips16ISelLowering.cpp", "Mips16RegisterInfo.cpp", "MipsAnalyzeImmediate.cpp", "MipsAsmPrinter.cpp", "MipsCallLowering.cpp", "MipsCCState.cpp", "MipsConstantIslandPass.cpp", "MipsDelaySlotFiller.cpp", "MipsExpandPseudo.cpp", "MipsFastISel.cpp", "MipsInstrInfo.cpp", "MipsInstructionSelector.cpp", "MipsISelDAGToDAG.cpp", "MipsISelLowering.cpp", "MipsFrameLowering.cpp", "MipsLegalizerInfo.cpp", "MipsBranchExpansion.cpp", "MipsMCInstLower.cpp", "MipsMachineFunction.cpp", "MipsModuleISelDAGToDAG.cpp", "MipsOptimizePICCall.cpp", "MipsOs16.cpp", "MipsPreLegalizerCombiner.cpp", "MipsRegisterBankInfo.cpp", "MipsRegisterInfo.cpp", "MipsSEFrameLowering.cpp", "MipsSEInstrInfo.cpp", "MipsSEISelDAGToDAG.cpp", "MipsSEISelLowering.cpp", "MipsSERegisterInfo.cpp", "MipsSubtarget.cpp", "MipsTargetMachine.cpp", "MipsTargetObjectFile.cpp", "MicroMipsSizeReduction.cpp")
      ctx = ctx.enter_directory(ctx, "AsmParser")
      ctx.add_llvm_library(ctx, "LLVMMipsAsmParser", "MipsAsmParser.cpp")
      ctx = ctx.exit_directory(ctx, "AsmParser")
      ctx = ctx.enter_directory(ctx, "Disassembler")
      ctx.add_llvm_library(ctx, "LLVMMipsDisassembler", "MipsDisassembler.cpp")
      ctx = ctx.exit_directory(ctx, "Disassembler")
      ctx = ctx.enter_directory(ctx, "MCTargetDesc")
      ctx.add_llvm_library(ctx, "LLVMMipsDesc", "MipsABIInfo.cpp", "MipsABIFlagsSection.cpp", "MipsAsmBackend.cpp", "MipsELFObjectWriter.cpp", "MipsELFStreamer.cpp", "MipsInstPrinter.cpp", "MipsMCAsmInfo.cpp", "MipsMCCodeEmitter.cpp", "MipsMCExpr.cpp", "MipsMCTargetDesc.cpp", "MipsNaClELFStreamer.cpp", "MipsOptionRecord.cpp", "MipsTargetStreamer.cpp")
      ctx = ctx.exit_directory(ctx, "MCTargetDesc")
      ctx = ctx.enter_directory(ctx, "TargetInfo")
      ctx.add_llvm_library(ctx, "LLVMMipsInfo", "MipsTargetInfo.cpp")
      ctx = ctx.exit_directory(ctx, "TargetInfo")
      ctx = ctx.exit_directory(ctx, "lib/Target/Mips")
      ctx = ctx.enter_directory(ctx, "tools/clang")
      ctx.set(ctx, "CLANG_RESOURCE_DIR", "", "CACHE", "STRING", "Relative directory from the Clang binary to its resource files.")
      ctx.set(ctx, "C_INCLUDE_DIRS", "", "CACHE", "STRING", "Colon separated list of directories clang will search for headers.")
      ctx.set(ctx, "GCC_INSTALL_PREFIX", "", "CACHE", "PATH", "Directory where gcc is installed.")
      ctx.set(ctx, "DEFAULT_SYSROOT", "", "CACHE", "PATH", "Default <path> to all compiler invocations for --sysroot=<path>.")
      ctx.set(ctx, "ENABLE_LINKER_BUILD_ID", "OFF", "CACHE", "BOOL", "pass --build-id to ld")
      ctx.set(ctx, "ENABLE_X86_RELAX_RELOCATIONS", "OFF", "CACHE", "BOOL", "enable x86 relax relocations by default")
      ctx.set(ctx, "ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER", "FALSE", "CACHE", "BOOL", "Enable the experimental new pass manager by default.")
      ctx.set(ctx, "CLANG_DEFAULT_STD_C", "", "CACHE", "STRING", "Default standard to use for C/ObjC code (IDENT from LangStandards.def, empty for platform default)")
      ctx.set(ctx, "CLANG_DEFAULT_STD_CXX", "", "CACHE", "STRING", "Default standard to use for C++/ObjC++ code (IDENT from LangStandards.def, empty for platform default)")
      ctx.set(ctx, "CLANG_DEFAULT_LINKER", "", "CACHE", "STRING", "Default linker to use (linker name or absolute path, empty for platform default)")
      ctx.set(ctx, "CLANG_DEFAULT_CXX_STDLIB", "", "CACHE", "STRING", "Default C++ stdlib to use (\\\"libstdc++\\\" or \\\"libc++\\\", empty for platform default")
      ctx.set(ctx, "CLANG_DEFAULT_RTLIB", "", "CACHE", "STRING", "Default runtime library to use (\\\"libgcc\\\" or \\\"compiler-rt\\\", empty for platform default)")
      ctx.set(ctx, "CLANG_DEFAULT_UNWINDLIB", "", "CACHE", "STRING", "Default unwind library to use (\\\"none\\\" \\\"libgcc\\\" or \\\"libunwind\\\", empty to match runtime library.)")
      ctx.set(ctx, "CLANG_DEFAULT_OBJCOPY", "objcopy", "CACHE", "STRING", "Default objcopy executable to use.")
      ctx.set(ctx, "CLANG_DEFAULT_OPENMP_RUNTIME", "libomp", "CACHE", "STRING", "Default OpenMP runtime used by -fopenmp.")
      ctx.set(ctx, "CLANG_OPENMP_NVPTX_DEFAULT_ARCH", "sm_35", "CACHE", "STRING", "Default architecture for OpenMP offloading to Nvidia GPUs.")
      ctx.set(ctx, "CLANG_VENDOR", "", "CACHE", "STRING", "Vendor-specific text for showing with version information.")
      ctx.set(ctx, "CLANG_REPOSITORY_STRING", "", "CACHE", "STRING", "Vendor-specific text for showing the repository the source is taken from.")
      ctx.set(ctx, "CLANG_VENDOR_UTI", "org.llvm.clang", "CACHE", "STRING", "Vendor-specific uti.")
      ctx.set(ctx, "CLANG_PYTHON_BINDINGS_VERSIONS", "", "CACHE", "STRING", "Python versions to install libclang python bindings for")
      ctx.set(ctx, "CLANG_LIBDIR_SUFFIX", "")
      ctx.set(ctx, "CLANG_SOURCE_DIR", "/tools/clang")
      ctx.set(ctx, "CLANG_BINARY_DIR", "/tools/clang")
      ctx.set(ctx, "CLANG_VERSION", "..")
      ctx.configure_file(ctx, "/tools/clang/include/clang/Basic/Version.inc.in", "/tools/clang/include/clang/Basic/Version.inc")
      ctx.set(ctx, "HOST_LINK_VERSION")
      ctx.set(ctx, "CMAKE_INCLUDE_CURRENT_DIR", "ON")
      ctx.set(ctx, "CLANG_EXECUTABLE_VERSION", "", "CACHE", "STRING", "Major version number that will be appended to the clang executable name")
      ctx.set(ctx, "LIBCLANG_LIBRARY_VERSION", "", "CACHE", "STRING", "Major version number that will be appended to the libclang library")
      ctx = ctx.enter_directory(ctx, "utils/TableGen")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx.add_tablegen(ctx, "clang-tblgen", "CLANG", "ClangASTNodesEmitter.cpp", "ClangAttrEmitter.cpp", "ClangCommentCommandInfoEmitter.cpp", "ClangCommentHTMLNamedCharacterReferenceEmitter.cpp", "ClangCommentHTMLTagsEmitter.cpp", "ClangDataCollectorsEmitter.cpp", "ClangDiagnosticsEmitter.cpp", "ClangOptionDocEmitter.cpp", "ClangSACheckersEmitter.cpp", "NeonEmitter.cpp", "TableGen.cpp")
      ctx = ctx.exit_directory(ctx, "utils/TableGen")
      ctx = ctx.enter_directory(ctx, "include")
      ctx = ctx.enter_directory(ctx, "clang")
      ctx = ctx.enter_directory(ctx, "AST")
      ctx.clang_tablegen(ctx, "Attrs.inc", "-gen-clang-attr-classes", "-I", "/tools/clang/include/clang/AST/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrClasses")
      ctx.clang_tablegen(ctx, "AttrImpl.inc", "-gen-clang-attr-impl", "-I", "/tools/clang/include/clang/AST/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrImpl")
      ctx.clang_tablegen(ctx, "AttrTextNodeDump.inc", "-gen-clang-attr-text-node-dump", "-I", "/tools/clang/include/clang/AST/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrTextDump")
      ctx.clang_tablegen(ctx, "AttrNodeTraverse.inc", "-gen-clang-attr-node-traverse", "-I", "/tools/clang/include/clang/AST/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrTraverse")
      ctx.clang_tablegen(ctx, "AttrVisitor.inc", "-gen-clang-attr-ast-visitor", "-I", "/tools/clang/include/clang/AST/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrVisitor")
      ctx.clang_tablegen(ctx, "StmtNodes.inc", "-gen-clang-stmt-nodes", "SOURCE", "../Basic/StmtNodes.td", "TARGET", "ClangStmtNodes")
      ctx.clang_tablegen(ctx, "DeclNodes.inc", "-gen-clang-decl-nodes", "SOURCE", "../Basic/DeclNodes.td", "TARGET", "ClangDeclNodes")
      ctx.clang_tablegen(ctx, "CommentNodes.inc", "-gen-clang-comment-nodes", "SOURCE", "../Basic/CommentNodes.td", "TARGET", "ClangCommentNodes")
      ctx.clang_tablegen(ctx, "CommentHTMLTags.inc", "-gen-clang-comment-html-tags", "SOURCE", "CommentHTMLTags.td", "TARGET", "ClangCommentHTMLTags")
      ctx.clang_tablegen(ctx, "CommentHTMLTagsProperties.inc", "-gen-clang-comment-html-tags-properties", "SOURCE", "CommentHTMLTags.td", "TARGET", "ClangCommentHTMLTagsProperties")
      ctx.clang_tablegen(ctx, "CommentHTMLNamedCharacterReferences.inc", "-gen-clang-comment-html-named-character-references", "SOURCE", "CommentHTMLNamedCharacterReferences.td", "TARGET", "ClangCommentHTMLNamedCharacterReferences")
      ctx.clang_tablegen(ctx, "CommentCommandInfo.inc", "-gen-clang-comment-command-info", "SOURCE", "CommentCommands.td", "TARGET", "ClangCommentCommandInfo")
      ctx.clang_tablegen(ctx, "CommentCommandList.inc", "-gen-clang-comment-command-list", "SOURCE", "CommentCommands.td", "TARGET", "ClangCommentCommandList")
      ctx.clang_tablegen(ctx, "StmtDataCollectors.inc", "-gen-clang-data-collectors", "SOURCE", "StmtDataCollectors.td", "TARGET", "StmtDataCollectors")
      ctx = ctx.exit_directory(ctx, "AST")
      ctx = ctx.enter_directory(ctx, "Basic")
      ctx.clang_diag_gen(ctx, "Analysis")
      ctx.clang_diag_gen(ctx, "AST")
      ctx.clang_diag_gen(ctx, "Comment")
      ctx.clang_diag_gen(ctx, "Common")
      ctx.clang_diag_gen(ctx, "CrossTU")
      ctx.clang_diag_gen(ctx, "Driver")
      ctx.clang_diag_gen(ctx, "Frontend")
      ctx.clang_diag_gen(ctx, "Lex")
      ctx.clang_diag_gen(ctx, "Parse")
      ctx.clang_diag_gen(ctx, "Refactoring")
      ctx.clang_diag_gen(ctx, "Sema")
      ctx.clang_diag_gen(ctx, "Serialization")
      ctx.clang_tablegen(ctx, "DiagnosticGroups.inc", "-gen-clang-diag-groups", "SOURCE", "Diagnostic.td", "TARGET", "ClangDiagnosticGroups")
      ctx.clang_tablegen(ctx, "DiagnosticIndexName.inc", "-gen-clang-diags-index-name", "SOURCE", "Diagnostic.td", "TARGET", "ClangDiagnosticIndexName")
      ctx.clang_tablegen(ctx, "AttrList.inc", "-gen-clang-attr-list", "-I", "/tools/clang/include/clang/Basic/../../", "SOURCE", "Attr.td", "TARGET", "ClangAttrList")
      ctx.clang_tablegen(ctx, "AttrSubMatchRulesList.inc", "-gen-clang-attr-subject-match-rule-list", "-I", "/tools/clang/include/clang/Basic/../../", "SOURCE", "Attr.td", "TARGET", "ClangAttrSubjectMatchRuleList")
      ctx.clang_tablegen(ctx, "AttrHasAttributeImpl.inc", "-gen-clang-attr-has-attribute-impl", "-I", "/tools/clang/include/clang/Basic/../../", "SOURCE", "Attr.td", "TARGET", "ClangAttrHasAttributeImpl")
      ctx.clang_tablegen(ctx, "arm_neon.inc", "-gen-arm-neon-sema", "SOURCE", "arm_neon.td", "TARGET", "ClangARMNeon")
      ctx.clang_tablegen(ctx, "arm_fp16.inc", "-gen-arm-neon-sema", "SOURCE", "arm_fp16.td", "TARGET", "ClangARMFP16")
      ctx = ctx.exit_directory(ctx, "Basic")
      ctx = ctx.enter_directory(ctx, "Driver")
      ctx.set(ctx, "LLVM_TARGET_DEFINITIONS", "Options.td")
      ctx.tablegen(ctx, "LLVM", "Options.inc", "-gen-opt-parser-defs")
      ctx.add_public_tablegen_target(ctx, "ClangDriverOptions")
      ctx = ctx.exit_directory(ctx, "Driver")
      ctx = ctx.enter_directory(ctx, "Parse")
      ctx.clang_tablegen(ctx, "AttrParserStringSwitches.inc", "-gen-clang-attr-parser-string-switches", "-I", "/tools/clang/include/clang/Parse/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrParserStringSwitches")
      ctx.clang_tablegen(ctx, "AttrSubMatchRulesParserStringSwitches.inc", "-gen-clang-attr-subject-match-rules-parser-string-switches", "-I", "/tools/clang/include/clang/Parse/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrSubMatchRulesParserStringSwitches")
      ctx = ctx.exit_directory(ctx, "Parse")
      ctx = ctx.enter_directory(ctx, "Sema")
      ctx.clang_tablegen(ctx, "AttrTemplateInstantiate.inc", "-gen-clang-attr-template-instantiate", "-I", "/tools/clang/include/clang/Sema/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrTemplateInstantiate")
      ctx.clang_tablegen(ctx, "AttrParsedAttrList.inc", "-gen-clang-attr-parsed-attr-list", "-I", "/tools/clang/include/clang/Sema/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrParsedAttrList")
      ctx.clang_tablegen(ctx, "AttrParsedAttrKinds.inc", "-gen-clang-attr-parsed-attr-kinds", "-I", "/tools/clang/include/clang/Sema/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrParsedAttrKinds")
      ctx.clang_tablegen(ctx, "AttrSpellingListIndex.inc", "-gen-clang-attr-spelling-index", "-I", "/tools/clang/include/clang/Sema/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrSpellingListIndex")
      ctx.clang_tablegen(ctx, "AttrParsedAttrImpl.inc", "-gen-clang-attr-parsed-attr-impl", "-I", "/tools/clang/include/clang/Sema/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrParsedAttrImpl")
      ctx = ctx.exit_directory(ctx, "Sema")
      ctx = ctx.enter_directory(ctx, "Serialization")
      ctx.clang_tablegen(ctx, "AttrPCHRead.inc", "-gen-clang-attr-pch-read", "-I", "/tools/clang/include/clang/Serialization/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrPCHRead")
      ctx.clang_tablegen(ctx, "AttrPCHWrite.inc", "-gen-clang-attr-pch-write", "-I", "/tools/clang/include/clang/Serialization/../../", "SOURCE", "../Basic/Attr.td", "TARGET", "ClangAttrPCHWrite")
      ctx = ctx.exit_directory(ctx, "Serialization")
      ctx = ctx.enter_directory(ctx, "StaticAnalyzer/Checkers")
      ctx.clang_tablegen(ctx, "Checkers.inc", "-gen-clang-sa-checkers", "SOURCE", "Checkers.td", "TARGET", "ClangSACheckers")
      ctx = ctx.exit_directory(ctx, "StaticAnalyzer/Checkers")
      ctx = ctx.exit_directory(ctx, "clang")
      ctx = ctx.exit_directory(ctx, "include")
      ctx = ctx.enter_directory(ctx, "lib")
      ctx = ctx.enter_directory(ctx, "Headers")
      ctx.set(ctx, "files", "adxintrin.h", "altivec.h", "ammintrin.h", "arm_acle.h", "armintr.h", "arm64intr.h", "avx2intrin.h", "avx512bf16intrin.h", "avx512bwintrin.h", "avx512bitalgintrin.h", "avx512vlbitalgintrin.h", "avx512cdintrin.h", "avx512vpopcntdqintrin.h", "avx512dqintrin.h", "avx512erintrin.h", "avx512fintrin.h", "avx512ifmaintrin.h", "avx512ifmavlintrin.h", "avx512pfintrin.h", "avx512vbmiintrin.h", "avx512vbmivlintrin.h", "avx512vbmi2intrin.h", "avx512vlvbmi2intrin.h", "avx512vlbf16intrin.h", "avx512vlbwintrin.h", "avx512vlcdintrin.h", "avx512vldqintrin.h", "avx512vlintrin.h", "avx512vpopcntdqvlintrin.h", "avx512vnniintrin.h", "avx512vlvnniintrin.h", "avxintrin.h", "bmi2intrin.h", "bmiintrin.h", "__clang_cuda_builtin_vars.h", "__clang_cuda_cmath.h", "__clang_cuda_complex_builtins.h", "__clang_cuda_device_functions.h", "__clang_cuda_intrinsics.h", "__clang_cuda_libdevice_declares.h", "__clang_cuda_math_forward_declares.h", "__clang_cuda_runtime_wrapper.h", "cetintrin.h", "cldemoteintrin.h", "clzerointrin.h", "cpuid.h", "clflushoptintrin.h", "clwbintrin.h", "emmintrin.h", "f16cintrin.h", "float.h", "fma4intrin.h", "fmaintrin.h", "fxsrintrin.h", "gfniintrin.h", "htmintrin.h", "htmxlintrin.h", "ia32intrin.h", "immintrin.h", "intrin.h", "inttypes.h", "invpcidintrin.h", "iso646.h", "limits.h", "lwpintrin.h", "lzcntintrin.h", "mm3dnow.h", "mmintrin.h", "mm_malloc.h", "module.modulemap", "movdirintrin.h", "msa.h", "mwaitxintrin.h", "nmmintrin.h", "opencl-c.h", "pkuintrin.h", "pmmintrin.h", "pconfigintrin.h", "popcntintrin.h", "prfchwintrin.h", "ptwriteintrin.h", "rdseedintrin.h", "rtmintrin.h", "sgxintrin.h", "s390intrin.h", "shaintrin.h", "smmintrin.h", "stdalign.h", "stdarg.h", "stdatomic.h", "stdbool.h", "stddef.h", "__stddef_max_align_t.h", "stdint.h", "stdnoreturn.h", "tbmintrin.h", "tgmath.h", "tmmintrin.h", "unwind.h", "vadefs.h", "vaesintrin.h", "varargs.h", "vecintrin.h", "vpclmulqdqintrin.h", "waitpkgintrin.h", "wbnoinvdintrin.h", "wmmintrin.h", "__wmmintrin_aes.h", "__wmmintrin_pclmul.h", "x86intrin.h", "xmmintrin.h", "xopintrin.h", "xsavecintrin.h", "xsaveintrin.h", "xsaveoptintrin.h", "xsavesintrin.h", "xtestintrin.h")
      ctx.set(ctx, "cuda_wrapper_files", "cuda_wrappers/algorithm", "cuda_wrappers/complex", "cuda_wrappers/new")
      ctx.set(ctx, "ppc_wrapper_files", "ppc_wrappers/mmintrin.h")
      ctx.set(ctx, "openmp_wrapper_files", "openmp_wrappers/math.h", "openmp_wrappers/cmath", "openmp_wrappers/__clang_openmp_math.h", "openmp_wrappers/__clang_openmp_math_declares.h")
      ctx.set(ctx, "output_dir", "/clang//include")
      ctx.set(ctx, "out_files")
      ctx.set(ctx, "generated_files")
      ctx.set(ctx, "header_install_dir", "lib/clang//include")
      ctx = ctx.exit_directory(ctx, "Headers")
      ctx = ctx.enter_directory(ctx, "Basic")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Core", "MC", "Support")
      ctx.set(ctx, "version_inc", "/tools/clang/lib/Basic/VCSVersion.inc")
      ctx.set(ctx, "generate_vcs_version_script", "/GenerateVersionFromVCS.cmake")
      ctx.add_clang_library(ctx, "clangBasic", "Attributes.cpp", "Builtins.cpp", "CharInfo.cpp", "CodeGenOptions.cpp", "Cuda.cpp", "Diagnostic.cpp", "DiagnosticIDs.cpp", "DiagnosticOptions.cpp", "FileManager.cpp", "FileSystemStatCache.cpp", "FixedPoint.cpp", "IdentifierTable.cpp", "LangOptions.cpp", "Module.cpp", "ObjCRuntime.cpp", "OpenMPKinds.cpp", "OperatorPrecedence.cpp", "SanitizerBlacklist.cpp", "SanitizerSpecialCaseList.cpp", "Sanitizers.cpp", "SourceLocation.cpp", "SourceManager.cpp", "TargetInfo.cpp", "Targets.cpp", "Targets/AArch64.cpp", "Targets/AMDGPU.cpp", "Targets/ARC.cpp", "Targets/ARM.cpp", "Targets/AVR.cpp", "Targets/BPF.cpp", "Targets/Hexagon.cpp", "Targets/Lanai.cpp", "Targets/Le64.cpp", "Targets/MSP430.cpp", "Targets/Mips.cpp", "Targets/NVPTX.cpp", "Targets/OSTargets.cpp", "Targets/PNaCl.cpp", "Targets/PPC.cpp", "Targets/RISCV.cpp", "Targets/SPIR.cpp", "Targets/Sparc.cpp", "Targets/SystemZ.cpp", "Targets/TCE.cpp", "Targets/WebAssembly.cpp", "Targets/X86.cpp", "Targets/XCore.cpp", "TokenKinds.cpp", "Version.cpp", "Warnings.cpp", "XRayInstr.cpp", "XRayLists.cpp", "")
      ctx = ctx.exit_directory(ctx, "Basic")
      ctx = ctx.enter_directory(ctx, "Lex")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "support")
      ctx.add_clang_library(ctx, "clangLex", "HeaderMap.cpp", "HeaderSearch.cpp", "Lexer.cpp", "LiteralSupport.cpp", "MacroArgs.cpp", "MacroInfo.cpp", "ModuleMap.cpp", "PPCaching.cpp", "PPCallbacks.cpp", "PPConditionalDirectiveRecord.cpp", "PPDirectives.cpp", "PPExpressions.cpp", "PPLexerChange.cpp", "PPMacroExpansion.cpp", "Pragma.cpp", "PreprocessingRecord.cpp", "Preprocessor.cpp", "PreprocessorLexer.cpp", "ScratchBuffer.cpp", "TokenConcatenation.cpp", "TokenLexer.cpp", "LINK_LIBS", "clangBasic")
      ctx = ctx.exit_directory(ctx, "Lex")
      ctx = ctx.enter_directory(ctx, "Parse")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "MC", "MCParser", "Support")
      ctx.add_clang_library(ctx, "clangParse", "ParseAST.cpp", "ParseCXXInlineMethods.cpp", "ParseDecl.cpp", "ParseDeclCXX.cpp", "ParseExpr.cpp", "ParseExprCXX.cpp", "ParseInit.cpp", "ParseObjc.cpp", "ParseOpenMP.cpp", "ParsePragma.cpp", "ParseStmt.cpp", "ParseStmtAsm.cpp", "ParseTemplate.cpp", "ParseTentative.cpp", "Parser.cpp", "LINK_LIBS", "clangAST", "clangBasic", "clangLex", "clangSema")
      ctx = ctx.exit_directory(ctx, "Parse")
      ctx = ctx.enter_directory(ctx, "AST")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "BinaryFormat", "Support")
      ctx.add_clang_library(ctx, "clangAST", "APValue.cpp", "ASTConsumer.cpp", "ASTContext.cpp", "ASTDiagnostic.cpp", "ASTDumper.cpp", "ASTImporter.cpp", "ASTImporterLookupTable.cpp", "ASTStructuralEquivalence.cpp", "ASTTypeTraits.cpp", "AttrImpl.cpp", "CXXInheritance.cpp", "Comment.cpp", "CommentBriefParser.cpp", "CommentCommandTraits.cpp", "CommentLexer.cpp", "CommentParser.cpp", "CommentSema.cpp", "ComparisonCategories.cpp", "DataCollection.cpp", "Decl.cpp", "DeclarationName.cpp", "DeclBase.cpp", "DeclCXX.cpp", "DeclFriend.cpp", "DeclGroup.cpp", "DeclObjC.cpp", "DeclOpenMP.cpp", "DeclPrinter.cpp", "DeclTemplate.cpp", "Expr.cpp", "ExprClassification.cpp", "ExprConstant.cpp", "ExprCXX.cpp", "ExprObjC.cpp", "ExternalASTMerger.cpp", "ExternalASTSource.cpp", "FormatString.cpp", "InheritViz.cpp", "ItaniumCXXABI.cpp", "ItaniumMangle.cpp", "JSONNodeDumper.cpp", "Mangle.cpp", "MicrosoftCXXABI.cpp", "MicrosoftMangle.cpp", "NestedNameSpecifier.cpp", "NSAPI.cpp", "ODRHash.cpp", "OSLog.cpp", "OpenMPClause.cpp", "ParentMap.cpp", "PrintfFormatString.cpp", "QualTypeNames.cpp", "RawCommentList.cpp", "RecordLayout.cpp", "RecordLayoutBuilder.cpp", "ScanfFormatString.cpp", "SelectorLocationsKind.cpp", "Stmt.cpp", "StmtCXX.cpp", "StmtIterator.cpp", "StmtObjC.cpp", "StmtOpenMP.cpp", "StmtPrinter.cpp", "StmtProfile.cpp", "StmtViz.cpp", "TemplateBase.cpp", "TemplateName.cpp", "TextNodeDumper.cpp", "Type.cpp", "TypeLoc.cpp", "TypePrinter.cpp", "VTableBuilder.cpp", "VTTBuilder.cpp", "LINK_LIBS", "clangBasic", "clangLex")
      ctx = ctx.exit_directory(ctx, "AST")
      ctx = ctx.enter_directory(ctx, "ASTMatchers")
      ctx = ctx.enter_directory(ctx, "Dynamic")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "support")
      ctx.add_clang_library(ctx, "clangDynamicASTMatchers", "Diagnostics.cpp", "VariantValue.cpp", "Parser.cpp", "Registry.cpp", "LINK_LIBS", "clangAST", "clangASTMatchers", "clangBasic")
      ctx = ctx.exit_directory(ctx, "Dynamic")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "support")
      ctx.add_clang_library(ctx, "clangASTMatchers", "ASTMatchFinder.cpp", "ASTMatchersInternal.cpp", "LINK_LIBS", "clangAST", "clangBasic")
      ctx = ctx.exit_directory(ctx, "ASTMatchers")
      ctx = ctx.enter_directory(ctx, "CrossTU")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx.add_clang_library(ctx, "clangCrossTU", "CrossTranslationUnit.cpp", "LINK_LIBS", "clangAST", "clangBasic", "clangFrontend", "clangIndex")
      ctx = ctx.exit_directory(ctx, "CrossTU")
      ctx = ctx.enter_directory(ctx, "Sema")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx.add_clang_library(ctx, "clangSema", "AnalysisBasedWarnings.cpp", "CodeCompleteConsumer.cpp", "DeclSpec.cpp", "DelayedDiagnostic.cpp", "IdentifierResolver.cpp", "JumpDiagnostics.cpp", "MultiplexExternalSemaSource.cpp", "ParsedAttr.cpp", "Scope.cpp", "ScopeInfo.cpp", "Sema.cpp", "SemaAccess.cpp", "SemaAttr.cpp", "SemaCXXScopeSpec.cpp", "SemaCast.cpp", "SemaChecking.cpp", "SemaCodeComplete.cpp", "SemaConsumer.cpp", "SemaCoroutine.cpp", "SemaCUDA.cpp", "SemaDecl.cpp", "SemaDeclAttr.cpp", "SemaDeclCXX.cpp", "SemaDeclObjC.cpp", "SemaExceptionSpec.cpp", "SemaExpr.cpp", "SemaExprCXX.cpp", "SemaExprMember.cpp", "SemaExprObjC.cpp", "SemaFixItUtils.cpp", "SemaInit.cpp", "SemaLambda.cpp", "SemaLookup.cpp", "SemaModule.cpp", "SemaObjCProperty.cpp", "SemaOpenMP.cpp", "SemaOverload.cpp", "SemaPseudoObject.cpp", "SemaStmt.cpp", "SemaStmtAsm.cpp", "SemaStmtAttr.cpp", "SemaTemplate.cpp", "SemaTemplateDeduction.cpp", "SemaTemplateInstantiate.cpp", "SemaTemplateInstantiateDecl.cpp", "SemaTemplateVariadic.cpp", "SemaType.cpp", "TypeLocBuilder.cpp", "LINK_LIBS", "clangAST", "clangAnalysis", "clangBasic", "clangEdit", "clangLex")
      ctx = ctx.exit_directory(ctx, "Sema")
      ctx = ctx.enter_directory(ctx, "CodeGen")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Analysis", "BitReader", "BitWriter", "Core", "Coroutines", "Coverage", "IPO", "IRReader", "AggressiveInstCombine", "InstCombine", "Instrumentation", "LTO", "Linker", "MC", "ObjCARCOpts", "Object", "Passes", "ProfileData", "ScalarOpts", "Support", "Target", "TransformUtils")
      ctx.set(ctx, "codegen_deps", "intrinsics_gen")
      ctx.add_clang_library(ctx, "clangCodeGen", "BackendUtil.cpp", "CGAtomic.cpp", "CGBlocks.cpp", "CGBuiltin.cpp", "CGCUDANV.cpp", "CGCUDARuntime.cpp", "CGCXX.cpp", "CGCXXABI.cpp", "CGCall.cpp", "CGClass.cpp", "CGCleanup.cpp", "CGCoroutine.cpp", "CGDebugInfo.cpp", "CGDecl.cpp", "CGDeclCXX.cpp", "CGException.cpp", "CGExpr.cpp", "CGExprAgg.cpp", "CGExprCXX.cpp", "CGExprComplex.cpp", "CGExprConstant.cpp", "CGExprScalar.cpp", "CGGPUBuiltin.cpp", "CGLoopInfo.cpp", "CGNonTrivialStruct.cpp", "CGObjC.cpp", "CGObjCGNU.cpp", "CGObjCMac.cpp", "CGObjCRuntime.cpp", "CGOpenCLRuntime.cpp", "CGOpenMPRuntime.cpp", "CGOpenMPRuntimeNVPTX.cpp", "CGRecordLayoutBuilder.cpp", "CGStmt.cpp", "CGStmtOpenMP.cpp", "CGVTT.cpp", "CGVTables.cpp", "CodeGenABITypes.cpp", "CodeGenAction.cpp", "CodeGenFunction.cpp", "CodeGenModule.cpp", "CodeGenPGO.cpp", "CodeGenTBAA.cpp", "CodeGenTypes.cpp", "ConstantInitBuilder.cpp", "CoverageMappingGen.cpp", "ItaniumCXXABI.cpp", "MacroPPCallbacks.cpp", "MicrosoftCXXABI.cpp", "ModuleBuilder.cpp", "ObjectFilePCHContainerOperations.cpp", "PatternInit.cpp", "SanitizerMetadata.cpp", "SwiftCallingConv.cpp", "TargetInfo.cpp", "VarBypassDetector.cpp", "DEPENDS", "", "LINK_LIBS", "clangAnalysis", "clangAST", "clangBasic", "clangFrontend", "clangLex", "clangSerialization")
      ctx = ctx.exit_directory(ctx, "CodeGen")
      ctx = ctx.enter_directory(ctx, "Analysis")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx.add_clang_library(ctx, "clangAnalysis", "AnalysisDeclContext.cpp", "BodyFarm.cpp", "CFG.cpp", "CFGReachabilityAnalysis.cpp", "CFGStmtMap.cpp", "CallGraph.cpp", "CloneDetection.cpp", "CocoaConventions.cpp", "ConstructionContext.cpp", "Consumed.cpp", "CodeInjector.cpp", "Dominators.cpp", "ExprMutationAnalyzer.cpp", "LiveVariables.cpp", "ObjCNoReturn.cpp", "PostOrderCFGView.cpp", "ProgramPoint.cpp", "ReachableCode.cpp", "RetainSummaryManager.cpp", "ThreadSafety.cpp", "ThreadSafetyCommon.cpp", "ThreadSafetyLogical.cpp", "ThreadSafetyTIL.cpp", "UninitializedValues.cpp", "LINK_LIBS", "clangAST", "clangASTMatchers", "clangBasic", "clangLex")
      ctx = ctx.exit_directory(ctx, "Analysis")
      ctx = ctx.enter_directory(ctx, "Edit")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx.add_clang_library(ctx, "clangEdit", "Commit.cpp", "EditedSource.cpp", "RewriteObjCFoundationAPI.cpp", "LINK_LIBS", "clangAST", "clangBasic", "clangLex")
      ctx = ctx.exit_directory(ctx, "Edit")
      ctx = ctx.enter_directory(ctx, "Rewrite")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx.add_clang_library(ctx, "clangRewrite", "DeltaTree.cpp", "HTMLRewrite.cpp", "RewriteRope.cpp", "Rewriter.cpp", "TokenRewriter.cpp", "LINK_LIBS", "clangBasic", "clangLex")
      ctx = ctx.exit_directory(ctx, "Rewrite")
      ctx = ctx.enter_directory(ctx, "Driver")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "BinaryFormat", "Option", "Support")
      ctx.add_clang_library(ctx, "clangDriver", "Action.cpp", "Compilation.cpp", "DarwinSDKInfo.cpp", "Distro.cpp", "Driver.cpp", "DriverOptions.cpp", "Job.cpp", "Multilib.cpp", "Phases.cpp", "SanitizerArgs.cpp", "Tool.cpp", "ToolChain.cpp", "ToolChains/Arch/AArch64.cpp", "ToolChains/Arch/ARM.cpp", "ToolChains/Arch/Mips.cpp", "ToolChains/Arch/PPC.cpp", "ToolChains/Arch/RISCV.cpp", "ToolChains/Arch/Sparc.cpp", "ToolChains/Arch/SystemZ.cpp", "ToolChains/Arch/X86.cpp", "ToolChains/Ananas.cpp", "ToolChains/AMDGPU.cpp", "ToolChains/AVR.cpp", "ToolChains/BareMetal.cpp", "ToolChains/Clang.cpp", "ToolChains/CloudABI.cpp", "ToolChains/CommonArgs.cpp", "ToolChains/Contiki.cpp", "ToolChains/CrossWindows.cpp", "ToolChains/Cuda.cpp", "ToolChains/Darwin.cpp", "ToolChains/DragonFly.cpp", "ToolChains/FreeBSD.cpp", "ToolChains/Fuchsia.cpp", "ToolChains/Gnu.cpp", "ToolChains/Haiku.cpp", "ToolChains/HIP.cpp", "ToolChains/Hexagon.cpp", "ToolChains/Hurd.cpp", "ToolChains/Linux.cpp", "ToolChains/MipsLinux.cpp", "ToolChains/MinGW.cpp", "ToolChains/Minix.cpp", "ToolChains/MSP430.cpp", "ToolChains/MSVC.cpp", "ToolChains/Myriad.cpp", "ToolChains/NaCl.cpp", "ToolChains/NetBSD.cpp", "ToolChains/OpenBSD.cpp", "ToolChains/PS4CPU.cpp", "ToolChains/RISCVToolchain.cpp", "ToolChains/Solaris.cpp", "ToolChains/TCE.cpp", "ToolChains/WebAssembly.cpp", "ToolChains/XCore.cpp", "ToolChains/PPCLinux.cpp", "Types.cpp", "XRayArgs.cpp", "DEPENDS", "ClangDriverOptions", "LINK_LIBS", "clangBasic", "")
      ctx = ctx.exit_directory(ctx, "Driver")
      ctx = ctx.enter_directory(ctx, "Serialization")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "BitReader", "Support")
      ctx.add_clang_library(ctx, "clangSerialization", "ASTCommon.cpp", "ASTReader.cpp", "ASTReaderDecl.cpp", "ASTReaderStmt.cpp", "ASTWriter.cpp", "ASTWriterDecl.cpp", "ASTWriterStmt.cpp", "GeneratePCH.cpp", "GlobalModuleIndex.cpp", "InMemoryModuleCache.cpp", "Module.cpp", "ModuleFileExtension.cpp", "ModuleManager.cpp", "PCHContainerOperations.cpp", "ADDITIONAL_HEADERS", "ASTCommon.h", "ASTReaderInternals.h", "LINK_LIBS", "clangAST", "clangBasic", "clangLex", "clangSema")
      ctx = ctx.exit_directory(ctx, "Serialization")
      ctx = ctx.enter_directory(ctx, "Frontend")
      ctx = ctx.enter_directory(ctx, "Rewrite")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx.add_clang_library(ctx, "clangRewriteFrontend", "FixItRewriter.cpp", "FrontendActions.cpp", "HTMLPrint.cpp", "InclusionRewriter.cpp", "RewriteMacros.cpp", "RewriteModernObjC.cpp", "RewriteObjC.cpp", "RewriteTest.cpp", "LINK_LIBS", "clangAST", "clangBasic", "clangEdit", "clangFrontend", "clangLex", "clangRewrite", "clangSerialization")
      ctx = ctx.exit_directory(ctx, "Rewrite")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "BitReader", "Option", "ProfileData", "Support")
      ctx.set(ctx, "optional_deps", "intrinsics_gen")
      ctx.add_clang_library(ctx, "clangFrontend", "ASTConsumers.cpp", "ASTMerge.cpp", "ASTUnit.cpp", "ChainedDiagnosticConsumer.cpp", "ChainedIncludesSource.cpp", "CompilerInstance.cpp", "CompilerInvocation.cpp", "CreateInvocationFromCommandLine.cpp", "DependencyFile.cpp", "DependencyGraph.cpp", "DiagnosticRenderer.cpp", "FrontendAction.cpp", "FrontendActions.cpp", "FrontendOptions.cpp", "FrontendTiming.cpp", "HeaderIncludeGen.cpp", "InitHeaderSearch.cpp", "InitPreprocessor.cpp", "LangStandards.cpp", "LayoutOverrideSource.cpp", "LogDiagnosticPrinter.cpp", "ModuleDependencyCollector.cpp", "MultiplexConsumer.cpp", "PrecompiledPreamble.cpp", "PrintPreprocessedOutput.cpp", "SerializedDiagnosticPrinter.cpp", "SerializedDiagnosticReader.cpp", "TestModuleFileExtension.cpp", "TextDiagnostic.cpp", "TextDiagnosticBuffer.cpp", "TextDiagnosticPrinter.cpp", "VerifyDiagnosticConsumer.cpp", "DEPENDS", "ClangDriverOptions", "", "LINK_LIBS", "clangAST", "clangBasic", "clangDriver", "clangEdit", "clangLex", "clangParse", "clangSema", "clangSerialization")
      ctx = ctx.exit_directory(ctx, "Frontend")
      ctx = ctx.enter_directory(ctx, "FrontendTool")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Option", "Support")
      ctx.set(ctx, "link_libs", "clangBasic", "clangCodeGen", "clangDriver", "clangFrontend", "clangRewriteFrontend")
      ctx.add_clang_library(ctx, "clangFrontendTool", "ExecuteCompilerInvocation.cpp", "DEPENDS", "ClangDriverOptions", "LINK_LIBS", "")
      ctx = ctx.exit_directory(ctx, "FrontendTool")
      ctx = ctx.enter_directory(ctx, "Tooling")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Option", "Support")
      ctx = ctx.enter_directory(ctx, "Core")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "support")
      ctx.add_clang_library(ctx, "clangToolingCore", "Diagnostic.cpp", "Lookup.cpp", "Replacement.cpp", "LINK_LIBS", "clangAST", "clangBasic", "clangLex", "clangRewrite")
      ctx = ctx.exit_directory(ctx, "Core")
      ctx = ctx.enter_directory(ctx, "Inclusions")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "support")
      ctx.add_clang_library(ctx, "clangToolingInclusions", "HeaderIncludes.cpp", "IncludeStyle.cpp", "LINK_LIBS", "clangBasic", "clangLex", "clangRewrite", "clangToolingCore")
      ctx = ctx.exit_directory(ctx, "Inclusions")
      ctx = ctx.enter_directory(ctx, "Refactoring")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx.add_clang_library(ctx, "clangToolingRefactor", "ASTSelection.cpp", "ASTSelectionRequirements.cpp", "AtomicChange.cpp", "Extract/Extract.cpp", "Extract/SourceExtraction.cpp", "RangeSelector.cpp", "RefactoringActions.cpp", "Rename/RenamingAction.cpp", "Rename/SymbolOccurrences.cpp", "Rename/USRFinder.cpp", "Rename/USRFindingAction.cpp", "Rename/USRLocFinder.cpp", "SourceCode.cpp", "Stencil.cpp", "Transformer.cpp", "LINK_LIBS", "clangAST", "clangASTMatchers", "clangBasic", "clangFormat", "clangIndex", "clangLex", "clangRewrite", "clangToolingCore")
      ctx = ctx.exit_directory(ctx, "Refactoring")
      ctx = ctx.enter_directory(ctx, "ASTDiff")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx.add_clang_library(ctx, "clangToolingASTDiff", "ASTDiff.cpp", "LINK_LIBS", "clangBasic", "clangAST", "clangLex")
      ctx = ctx.exit_directory(ctx, "ASTDiff")
      ctx = ctx.enter_directory(ctx, "Syntax")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx.add_clang_library(ctx, "clangToolingSyntax", "Tokens.cpp", "LINK_LIBS", "clangBasic", "clangFrontend", "clangLex")
      ctx = ctx.exit_directory(ctx, "Syntax")
      ctx.add_clang_library(ctx, "clangTooling", "AllTUsExecution.cpp", "ArgumentsAdjusters.cpp", "CommonOptionsParser.cpp", "CompilationDatabase.cpp", "Execution.cpp", "FileMatchTrie.cpp", "FixIt.cpp", "InterpolatingCompilationDatabase.cpp", "JSONCompilationDatabase.cpp", "Refactoring.cpp", "RefactoringCallbacks.cpp", "StandaloneExecution.cpp", "Tooling.cpp", "DEPENDS", "ClangDriverOptions", "LINK_LIBS", "clangAST", "clangASTMatchers", "clangBasic", "clangDriver", "clangFormat", "clangFrontend", "clangLex", "clangRewrite", "clangSerialization", "clangToolingCore")
      ctx = ctx.exit_directory(ctx, "Tooling")
      ctx = ctx.enter_directory(ctx, "Index")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Core", "Support")
      ctx.add_clang_library(ctx, "clangIndex", "CodegenNameGenerator.cpp", "CommentToXML.cpp", "FileIndexRecord.cpp", "IndexBody.cpp", "IndexDecl.cpp", "IndexingAction.cpp", "IndexingContext.cpp", "IndexSymbol.cpp", "IndexTypeSourceInfo.cpp", "USRGeneration.cpp", "ADDITIONAL_HEADERS", "IndexingContext.h", "SimpleFormatContext.h", "LINK_LIBS", "clangAST", "clangBasic", "clangFormat", "clangFrontend", "clangLex", "clangRewrite", "clangSerialization", "clangToolingCore")
      ctx = ctx.exit_directory(ctx, "Index")
      ctx = ctx.enter_directory(ctx, "Format")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "support")
      ctx.add_clang_library(ctx, "clangFormat", "AffectedRangeManager.cpp", "BreakableToken.cpp", "ContinuationIndenter.cpp", "Format.cpp", "FormatToken.cpp", "FormatTokenLexer.cpp", "NamespaceEndCommentsFixer.cpp", "SortJavaScriptImports.cpp", "TokenAnalyzer.cpp", "TokenAnnotator.cpp", "UnwrappedLineFormatter.cpp", "UnwrappedLineParser.cpp", "UsingDeclarationsSorter.cpp", "WhitespaceManager.cpp", "LINK_LIBS", "clangBasic", "clangLex", "clangToolingCore", "clangToolingInclusions")
      ctx = ctx.exit_directory(ctx, "Format")
      ctx = ctx.exit_directory(ctx, "lib")
      ctx = ctx.enter_directory(ctx, "tools")
      ctx = ctx.enter_directory(ctx, "diagtool")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx = ctx.exit_directory(ctx, "diagtool")
      ctx = ctx.enter_directory(ctx, "driver")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "", "Analysis", "CodeGen", "Core", "IPO", "AggressiveInstCombine", "InstCombine", "Instrumentation", "MC", "MCParser", "ObjCARCOpts", "Option", "ScalarOpts", "Support", "TransformUtils", "Vectorize")
      ctx.set(ctx, "TOOL_INFO_PLIST", "Info.plist", "CACHE", "STRING", "Plist name")
      ctx = ctx.exit_directory(ctx, "driver")
      ctx = ctx.enter_directory(ctx, "clang-diff")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Support")
      ctx = ctx.exit_directory(ctx, "clang-diff")
      ctx = ctx.enter_directory(ctx, "clang-format")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "support")
      ctx.set(ctx, "CLANG_FORMAT_LIB_DEPS", "clangBasic", "clangFormat", "clangRewrite", "clangToolingCore")
      ctx = ctx.exit_directory(ctx, "clang-format")
      ctx = ctx.enter_directory(ctx, "clang-fuzzer")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "", "FuzzMutate")
      ctx.set(ctx, "CXX_FLAGS_NOFUZZ", "")
      ctx.set(ctx, "DUMMY_MAIN", "DummyClangFuzzer.cpp")
      ctx.set(ctx, "LLVM_OPTIONAL_SOURCES", "ClangFuzzer.cpp", "DummyClangFuzzer.cpp", "ExampleClangProtoFuzzer.cpp", "ExampleClangLoopProtoFuzzer.cpp", "ExampleClangLLVMProtoFuzzer.cpp")
      ctx = ctx.enter_directory(ctx, "handle-cxx")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "", "Support")
      ctx.add_clang_library(ctx, "clangHandleCXX", "handle_cxx.cpp", "LINK_LIBS", "clangBasic", "clangCodeGen", "clangFrontend", "clangLex", "clangSerialization", "clangTooling")
      ctx = ctx.exit_directory(ctx, "handle-cxx")
      ctx = ctx.enter_directory(ctx, "handle-llvm")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Analysis", "CodeGen", "Core", "ExecutionEngine", "IPO", "IRReader", "MC", "MCJIT", "Object", "RuntimeDyld", "SelectionDAG", "Support", "Target", "TransformUtils", "native")
      ctx.set(ctx, "handle_llvm_deps", "intrinsics_gen")
      ctx.add_clang_library(ctx, "clangHandleLLVM", "handle_llvm.cpp", "DEPENDS", "")
      ctx = ctx.exit_directory(ctx, "handle-llvm")
      ctx = ctx.exit_directory(ctx, "clang-fuzzer")
      ctx = ctx.enter_directory(ctx, "clang-import-test")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Core", "Support")
      ctx.set(ctx, "CLANG_IMPORT_TEST_LIB_DEPS", "clangAST", "clangBasic", "clangCodeGen", "clangDriver", "clangFrontend", "clangLex", "clangParse", "clangSerialization")
      ctx = ctx.exit_directory(ctx, "clang-import-test")
      ctx = ctx.enter_directory(ctx, "clang-offload-bundler")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "BitWriter", "Core", "Object", "Support")
      ctx.set(ctx, "CLANG_OFFLOAD_BUNDLER_LIB_DEPS", "clangBasic")
      ctx = ctx.exit_directory(ctx, "clang-offload-bundler")
      ctx = ctx.enter_directory(ctx, "c-index-test")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "support")
      ctx = ctx.exit_directory(ctx, "c-index-test")
      ctx = ctx.enter_directory(ctx, "clang-rename")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Option", "Support")
      ctx = ctx.exit_directory(ctx, "clang-rename")
      ctx = ctx.enter_directory(ctx, "clang-refactor")
      ctx.set(ctx, "LLVM_LINK_COMPONENTS", "Option", "Support")
      ctx = ctx.exit_directory(ctx, "clang-refactor")
      ctx = ctx.enter_directory(ctx, "libclang")
      ctx.set(ctx, "SOURCES", "ARCMigrate.cpp", "BuildSystem.cpp", "CIndex.cpp", "CIndexCXX.cpp", "CIndexCodeCompletion.cpp", "CIndexDiagnostic.cpp", "CIndexHigh.cpp", "CIndexInclusionStack.cpp", "CIndexUSRs.cpp", "CIndexer.cpp", "CXComment.cpp", "CXCursor.cpp", "CXIndexDataConsumer.cpp", "CXCompilationDatabase.cpp", "CXLoadedDiagnostic.cpp", "CXSourceLocation.cpp", "CXStoredDiagnostic.cpp", "CXString.cpp", "CXType.cpp", "Indexing.cpp", "ADDITIONAL_HEADERS", "CIndexDiagnostic.h", "CIndexer.h", "CXCursor.h", "CXLoadedDiagnostic.h", "CXSourceLocation.h", "CXString.h", "CXTranslationUnit.h", "CXType.h", "Index_Internal.h", "../../include/clang-c/Index.h")
      ctx.set(ctx, "LIBS", "clangAST", "clangBasic", "clangDriver", "clangFrontend", "clangIndex", "clangLex", "clangSema", "clangSerialization", "clangTooling")
      ctx.set(ctx, "LLVM_EXPORTED_SYMBOL_FILE", "/tools/clang/tools/libclang/libclang.exports")
      ctx.add_clang_library(ctx, "libclang", "", "", "OUTPUT_NAME", "", "", "DEPENDS", "clang-resource-headers", "LINK_LIBS", "", "LINK_COMPONENTS", "", "Core", "Support")
      ctx = ctx.exit_directory(ctx, "libclang")
      ctx = ctx.exit_directory(ctx, "tools")
      ctx = ctx.enter_directory(ctx, "runtime")
      ctx.set(ctx, "known_subdirs", "libcxx")
      ctx.set(ctx, "COMPILER_RT_SRC_ROOT", "/projects/compiler-rt")
      ctx = ctx.exit_directory(ctx, "runtime")
      ctx = ctx.enter_directory(ctx, "utils/hmaptool")
      ctx.set(ctx, "CLANG_HMAPTOOL", "hmaptool")
      ctx = ctx.exit_directory(ctx, "utils/hmaptool")
      ctx.configure_file(ctx, "/tools/clang/include/clang/Config/config.h.cmake", "/tools/clang/include/clang/Config/config.h")
      ctx = ctx.exit_directory(ctx, "tools/clang")
  