[98133] trunk/dports/lang/llvm-3.2
jeremyhu at macports.org
jeremyhu at macports.org
Tue Sep 25 12:33:27 PDT 2012
Revision: 98133
http://trac.macports.org//changeset/98133
Author: jeremyhu at macports.org
Date: 2012-09-25 12:33:27 -0700 (Tue, 25 Sep 2012)
Log Message:
-----------
clang-3.2: Fix build on Snow Leopard (#36042)
Modified Paths:
--------------
trunk/dports/lang/llvm-3.2/Portfile
Added Paths:
-----------
trunk/dports/lang/llvm-3.2/files/0001-Use-I-dir-and-L-dir-when-constructing-our-argument-l.patch
Modified: trunk/dports/lang/llvm-3.2/Portfile
===================================================================
--- trunk/dports/lang/llvm-3.2/Portfile 2012-09-25 19:28:20 UTC (rev 98132)
+++ trunk/dports/lang/llvm-3.2/Portfile 2012-09-25 19:33:27 UTC (rev 98133)
@@ -78,7 +78,8 @@
distfiles-append clang-${version}.src${extract.suffix} compiler-rt-${version}.src${extract.suffix}
}
- patchfiles-append tiger-shlib-clang.patch tiger-libclang.patch scan-build-PR-35006.patch
+ patchfiles-append tiger-shlib-clang.patch tiger-libclang.patch scan-build-PR-35006.patch \
+ 0001-Use-I-dir-and-L-dir-when-constructing-our-argument-l.patch
build.target clang-only
destroot.target install-clang
Added: trunk/dports/lang/llvm-3.2/files/0001-Use-I-dir-and-L-dir-when-constructing-our-argument-l.patch
===================================================================
--- trunk/dports/lang/llvm-3.2/files/0001-Use-I-dir-and-L-dir-when-constructing-our-argument-l.patch (rev 0)
+++ trunk/dports/lang/llvm-3.2/files/0001-Use-I-dir-and-L-dir-when-constructing-our-argument-l.patch 2012-09-25 19:33:27 UTC (rev 98133)
@@ -0,0 +1,85 @@
+From d5ee45f9157e649c88ee0bfa89796db687159198 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Tue, 25 Sep 2012 12:22:13 -0700
+Subject: [PATCH] Use -I<dir> and -L<dir> when constructing our argument list.
+
+-L <dir> is not valid with XCode older than 4.0.
+
+<rdar://problem/12366753>
+https://trac.macports.org/ticket/36042
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+---
+ lib/Driver/Tools.cpp | 39 +++++++++++++++++++++++++++++++--------
+ 1 file changed, 31 insertions(+), 8 deletions(-)
+
+diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
+index 8619b98..9f5cfc2 100644
+--- a/tools/clang/lib/Driver/Tools.cpp
++++ b/tools/clang/lib/Driver/Tools.cpp
+@@ -93,9 +93,16 @@ static void addDirectoryList(const ArgList &Args,
+ const char *ArgName,
+ const char *EnvVar) {
+ const char *DirList = ::getenv(EnvVar);
++ bool CombinedArg = false;
++
+ if (!DirList)
+ return; // Nothing to do.
+
++ if (::strcmp("-I", ArgName) == 0 ||
++ ::strcmp("-L", ArgName) == 0) {
++ CombinedArg = true;
++ }
++
+ StringRef Dirs(DirList);
+ if (Dirs.empty()) // Empty string should not add '.'.
+ return;
+@@ -103,21 +110,37 @@ static void addDirectoryList(const ArgList &Args,
+ StringRef::size_type Delim;
+ while ((Delim = Dirs.find(llvm::sys::PathSeparator)) != StringRef::npos) {
+ if (Delim == 0) { // Leading colon.
+- CmdArgs.push_back(ArgName);
+- CmdArgs.push_back(".");
++ if (CombinedArg) {
++ CmdArgs.push_back(Args.MakeArgString(std::string(ArgName) + "."));
++ } else {
++ CmdArgs.push_back(ArgName);
++ CmdArgs.push_back(".");
++ }
+ } else {
+- CmdArgs.push_back(ArgName);
+- CmdArgs.push_back(Args.MakeArgString(Dirs.substr(0, Delim)));
++ if (CombinedArg) {
++ CmdArgs.push_back(Args.MakeArgString(std::string(ArgName) + Dirs.substr(0, Delim)));
++ } else {
++ CmdArgs.push_back(ArgName);
++ CmdArgs.push_back(Args.MakeArgString(Dirs.substr(0, Delim)));
++ }
+ }
+ Dirs = Dirs.substr(Delim + 1);
+ }
+
+ if (Dirs.empty()) { // Trailing colon.
+- CmdArgs.push_back(ArgName);
+- CmdArgs.push_back(".");
++ if (CombinedArg) {
++ CmdArgs.push_back(Args.MakeArgString(std::string(ArgName) + "."));
++ } else {
++ CmdArgs.push_back(ArgName);
++ CmdArgs.push_back(".");
++ }
+ } else { // Add the last path.
+- CmdArgs.push_back(ArgName);
+- CmdArgs.push_back(Args.MakeArgString(Dirs));
++ if (CombinedArg) {
++ CmdArgs.push_back(Args.MakeArgString(std::string(ArgName) + Dirs));
++ } else {
++ CmdArgs.push_back(ArgName);
++ CmdArgs.push_back(Args.MakeArgString(Dirs));
++ }
+ }
+ }
+
+--
+1.7.12.1
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120925/e0167520/attachment.html>
More information about the macports-changes
mailing list