From: Daniel Dunbar Date: Fri, 10 Apr 2009 21:00:07 +0000 (+0000) Subject: Honor MACOSX_DEPLOYMENT_TARGET environment variable. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f36a06a9584cf351e1bb7c5ebf2f707ed416daba;p=clang Honor MACOSX_DEPLOYMENT_TARGET environment variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68822 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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 // ::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 +