[97744] trunk/dports/lang

jeremyhu at macports.org jeremyhu at macports.org
Thu Sep 13 23:22:01 PDT 2012


Revision: 97744
          http://trac.macports.org//changeset/97744
Author:   jeremyhu at macports.org
Date:     2012-09-13 23:22:00 -0700 (Thu, 13 Sep 2012)
Log Message:
-----------
libstdcxx*: Fix a missing symbol on some systems (#36093)

Modified Paths:
--------------
    trunk/dports/lang/gcc47/Portfile
    trunk/dports/lang/gcc48/Portfile

Added Paths:
-----------
    trunk/dports/lang/gcc47/files/no-runtime-stubs.patch
    trunk/dports/lang/gcc48/files/no-runtime-stubs.patch

Modified: trunk/dports/lang/gcc47/Portfile
===================================================================
--- trunk/dports/lang/gcc47/Portfile	2012-09-14 02:30:22 UTC (rev 97743)
+++ trunk/dports/lang/gcc47/Portfile	2012-09-14 06:22:00 UTC (rev 97744)
@@ -54,6 +54,8 @@
 patchfiles          ppc_fde_encoding.diff
 patch.dir           ${workpath}/gcc-${version}
 
+patch.dir           ${workpath}/gcc-${version}
+
 set major           4.7
 
 worksrcdir          build
@@ -124,8 +126,13 @@
 if {${subport} == "libstdcxx"} {
     # Revision subport separately from port for now in order to not force
     # rebuilds of gcc while ironing out the wrinkles in libstdcxx
-    revision 100
+    revision 101
 
+    # We might want to consider adding this patch to the gcc subport as well
+    # since it removes stuff that doesn't really make sense in the context of
+    # MacPorts
+    patchfiles-append  no-runtime-stubs.patch
+
     depends_run-delete path:lib/.libstdcxx:libstdcxx
 
     configure.args-delete --libdir=${prefix}/lib/${name}
@@ -162,9 +169,6 @@
                 file delete -force ${archdir}
             }
         }
