mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-04 08:16:49 +00:00
use DEFAULT_SYSROOT
llvm-svn: 154792
This commit is contained in:
parent
5c9e18443d
commit
980920a321
@ -66,6 +66,10 @@ set(CLANG_RESOURCE_DIR "" CACHE STRING
|
||||
set(C_INCLUDE_DIRS "" CACHE STRING
|
||||
"Colon separated list of directories clang will search for headers.")
|
||||
|
||||
set(GCC_INSTALL_PREFIX "" CACHE PATH "Directory where gcc is installed." )
|
||||
set(DEFAULT_SYSROOT "" CACHE PATH
|
||||
"Default <path> to all compiler invocations for --sysroot=<path>." )
|
||||
|
||||
set(CLANG_VENDOR "" CACHE STRING
|
||||
"Vendor-specific text for showing with version information.")
|
||||
|
||||
|
@ -4,8 +4,11 @@
|
||||
/* Relative directory for resource files */
|
||||
#define CLANG_RESOURCE_DIR "${CLANG_RESOURCE_DIR}"
|
||||
|
||||
/* Directory where gcc is installed. */
|
||||
#define GCC_INSTALL_PREFIX "${GCC_INSTALL_PREFIX}"
|
||||
|
||||
/* Directories clang will search for headers */
|
||||
#define C_INCLUDE_DIRS "${C_INCLUDE_DIRS}"
|
||||
|
||||
/* Default <path> to all compiler invocations for --sysroot=<path>. */
|
||||
#define DEFAULT_SYSROOT "${DEFAULT_SYSROOT}"
|
||||
|
||||
/* Directory where gcc is installed. */
|
||||
#define GCC_INSTALL_PREFIX "${GCC_INSTALL_PREFIX}"
|
||||
|
@ -9,13 +9,16 @@
|
||||
/* Relative directory for resource files */
|
||||
#undef CLANG_RESOURCE_DIR
|
||||
|
||||
/* Directory where gcc is installed. */
|
||||
#undef GCC_INSTALL_PREFIX
|
||||
|
||||
/* Directories clang will search for headers */
|
||||
#undef C_INCLUDE_DIRS
|
||||
|
||||
/* Linker version detected at compile time. */
|
||||
#undef HOST_LINK_VERSION
|
||||
|
||||
/* Default <path> to all compiler invocations for --sysroot=<path>. */
|
||||
#undef DEFAULT_SYSROOT
|
||||
|
||||
/* Directory where gcc is installed. */
|
||||
#undef GCC_INSTALL_PREFIX
|
||||
|
||||
#endif
|
||||
|
@ -92,6 +92,9 @@ public:
|
||||
return FailureResultFiles;
|
||||
}
|
||||
|
||||
/// Returns the sysroot path.
|
||||
StringRef getSysRoot() const;
|
||||
|
||||
/// getArgsForToolChain - Return the derived argument list for the
|
||||
/// tool chain \arg TC (or the default tool chain, if TC is not
|
||||
/// specified).
|
||||
|
@ -230,3 +230,7 @@ void Compilation::initCompilationForDiagnostics(void) {
|
||||
Redirects[1] = new const llvm::sys::Path();
|
||||
Redirects[2] = new const llvm::sys::Path();
|
||||
}
|
||||
|
||||
StringRef Compilation::getSysRoot(void) const {
|
||||
return getDriver().SysRoot;
|
||||
}
|
||||
|
@ -49,8 +49,8 @@ Driver::Driver(StringRef ClangExecutable,
|
||||
bool IsProduction,
|
||||
DiagnosticsEngine &Diags)
|
||||
: Opts(createDriverOptTable()), Diags(Diags),
|
||||
ClangExecutable(ClangExecutable), UseStdLib(true),
|
||||
DefaultTargetTriple(DefaultTargetTriple),
|
||||
ClangExecutable(ClangExecutable), SysRoot(DEFAULT_SYSROOT),
|
||||
UseStdLib(true), DefaultTargetTriple(DefaultTargetTriple),
|
||||
DefaultImageName(DefaultImageName),
|
||||
DriverTitle("clang \"gcc-compatible\" driver"),
|
||||
CCPrintOptionsFilename(0), CCPrintHeadersFilename(0),
|
||||
@ -660,9 +660,7 @@ bool Driver::HandleImmediateArgs(const Compilation &C) {
|
||||
llvm::outs() << "\n";
|
||||
llvm::outs() << "libraries: =" << ResourceDir;
|
||||
|
||||
std::string sysroot;
|
||||
if (Arg *A = C.getArgs().getLastArg(options::OPT__sysroot_EQ))
|
||||
sysroot = A->getValue(C.getArgs());
|
||||
StringRef sysroot = C.getSysRoot();
|
||||
|
||||
for (ToolChain::path_list::const_iterator it = TC.getFilePaths().begin(),
|
||||
ie = TC.getFilePaths().end(); it != ie; ++it) {
|
||||
|
@ -377,10 +377,11 @@ void Clang::AddPreprocessingOptions(Compilation &C,
|
||||
|
||||
// If we have a --sysroot, and don't have an explicit -isysroot flag, add an
|
||||
// -isysroot to the CC1 invocation.
|
||||
if (Arg *A = Args.getLastArg(options::OPT__sysroot_EQ)) {
|
||||
StringRef sysroot = C.getSysRoot();
|
||||
if (sysroot != "") {
|
||||
if (!Args.hasArg(options::OPT_isysroot)) {
|
||||
CmdArgs.push_back("-isysroot");
|
||||
CmdArgs.push_back(A->getValue(Args));
|
||||
CmdArgs.push_back(C.getArgs().MakeArgString(sysroot));
|
||||
}
|
||||
}
|
||||
|
||||
@ -4016,9 +4017,10 @@ void darwin::Link::AddLinkArgs(Compilation &C,
|
||||
|
||||
// Give --sysroot= preference, over the Apple specific behavior to also use
|
||||
// --isysroot as the syslibroot.
|
||||
if (const Arg *A = Args.getLastArg(options::OPT__sysroot_EQ)) {
|
||||
StringRef sysroot = C.getSysRoot();
|
||||
if (sysroot != "") {
|
||||
CmdArgs.push_back("-syslibroot");
|
||||
CmdArgs.push_back(A->getValue(Args));
|
||||
CmdArgs.push_back(C.getArgs().MakeArgString(sysroot));
|
||||
} else if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) {
|
||||
CmdArgs.push_back("-syslibroot");
|
||||
CmdArgs.push_back(A->getValue(Args));
|
||||
|
Loading…
x
Reference in New Issue
Block a user