diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-04-10 21:00:07 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-04-10 21:00:07 +0000 |
commit | f36a06a9584cf351e1bb7c5ebf2f707ed416daba (patch) | |
tree | 7daf403b54d12bda4697a061bd3746081daee2c7 | |
parent | 0a0428e96c6f1e8bef7a481a9eb69a6f6df38951 (diff) |
Honor MACOSX_DEPLOYMENT_TARGET environment variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68822 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Driver/ToolChains.cpp | 10 | ||||
-rw-r--r-- | test/Driver/darwin-version.c | 6 |
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index 975a6c1fda..87927f8fb6 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -20,6 +20,8 @@ #include "llvm/Support/raw_ostream.h" #include "llvm/System/Path.h" +#include <cstdlib> // ::getenv + using namespace clang::driver; using namespace clang::driver::toolchains; @@ -152,8 +154,14 @@ DerivedArgList *Darwin_X86::TranslateArgs(InputArgList &Args) const { // Chose the default version based on the arch. // // FIXME: This will need to be fixed when we merge in arm support. + + // Look for MACOSX_DEPLOYMENT_TARGET, otherwise use the version + // from the host. + const char *Version = ::getenv("MACOSX_DEPLOYMENT_TARGET"); + if (!Version) + Version = MacosxVersionMin.c_str(); const Option *O = Opts.getOption(options::OPT_mmacosx_version_min_EQ); - DAL->append(DAL->MakeJoinedArg(0, O, MacosxVersionMin.c_str())); + DAL->append(DAL->MakeJoinedArg(0, O, Version)); } for (ArgList::iterator it = Args.begin(), ie = Args.end(); it != ie; ++it) { diff --git a/test/Driver/darwin-version.c b/test/Driver/darwin-version.c new file mode 100644 index 0000000000..b0e86fa5fe --- /dev/null +++ b/test/Driver/darwin-version.c @@ -0,0 +1,6 @@ +// RUN: env MACOSX_DEPLOYMENT_TARGET=10.1 clang -E %s + +#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1010 +#error Invalid version +#endif + |