This patch does the same thing as r365595 to other subdirectories, which completes the naming style change for the entire lld directory. With this, the naming style conversion is complete for lld. Differential Revision: https://reviews.llvm.org/D64473 llvm-svn: 365730
82 lines
2.1 KiB
C++
82 lines
2.1 KiB
C++
//===- Config.h -------------------------------------------------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#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 {
|
|
|
|
// This struct contains the global configuration for the linker.
|
|
// Most fields are direct mapping from the command line options
|
|
// and such fields have the same name as the corresponding options.
|
|
// Most fields are initialized by the driver.
|
|
struct Configuration {
|
|
bool allowUndefined;
|
|
bool checkFeatures;
|
|
bool compressRelocations;
|
|
bool demangle;
|
|
bool disableVerify;
|
|
bool emitRelocs;
|
|
bool exportAll;
|
|
bool exportDynamic;
|
|
bool exportTable;
|
|
bool gcSections;
|
|
bool importMemory;
|
|
bool sharedMemory;
|
|
bool passiveSegments;
|
|
bool importTable;
|
|
bool mergeDataSegments;
|
|
bool pie;
|
|
bool printGcSections;
|
|
bool relocatable;
|
|
bool saveTemps;
|
|
bool shared;
|
|
bool stripAll;
|
|
bool stripDebug;
|
|
bool stackFirst;
|
|
bool trace;
|
|
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;
|
|
llvm::StringSet<> exportedSymbols;
|
|
std::vector<llvm::StringRef> searchPaths;
|
|
llvm::CachePruningPolicy thinLTOCachePolicy;
|
|
llvm::Optional<std::vector<std::string>> features;
|
|
|
|
// The following config options do not directly correspond to any
|
|
// particualr command line options.
|
|
|
|
// True if we are creating position-independent code.
|
|
bool isPic;
|
|
};
|
|
|
|
// The only instance of Configuration struct.
|
|
extern Configuration *config;
|
|
|
|
} // namespace wasm
|
|
} // namespace lld
|
|
|
|
#endif
|