Driver/Darwin: When using -mios-simulator-version-min, explicitly pass this on

to the linker.
 - Only do this explicitly with the argument for now, the linker will need to
   explicitly add support for this.

llvm-svn: 130594
This commit is contained in:
Daniel Dunbar 2011-04-30 04:22:58 +00:00
parent a9cbb6b9d5
commit 72ceb92aa3
1 changed files with 14 additions and 2 deletions

View File

@ -2820,8 +2820,20 @@ void darwin::Link::AddLinkArgs(Compilation &C,
// Add the deployment target.
unsigned TargetVersion[3];
DarwinTC.getTargetVersion(TargetVersion);
CmdArgs.push_back(DarwinTC.isTargetIPhoneOS() ? "-iphoneos_version_min" :
"-macosx_version_min");
// If we had an explicit -mios-simulator-version-min argument, honor that,
// otherwise use the traditional deployment targets. We can't just check the
// is-sim attribute because existing code follows this path, and the linker
// may not handle the argument.
//
// FIXME: We may be able to remove this, once we can verify no one depends on
// it.
if (Args.hasArg(options::OPT_mios_simulator_version_min_EQ))
CmdArgs.push_back("-ios_simulator_version_min");
else if (DarwinTC.isTargetIPhoneOS())
CmdArgs.push_back("-iphoneos_version_min");
else
CmdArgs.push_back("-macosx_version_min");
CmdArgs.push_back(Args.MakeArgString(llvm::Twine(TargetVersion[0]) + "." +
llvm::Twine(TargetVersion[1]) + "." +
llvm::Twine(TargetVersion[2])));