diff options
author | Daniel Dunbar <daniel@zuster.org> | 2011-05-02 21:03:47 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2011-05-02 21:03:47 +0000 |
commit | 8438464b417d219105434b5e30f6e6d764d093fc (patch) | |
tree | a23097673c3e01b0120062e7d24e9f878a161669 /clang/lib/Driver/Tools.cpp | |
parent | 969ed3d10f2bed3ef9c4d53114594827fefecf68 (diff) | |
download | bcm5719-llvm-8438464b417d219105434b5e30f6e6d764d093fc.tar.gz bcm5719-llvm-8438464b417d219105434b5e30f6e6d764d093fc.zip |
Driver/Darwin: Honor --sysroot= when invoking the linker, on Darwin.
llvm-svn: 130723
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 60803ddf93c..89cf228d952 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -2893,12 +2893,17 @@ void darwin::Link::AddLinkArgs(Compilation &C, Args.AddAllArgs(CmdArgs, options::OPT_sub__library); Args.AddAllArgs(CmdArgs, options::OPT_sub__umbrella); - Args.AddAllArgsTranslated(CmdArgs, options::OPT_isysroot, "-syslibroot"); - if (getDarwinToolChain().isTargetIPhoneOS()) { - if (!Args.hasArg(options::OPT_isysroot)) { - CmdArgs.push_back("-syslibroot"); - CmdArgs.push_back("/Developer/SDKs/Extra"); - } + // 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)) { + CmdArgs.push_back("-syslibroot"); + CmdArgs.push_back(A->getValue(Args)); + } else if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) { + CmdArgs.push_back("-syslibroot"); + CmdArgs.push_back(A->getValue(Args)); + } else if (getDarwinToolChain().isTargetIPhoneOS()) { + CmdArgs.push_back("-syslibroot"); + CmdArgs.push_back("/Developer/SDKs/Extra"); } Args.AddLastArg(CmdArgs, options::OPT_twolevel__namespace); |