48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
//===- 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_ELF_CONFIG_H
|
|
#define LLD_ELF_CONFIG_H
|
|
|
|
#include "llvm/ADT/StringRef.h"
|
|
|
|
#include <vector>
|
|
|
|
namespace lld {
|
|
namespace elf2 {
|
|
|
|
struct Configuration {
|
|
llvm::StringRef DynamicLinker;
|
|
llvm::StringRef Entry;
|
|
llvm::StringRef Fini = "_fini";
|
|
llvm::StringRef Init = "_init";
|
|
llvm::StringRef OutputFile = "a.out";
|
|
llvm::StringRef SoName;
|
|
llvm::StringRef Sysroot;
|
|
std::string RPath;
|
|
std::vector<llvm::StringRef> InputSearchPaths;
|
|
bool AllowMultipleDefinition;
|
|
bool DiscardAll;
|
|
bool DiscardLocals;
|
|
bool DiscardNone;
|
|
bool ExportDynamic;
|
|
bool NoInhibitExec;
|
|
bool NoUndefined;
|
|
bool Shared;
|
|
bool Static = false;
|
|
bool WholeArchive = false;
|
|
};
|
|
|
|
extern Configuration *Config;
|
|
|
|
} // namespace elf2
|
|
} // namespace lld
|
|
|
|
#endif
|