[120130] trunk/dports/devel/ld64
jeremyhu at macports.org
jeremyhu at macports.org
Fri May 16 14:51:27 PDT 2014
Revision: 120130
https://trac.macports.org/changeset/120130
Author: jeremyhu at macports.org
Date: 2014-05-16 14:51:27 -0700 (Fri, 16 May 2014)
Log Message:
-----------
ld64: One more libstdc++ build fix and add an llvm35 variant. (#43729)
Modified Paths:
--------------
trunk/dports/devel/ld64/Portfile
trunk/dports/devel/ld64/files/ld64-236-hash_set.patch
Modified: trunk/dports/devel/ld64/Portfile
===================================================================
--- trunk/dports/devel/ld64/Portfile 2014-05-16 21:50:17 UTC (rev 120129)
+++ trunk/dports/devel/ld64/Portfile 2014-05-16 21:51:27 UTC (rev 120130)
@@ -31,11 +31,11 @@
# dependency cycle as llvm requires apple-gcc42 and ld64 to build correctly. Users
# wanting LTO support in ld64 on Tiger can install the +llvm variant after llvm
# has been installed.
-if {![variant_isset llvm29] && ![variant_isset llvm30] && ![variant_isset llvm31] && ![variant_isset llvm32] && ![variant_isset llvm33] && ![variant_isset llvm34] && ${os.major} >= 9} {
- default_variants +llvm33
+if {![variant_isset llvm29] && ![variant_isset llvm30] && ![variant_isset llvm31] && ![variant_isset llvm32] && ![variant_isset llvm33] && ![variant_isset llvm34] && ![variant_isset llvm34] && ${os.major} >= 9} {
+ default_variants +llvm34
# Leopard/powerpc has the option to not be LTO
- if {![variant_isset llvm33] && ${os.arch} ne "powerpc"} {
+ if {![variant_isset llvm34] && ${os.arch} ne "powerpc"} {
ui_error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
return -code error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
}
@@ -44,36 +44,41 @@
variant universal {}
set llvm_version {}
-variant llvm29 conflicts llvm30 llvm31 llvm32 llvm33 llvm34 description {Use llvm-2.9 for libLTO} {
+variant llvm29 conflicts llvm30 llvm31 llvm32 llvm33 llvm34 llvm35 description {Use llvm-2.9 for libLTO} {
set llvm_version 2.9
depends_lib-append port:llvm-${llvm_version}
}
-variant llvm30 conflicts llvm29 llvm31 llvm32 llvm33 llvm34 description {Use llvm-3.0 for libLTO} {
+variant llvm30 conflicts llvm29 llvm31 llvm32 llvm33 llvm34 llvm35 description {Use llvm-3.0 for libLTO} {
set llvm_version 3.0
depends_lib-append port:llvm-${llvm_version}
}
-variant llvm31 conflicts llvm29 llvm30 llvm32 llvm33 llvm34 description {Use llvm-3.1 for libLTO} {
+variant llvm31 conflicts llvm29 llvm30 llvm32 llvm33 llvm34 llvm35 description {Use llvm-3.1 for libLTO} {
set llvm_version 3.1
depends_lib-append port:llvm-${llvm_version}
}
-variant llvm32 conflicts llvm29 llvm30 llvm31 llvm33 llvm34 description {Use llvm-3.2 for libLTO} {
+variant llvm32 conflicts llvm29 llvm30 llvm31 llvm33 llvm34 llvm35 description {Use llvm-3.2 for libLTO} {
set llvm_version 3.2
depends_lib-append port:llvm-${llvm_version}
}
-variant llvm33 conflicts llvm29 llvm30 llvm31 llvm32 llvm34 description {Use llvm-3.3 for libLTO} {
+variant llvm33 conflicts llvm29 llvm30 llvm31 llvm32 llvm34 llvm35 description {Use llvm-3.3 for libLTO} {
set llvm_version 3.3
depends_lib-append port:llvm-${llvm_version}
}
-variant llvm34 conflicts llvm29 llvm30 llvm31 llvm32 llvm33 description {Use llvm-3.4 for libLTO} {
+variant llvm34 conflicts llvm29 llvm30 llvm31 llvm32 llvm33 llvm35 description {Use llvm-3.4 for libLTO} {
set llvm_version 3.4
depends_lib-append port:llvm-${llvm_version}
}
+variant llvm35 conflicts llvm29 llvm30 llvm31 llvm32 llvm33 llvm34 description {Use llvm-3.5 for libLTO} {
+ set llvm_version 3.5
+ depends_lib-append port:llvm-${llvm_version}
+}
+
set makefile "Makefile-133"
# TODO: Check ${configure.cxx_stdlib} directly once MacPorts 2.3 is released
Modified: trunk/dports/devel/ld64/files/ld64-236-hash_set.patch
===================================================================
--- trunk/dports/devel/ld64/files/ld64-236-hash_set.patch 2014-05-16 21:50:17 UTC (rev 120129)
+++ trunk/dports/devel/ld64/files/ld64-236-hash_set.patch 2014-05-16 21:51:27 UTC (rev 120130)
@@ -1,6 +1,6 @@
diff -Naurp src/ld/InputFiles.cpp src/ld/InputFiles.cpp
--- src/ld/InputFiles.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/InputFiles.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/InputFiles.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -50,6 +50,8 @@
#include <vector>
#include <list>
@@ -12,7 +12,7 @@
diff -Naurp src/ld/InputFiles.h src/ld/InputFiles.h
--- src/ld/InputFiles.h 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/InputFiles.h 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/InputFiles.h 2014-05-16 14:28:58.000000000 -0700
@@ -107,7 +107,11 @@ private:
static void parseWorkerThread(InputFiles *inputFiles);
void startThread(void (*threadFunc)(InputFiles *)) const;
@@ -28,7 +28,7 @@
std::vector<ld::File*> _inputFiles;
diff -Naurp src/ld/LinkEditClassic.hpp src/ld/LinkEditClassic.hpp
--- src/ld/LinkEditClassic.hpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/LinkEditClassic.hpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/LinkEditClassic.hpp 2014-05-16 14:28:58.000000000 -0700
@@ -32,7 +32,6 @@
#include <unistd.h>
@@ -54,7 +54,7 @@
std::vector<char*> _fullBuffers;
diff -Naurp src/ld/Options.h src/ld/Options.h
--- src/ld/Options.h 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/Options.h 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/Options.h 2014-05-16 14:28:58.000000000 -0700
@@ -30,8 +30,8 @@
#include <mach/machine.h>
@@ -84,7 +84,7 @@
enum InterposeMode { kInterposeNone, kInterposeAllExternal, kInterposeSome };
diff -Naurp src/ld/OutputFile.cpp src/ld/OutputFile.cpp
--- src/ld/OutputFile.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/OutputFile.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/OutputFile.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -50,7 +50,8 @@
#include <vector>
#include <list>
@@ -119,7 +119,7 @@
const ld::File* atomFile = atom->file();
diff -Naurp src/ld/Resolver.cpp src/ld/Resolver.cpp
--- src/ld/Resolver.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/Resolver.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/Resolver.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -47,6 +47,8 @@
#include <vector>
#include <list>
@@ -131,7 +131,7 @@
diff -Naurp src/ld/Resolver.h src/ld/Resolver.h
--- src/ld/Resolver.h 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/Resolver.h 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/Resolver.h 2014-05-16 14:28:58.000000000 -0700
@@ -42,7 +42,6 @@
#include <mach-o/dyld.h>
@@ -155,7 +155,7 @@
public:
diff -Naurp src/ld/SymbolTable.cpp src/ld/SymbolTable.cpp
--- src/ld/SymbolTable.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/SymbolTable.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/SymbolTable.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -41,6 +41,8 @@
#include <set>
#include <vector>
@@ -176,7 +176,7 @@
else
diff -Naurp src/ld/SymbolTable.h src/ld/SymbolTable.h
--- src/ld/SymbolTable.h 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/SymbolTable.h 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/SymbolTable.h 2014-05-16 14:28:58.000000000 -0700
@@ -42,7 +42,7 @@
#include <mach-o/dyld.h>
@@ -237,7 +237,7 @@
typedef std::map<const char *, DuplicatedSymbolAtomList * > DuplicateSymbols;
diff -Naurp src/ld/ld.cpp src/ld/ld.cpp
--- src/ld/ld.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/ld.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/ld.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -54,7 +54,8 @@ extern "C" double log2 ( double );
#include <vector>
#include <list>
@@ -268,19 +268,28 @@
return hash;
diff -Naurp src/ld/ld.hpp src/ld/ld.hpp
--- src/ld/ld.hpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/ld.hpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/ld.hpp 2014-05-16 14:43:37.000000000 -0700
+@@ -32,7 +32,7 @@
+ #include <assert.h>
+
+ #include <vector>
+-#include <unordered_set>
++#include <ext/hash_set>
+
+ #include "configure.h"
+
@@ -821,7 +821,7 @@ struct CStringEquals
bool operator()(const char* left, const char* right) const { return (strcmp(left, right) == 0); }
};
-typedef std::unordered_set<const char*, ld::CStringHash, ld::CStringEquals> CStringSet;
-+typedef std::unordered_set<const char*, ld::CStringHash, ld::CStringEquals> CStringSet;
++typedef __gnu_cxx::hash_set<const char*, __gnu_cxx::hash<const char*>, CStringEquals> CStringSet;
class Internal
{
diff -Naurp src/ld/parsers/archive_file.cpp src/ld/parsers/archive_file.cpp
--- src/ld/parsers/archive_file.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/parsers/archive_file.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/parsers/archive_file.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -33,7 +33,7 @@
#include <set>
#include <map>
@@ -305,8 +314,8 @@
typedef typename A::P P;
typedef typename A::P::E E;
diff -Naurp src/ld/parsers/lto_file.cpp src/ld/parsers/lto_file.cpp
---- src/ld/parsers/lto_file.cpp 2014-05-16 10:06:18.000000000 -0700
-+++ src/ld/parsers/lto_file.cpp 2014-05-16 10:06:53.000000000 -0700
+--- src/ld/parsers/lto_file.cpp 2014-05-16 14:28:17.000000000 -0700
++++ src/ld/parsers/lto_file.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -30,11 +30,10 @@
#include <sys/fcntl.h>
#include <sys/stat.h>
@@ -338,8 +347,8 @@
class AtomSyncer : public ld::File::AtomHandler {
public:
diff -Naurp src/ld/parsers/macho_dylib_file.cpp src/ld/parsers/macho_dylib_file.cpp
---- src/ld/parsers/macho_dylib_file.cpp 2014-05-16 10:06:18.000000000 -0700
-+++ src/ld/parsers/macho_dylib_file.cpp 2014-05-16 10:06:53.000000000 -0700
+--- src/ld/parsers/macho_dylib_file.cpp 2014-05-16 14:28:17.000000000 -0700
++++ src/ld/parsers/macho_dylib_file.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -34,8 +34,8 @@
#include <vector>
#include <set>
@@ -394,7 +403,7 @@
for (int32_t i = 0; i < count; ++i) {
diff -Naurp src/ld/passes/dtrace_dof.cpp src/ld/passes/dtrace_dof.cpp
--- src/ld/passes/dtrace_dof.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/passes/dtrace_dof.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/passes/dtrace_dof.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -30,8 +30,7 @@
#include <vector>
@@ -430,7 +439,7 @@
diff -Naurp src/ld/passes/got.cpp src/ld/passes/got.cpp
--- src/ld/passes/got.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/passes/got.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/passes/got.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -30,6 +30,7 @@
#include <vector>
@@ -441,7 +450,7 @@
#include "ld.hpp"
diff -Naurp src/ld/passes/order.cpp src/ld/passes/order.cpp
--- src/ld/passes/order.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/passes/order.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/passes/order.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -32,7 +32,6 @@
#include <vector>
#include <map>
@@ -465,7 +474,7 @@
diff -Naurp src/ld/passes/tlvp.cpp src/ld/passes/tlvp.cpp
--- src/ld/passes/tlvp.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/ld/passes/tlvp.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/ld/passes/tlvp.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -30,6 +30,7 @@
#include <vector>
@@ -476,7 +485,7 @@
#include "tlvp.h"
diff -Naurp src/other/dyldinfo.cpp src/other/dyldinfo.cpp
--- src/other/dyldinfo.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/other/dyldinfo.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/other/dyldinfo.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -33,7 +33,7 @@
#include <vector>
@@ -503,7 +512,7 @@
void printRebaseInfoOpcodes();
diff -Naurp src/other/machochecker.cpp src/other/machochecker.cpp
--- src/other/machochecker.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/other/machochecker.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/other/machochecker.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -33,7 +33,7 @@
#include <vector>
@@ -540,7 +549,7 @@
void checkMachHeader();
diff -Naurp src/other/unwinddump.cpp src/other/unwinddump.cpp
--- src/other/unwinddump.cpp 2014-04-04 15:42:29.000000000 -0700
-+++ src/other/unwinddump.cpp 2014-05-16 10:06:53.000000000 -0700
++++ src/other/unwinddump.cpp 2014-05-16 14:28:58.000000000 -0700
@@ -33,7 +33,7 @@
#include <vector>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140516/726c96e3/attachment.html>
More information about the macports-changes
mailing list