diff options
Diffstat (limited to 'contrib/llvm-project/lld/MachO/Config.h')
-rw-r--r-- | contrib/llvm-project/lld/MachO/Config.h | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/contrib/llvm-project/lld/MachO/Config.h b/contrib/llvm-project/lld/MachO/Config.h index 79812a433563..f6e1f134d974 100644 --- a/contrib/llvm-project/lld/MachO/Config.h +++ b/contrib/llvm-project/lld/MachO/Config.h @@ -12,7 +12,9 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/StringRef.h" #include "llvm/BinaryFormat/MachO.h" +#include "llvm/Support/VersionTuple.h" #include "llvm/TextAPI/MachO/Architecture.h" +#include "llvm/TextAPI/MachO/Platform.h" #include <vector> @@ -22,16 +24,50 @@ namespace macho { class Symbol; struct SymbolPriorityEntry; +struct PlatformInfo { + llvm::MachO::PlatformKind kind; + llvm::VersionTuple minimum; + llvm::VersionTuple sdk; +}; + +enum class UndefinedSymbolTreatment { + unknown, + error, + warning, + suppress, + dynamic_lookup, +}; + struct Configuration { Symbol *entry; bool hasReexports = false; + bool allLoad = false; + bool forceLoadObjC = false; + bool staticLink = false; + bool implicitDylibs = false; + bool isPic = false; + bool headerPadMaxInstallNames = false; + bool ltoNewPassManager = LLVM_ENABLE_NEW_PASS_MANAGER; + bool printEachFile = false; + bool printWhyLoad = false; + bool searchDylibsFirst = false; + bool saveTemps = false; + uint32_t headerPad; + uint32_t dylibCompatibilityVersion = 0; + uint32_t dylibCurrentVersion = 0; llvm::StringRef installName; llvm::StringRef outputFile; + llvm::StringRef ltoObjPath; + bool demangle = false; llvm::MachO::Architecture arch; + PlatformInfo platform; + UndefinedSymbolTreatment undefinedSymbolTreatment = + UndefinedSymbolTreatment::error; llvm::MachO::HeaderFileType outputType; + std::vector<llvm::StringRef> systemLibraryRoots; std::vector<llvm::StringRef> librarySearchPaths; - // TODO: use the framework search paths std::vector<llvm::StringRef> frameworkSearchPaths; + std::vector<llvm::StringRef> runtimePaths; llvm::DenseMap<llvm::StringRef, SymbolPriorityEntry> priorities; }; |