aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/lld/MachO/Config.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/lld/MachO/Config.h')
-rw-r--r--contrib/llvm-project/lld/MachO/Config.h38
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;
};