blob: ab5f3362f397ff67b04e37f397249b1300912b7c [file] [log] [blame]
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",
"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",
"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",
"Timer.cpp",
"ToolOutputFile.cpp",
"TrigramIndex.cpp",
"Triple.cpp",
"Twine.cpp",
"Unicode.cpp",
"UnicodeCaseFold.cpp",
"VersionTuple.cpp",
"WithColor.cpp",
"YAMLParser.cpp",
"YAMLTraits.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",
"Z3Solver.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" ]
}
}