Index: /trunk/dports/lang/gcc47/Portfile
===================================================================
--- /trunk/dports/lang/gcc47/Portfile	(revision 97723)
+++ /trunk/dports/lang/gcc47/Portfile	(revision 97724)
@@ -121,4 +121,7 @@
 # TODO: Optimize this.  We don't need to actually bootstrap gcc to build libstdc++
 if {${subport} == "libstdcxx"} {
+    # Subport revisions start at 100, so we don't need to revbump the main port and subport together
+    revision 100
+
     depends_run-delete path:lib/.libstdcxx:libstdcxx
 
@@ -135,10 +138,26 @@
 
     post-destroot {
-        eval delete [glob ${destroot}${prefix}/lib/*{a,py}]
+        eval file delete [glob ${destroot}${prefix}/lib/*{a,py}]
         file delete -force ${destroot}${prefix}/share/gcc-${major}
         file delete -force ${destroot}${prefix}/include/${name}
 
+        # Don't install the linktime symlink.  The compilers will place this
+        # in their libdir, and we don't want to break other toolchains by having
+        # them link against this libstdc++ (at least not until it is built on
+        # top of libc++abi).
+        file delete ${destroot}${prefix}/lib/libstdc++.dylib
+
         # base doesn't like the + in this depspec path:lib/libstdc++.dylib:libstdcxx
         system "touch ${destroot}${prefix}/lib/.libstdcxx"
+
+        if {[variant_isset universal]} {
+            foreach archdir [glob ${destroot}${prefix}/lib/*/] {
+                if {[file exists ${archdir}/libstdc++.6.dylib]} {
+                    system "install_name_tool -id ${prefix}/lib/libstdc++.6.dylib ${archdir}/libstdc++.6.dylib"
+                    system "lipo -create -output ${destroot}${prefix}/lib/libstdc++.6.dylib~ ${destroot}${prefix}/lib/libstdc++.6.dylib ${archdir}/libstdc++.6.dylib && mv ${destroot}${prefix}/lib/libstdc++.6.dylib~ ${destroot}${prefix}/lib/libstdc++.6.dylib"
+                }
+                file delete -force ${archdir}
+            }
+        }
 
         # Some linkers don't optimize this unused link away.  TODO: Fix this in the build system
Index: /trunk/dports/lang/gcc48/Portfile
===================================================================
--- /trunk/dports/lang/gcc48/Portfile	(revision 97723)
+++ /trunk/dports/lang/gcc48/Portfile	(revision 97724)
@@ -102,4 +102,7 @@
 # TODO: Optimize this.  We don't need to actually bootstrap gcc to build libstdc++
 if {${subport} == "libstdcxx-devel"} {
+    # Subport revisions start at 100, so we don't need to revbump the main port and subport together
+    revision 100
+
     depends_run-delete port:${subport}
 
@@ -116,10 +119,26 @@
 
     post-destroot {
-        eval delete [glob ${destroot}${prefix}/lib/*{a,py}]
+        eval file delete [glob ${destroot}${prefix}/lib/*{a,py}]
         file delete -force ${destroot}${prefix}/share/gcc-${major}
         file delete -force ${destroot}${prefix}/include/${name}
 
+        # Don't install the linktime symlink.  The compilers will place this
+        # in their libdir, and we don't want to break other toolchains by having
+        # them link against this libstdc++ (at least not until it is built on
+        # top of libc++abi).
+        file delete ${destroot}${prefix}/lib/libstdc++.dylib
+
         # base doesn't like the + in this depspec path:lib/libstdc++.dylib:libstdcxx
         system "touch ${destroot}${prefix}/lib/.libstdcxx"
+
+        if {[variant_isset universal]} {
+            foreach archdir [glob ${destroot}${prefix}/lib/*/] {
+                if {[file exists ${archdir}/libstdc++.6.dylib]} {
+                    system "install_name_tool -id ${prefix}/lib/libstdc++.6.dylib ${archdir}/libstdc++.6.dylib"
+                    system "lipo -create -output ${destroot}${prefix}/lib/libstdc++.6.dylib~ ${destroot}${prefix}/lib/libstdc++.6.dylib ${archdir}/libstdc++.6.dylib && mv ${destroot}${prefix}/lib/libstdc++.6.dylib~ ${destroot}${prefix}/lib/libstdc++.6.dylib"
+                }
+                file delete -force ${archdir}
+            }
+        }
 
         # Some linkers don't optimize this unused link away.  TODO: Fix this in the build system