-
-        # Some linkers don't optimize this unused link away.  TODO: Fix this in the build system
-        system "install_name_tool -change ${prefix}/lib/libgcc_s.1.dylib /usr/lib/libgcc_s.1.dylib ${destroot}${prefix}/lib/libstdc++.6.dylib"
     }
 } else {
 post-destroot {

Added: trunk/dports/lang/gcc47/files/no-runtime-stubs.patch
===================================================================
--- trunk/dports/lang/gcc47/files/no-runtime-stubs.patch	                        (rev 0)
+++ trunk/dports/lang/gcc47/files/no-runtime-stubs.patch	2012-09-14 06:22:00 UTC (rev 97744)
@@ -0,0 +1,34 @@
+--- gcc/config/darwin.h.orig	2012-09-13 20:20:33.000000000 -0700
++++ gcc/config/darwin.h	2012-09-13 20:23:03.000000000 -0700
+@@ -325,17 +325,8 @@ extern GTY(()) int darwin_ms_struct;
+ #undef REAL_LIBGCC_SPEC
+ #define REAL_LIBGCC_SPEC						   \
+    "%{static-libgcc|static: -lgcc_eh -lgcc;				   \
+-      shared-libgcc|fexceptions|fgnu-runtime:				   \
+-       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4)	   \
+-       %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5)   \
+-       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4)	   \
+-       %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5)	   \
+-       -lgcc ;								   \
+-      :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
+-       %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5)   \
+-       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4)	   \
+-       %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5)	   \
+-       -lgcc }"
++      shared-libgcc|fexceptions|fgnu-runtime: -lgcc;			   \
++      : -lgcc }"
+ 
+ /* We specify crt0.o as -lcrt0.o so that ld will search the library path.
+ 
+--- libgcc/config/t-slibgcc-darwin.orig	2012-09-13 20:26:11.000000000 -0700
++++ libgcc/config/t-slibgcc-darwin	2012-09-13 20:27:08.000000000 -0700
+@@ -39,7 +39,7 @@ endif
+ 
+ LGCC_FILES = libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
+ LGCC_FILES += $(LGCC_STUBS)
+-LEXT_STUBS = libgcc_ext.10.4$(SHLIB_EXT) libgcc_ext.10.5$(SHLIB_EXT)
++LEXT_STUBS =
+ LGCC_FILES += $(LEXT_STUBS)
+ INSTALL_FILES=$(LGCC_FILES)
+ 
+

Modified: trunk/dports/lang/gcc48/Portfile
===================================================================
--- trunk/dports/lang/gcc48/Portfile	2012-09-14 02:30:22 UTC (rev 97743)
+++ trunk/dports/lang/gcc48/Portfile	2012-09-14 06:22:00 UTC (rev 97744)
@@ -39,6 +39,8 @@
 
 depends_skip_archcheck-append gcc_select ld64 cctools
 
+patch.dir           ${workpath}/gcc-${version}
+
 set major           4.8
 
 worksrcdir          build
@@ -105,8 +107,13 @@
 if {${subport} == "libstdcxx-devel"} {
     # Revision subport separately from port for now in order to not force
     # rebuilds of gcc while ironing out the wrinkles in libstdcxx
-    revision 100
+    revision 101
 
+    # We might want to consider adding this patch to the gcc subport as well
+    # since it removes stuff that doesn't really make sense in the context of
+    # MacPorts
+    patchfiles-append  no-runtime-stubs.patch
+
     depends_run-delete port:${subport}
 
     configure.args-delete --libdir=${prefix}/lib/${name}
@@ -143,9 +150,6 @@
                 file delete -force ${archdir}
             }
         }
-
-        # Some linkers don't optimize this unused link away.  TODO: Fix this in the build system
-        system "install_name_tool -change ${prefix}/lib/libgcc_s.1.dylib /usr/lib/libgcc_s.1.dylib ${destroot}${prefix}/lib/libstdc++.6.dylib"
     }
 } else {
 post-destroot {

Added: trunk/dports/lang/gcc48/files/no-runtime-stubs.patch
===================================================================
--- trunk/dports/lang/gcc48/files/no-runtime-stubs.patch	                        (rev 0)
+++ trunk/dports/lang/gcc48/files/no-runtime-stubs.patch	2012-09-14 06:22:00 UTC (rev 97744)
@@ -0,0 +1,34 @@
+--- gcc/config/darwin.h.orig	2012-09-13 20:20:33.000000000 -0700
++++ gcc/config/darwin.h	2012-09-13 20:23:03.000000000 -0700
+@@ -325,17 +325,8 @@ extern GTY(()) int darwin_ms_struct;
+ #undef REAL_LIBGCC_SPEC
+ #define REAL_LIBGCC_SPEC						   \
+    "%{static-libgcc|static: -lgcc_eh -lgcc;				   \
+-      shared-libgcc|fexceptions|fgnu-runtime:				   \
+-       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4)	   \
+-       %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5)   \
+-       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4)	   \
+-       %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5)	   \
+-       -lgcc ;								   \
+-      :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
+-       %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5)   \
+-       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4)	   \
+-       %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5)	   \
+-       -lgcc }"
++      shared-libgcc|fexceptions|fgnu-runtime: -lgcc;			   \
++      : -lgcc }"
+ 
+ /* We specify crt0.o as -lcrt0.o so that ld will search the library path.
+ 
+--- libgcc/config/t-slibgcc-darwin.orig	2012-09-13 20:26:11.000000000 -0700
++++ libgcc/config/t-slibgcc-darwin	2012-09-13 20:27:08.000000000 -0700
+@@ -39,7 +39,7 @@ endif
+ 
+ LGCC_FILES = libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
+ LGCC_FILES += $(LGCC_STUBS)
+-LEXT_STUBS = libgcc_ext.10.4$(SHLIB_EXT) libgcc_ext.10.5$(SHLIB_EXT)
++LEXT_STUBS =
+ LGCC_FILES += $(LEXT_STUBS)
+ INSTALL_FILES=$(LGCC_FILES)
+ 
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120913/261126a1/attachment-0001.html>


More information about the macports-changes mailing list