| static_library("Support") { |
| output_name = "LLVMSupport" |
| deps = [ |
| "//llvm/include/llvm/Config:config", |
| "//llvm/lib/Demangle", |
| "//llvm/utils/gn/build/libs/pthread", |
| "//llvm/utils/gn/build/libs/terminfo", |
| "//llvm/utils/gn/build/libs/zlib", |
| ] |
| |
| # public_deps are used for depending on targets that generate headers |
| # which are included in public headers of this target. public_deps means |
| # that targets depending on Support will implicitly be built only after |
| # abi-breaking and llvm-config have been built. |
| public_deps = [ |
| # abi-breaking.h is also include by public headers in ADT, but ADT has |
| # no target in the gn build. Since everything depends on Support, this |
| # public_dep does double duty of abi-breaking.h uses in public headers of |
| # both Support and ADT. |
| "//llvm/include/llvm/Config:abi-breaking", |
| "//llvm/include/llvm/Config:llvm-config", |
| |
| # public_dep because public header TargetSelect.h includes these .def files. |
| "//llvm/include/llvm/Config:write_target_def_files", |
| ] |
| include_dirs = [ |
| "Unix", |
| "Windows", |
| ] |
| sources = [ |
| "AArch64TargetParser.cpp", |
| "AMDGPUMetadata.cpp", |
| "APFloat.cpp", |
| "APInt.cpp", |
| "APSInt.cpp", |
| "ARMAttributeParser.cpp", |
| "ARMBuildAttrs.cpp", |
| "ARMTargetParser.cpp", |
| "ARMWinEH.cpp", |
| "Allocator.cpp", |
| "BinaryStreamError.cpp", |
| "BinaryStreamReader.cpp", |
| "BinaryStreamRef.cpp", |
| "BinaryStreamWriter.cpp", |
| "BlockFrequency.cpp", |
| "BranchProbability.cpp", |
| "BuryPointer.cpp", |
| "COM.cpp", |
| "CRC.cpp", |
| "CachePruning.cpp", |
| "Chrono.cpp", |
| "CodeGenCoverage.cpp", |
| "CommandLine.cpp", |
| "Compression.cpp", |
| "ConvertUTF.cpp", |
| "ConvertUTFWrapper.cpp", |
| "CrashRecoveryContext.cpp", |
| "DAGDeltaAlgorithm.cpp", |
| "DJB.cpp", |
| "DataExtractor.cpp", |
| "Debug.cpp", |
| "DebugCounter.cpp", |
| "DeltaAlgorithm.cpp", |
| "Error.cpp", |
| "ErrorHandling.cpp", |
| "FileCheck.cpp", |
| "FileOutputBuffer.cpp", |
| "FileUtilities.cpp", |
| "FoldingSet.cpp", |
| "FormatVariadic.cpp", |
| "FormattedStream.cpp", |
| "GlobPattern.cpp", |
| "GraphWriter.cpp", |
| "Hashing.cpp", |
| "InitLLVM.cpp", |
| "IntEqClasses.cpp", |
| "IntervalMap.cpp", |
| "ItaniumManglingCanonicalizer.cpp", |
| "JSON.cpp", |
| "JamCRC.cpp", |
| "KnownBits.cpp", |
| "LEB128.cpp", |
| "LineIterator.cpp", |
| "Locale.cpp", |
| "LockFileManager.cpp", |
| "LowLevelType.cpp", |
| "MD5.cpp", |
| "ManagedStatic.cpp", |
| "MathExtras.cpp", |
| "MemoryBuffer.cpp", |
| "NativeFormatting.cpp", |
| "Optional.cpp", |
| "Options.cpp", |
| "Parallel.cpp", |
| "PluginLoader.cpp", |
| "PrettyStackTrace.cpp", |
| "RandomNumberGenerator.cpp", |
| "Regex.cpp", |
| "SHA1.cpp", |
| "ScaledNumber.cpp", |
| "ScopedPrinter.cpp", |
| "Signposts.cpp", |
| "SmallPtrSet.cpp", |
| "SmallVector.cpp", |
| "SourceMgr.cpp", |
| "SpecialCaseList.cpp", |
| "Statistic.cpp", |
| "StringExtras.cpp", |
| "StringMap.cpp", |
| "StringPool.cpp", |
| "StringRef.cpp", |
| "StringSaver.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", |
| "WithColor.cpp", |
| "YAMLParser.cpp", |
| "YAMLTraits.cpp", |
| "Z3Solver.cpp", |
| "circular_raw_ostream.cpp", |
| "raw_os_ostream.cpp", |
| "raw_ostream.cpp", |
| "regcomp.c", |
| "regerror.c", |
| "regexec.c", |
| "regfree.c", |
| "regstrlcpy.c", |
| "xxhash.cpp", |
| |
| # System |
| "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", |
| "VirtualFileSystem.cpp", |
| "Watchdog.cpp", |
| ] |
| |
| libs = [] |
| |
| # FIXME: llvm/Config/BUILD.gn currently always sets LLVM_WITH_Z3 |
| # to false. If that changes we need to link to Z3 libs here. |
| |
| if (current_os == "linux" || current_os == "android") { |
| libs += [ "dl" ] |
| } else if (current_os == "win") { |
| # Delay load shell32.dll if possible to speed up process startup. |
| libs += [ "delayimp.lib" ] |
| ldflags = [ |
| "-delayload:ole32.dll", |
| "-delayload:shell32.dll", |
| ] |
| } |
| } |