|  | //===- Config.h -------------------------------------------------*- C++ -*-===// | 
|  | // | 
|  | //                             The LLVM Linker | 
|  | // | 
|  | // This file is distributed under the University of Illinois Open Source | 
|  | // License. See LICENSE.TXT for details. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #ifndef LLD_WASM_CONFIG_H | 
|  | #define LLD_WASM_CONFIG_H | 
|  |  | 
|  | #include "llvm/ADT/StringRef.h" | 
|  | #include "llvm/ADT/StringSet.h" | 
|  | #include "llvm/BinaryFormat/Wasm.h" | 
|  | #include "llvm/Support/CachePruning.h" | 
|  |  | 
|  | namespace lld { | 
|  | namespace wasm { | 
|  |  | 
|  | struct Configuration { | 
|  | bool AllowUndefined; | 
|  | bool CompressRelocTargets; | 
|  | bool Demangle; | 
|  | bool DisableVerify; | 
|  | bool ExportAll; | 
|  | bool ExportTable; | 
|  | bool GcSections; | 
|  | bool ImportMemory; | 
|  | bool ImportTable; | 
|  | bool MergeDataSegments; | 
|  | bool PrintGcSections; | 
|  | bool Relocatable; | 
|  | bool SaveTemps; | 
|  | bool StripAll; | 
|  | bool StripDebug; | 
|  | bool StackFirst; | 
|  | uint32_t GlobalBase; | 
|  | uint32_t InitialMemory; | 
|  | uint32_t MaxMemory; | 
|  | uint32_t ZStackSize; | 
|  | unsigned LTOPartitions; | 
|  | unsigned LTOO; | 
|  | unsigned Optimize; | 
|  | unsigned ThinLTOJobs; | 
|  | llvm::StringRef Entry; | 
|  | llvm::StringRef OutputFile; | 
|  | llvm::StringRef ThinLTOCacheDir; | 
|  |  | 
|  | llvm::StringSet<> AllowUndefinedSymbols; | 
|  | std::vector<llvm::StringRef> SearchPaths; | 
|  | llvm::CachePruningPolicy ThinLTOCachePolicy; | 
|  | }; | 
|  |  | 
|  | // The only instance of Configuration struct. | 
|  | extern Configuration *Config; | 
|  |  | 
|  | } // namespace wasm | 
|  | } // namespace lld | 
|  |  | 
|  | #endif |