[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