[54512] trunk/dports/lang

jmr at macports.org jmr at macports.org
Tue Jul 28 15:47:25 PDT 2009


Revision: 54512
          http://trac.macports.org/changeset/54512
Author:   jmr at macports.org
Date:     2009-07-28 15:47:25 -0700 (Tue, 28 Jul 2009)
Log Message:
-----------
gcc ports: Set archflags that are acceptable to the generated compiler (#20280). If this isn't doing things right, please feel free to correct.

Modified Paths:
--------------
    trunk/dports/lang/gcc40/Portfile
    trunk/dports/lang/gcc41/Portfile
    trunk/dports/lang/gcc42/Portfile
    trunk/dports/lang/gcc43/Portfile
    trunk/dports/lang/gcc44/Portfile
    trunk/dports/lang/gcc45/Portfile

Modified: trunk/dports/lang/gcc40/Portfile
===================================================================
--- trunk/dports/lang/gcc40/Portfile	2009-07-28 22:45:19 UTC (rev 54511)
+++ trunk/dports/lang/gcc40/Portfile	2009-07-28 22:47:25 UTC (rev 54512)
@@ -47,6 +47,23 @@
 #patchfiles		patch-config-i386-darwin.h
 #patch.dir		${workpath}/gcc-${version}
 
+# the generated compiler doesn't accept -arch
+if {[info exists build_arch] && ${os.platform} == "darwin"} {
+    if {(${os.arch} == "i386" && $build_arch == "i386") || (${os.arch} == "powerpc" && $build_arch == "ppc")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m32 ${configure.cflags}"
+    } elseif {(${os.arch} == "i386" && $build_arch == "x86_64") || (${os.arch} == "powerpc" && $build_arch == "ppc64")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m64 ${configure.cflags}"
+    } else {
+        pre-fetch {
+            return -code error "Cannot build $name for $build_arch"
+        }
+    }
+    configure.env-append CFLAGS_FOR_BUILD="${configure.cc_archflags} ${configure.cflags}"
+    configure.cc_archflags
+    configure.cxx_archflags
+    configure.objc_archflags
+}
+
 configure.cmd	${workpath}/gcc-${version}/configure
 configure.args	--enable-languages=c,c++,java,objc,f95 \
 				--libdir=${prefix}/lib/${name} \

Modified: trunk/dports/lang/gcc41/Portfile
===================================================================
--- trunk/dports/lang/gcc41/Portfile	2009-07-28 22:45:19 UTC (rev 54511)
+++ trunk/dports/lang/gcc41/Portfile	2009-07-28 22:47:25 UTC (rev 54512)
@@ -51,6 +51,23 @@
 }
 patch.dir       ${workpath}/gcc-${version}
 
+# the generated compiler doesn't accept -arch
+if {[info exists build_arch] && ${os.platform} == "darwin"} {
+    if {(${os.arch} == "i386" && $build_arch == "i386") || (${os.arch} == "powerpc" && $build_arch == "ppc")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m32 ${configure.cflags}"
+    } elseif {(${os.arch} == "i386" && $build_arch == "x86_64") || (${os.arch} == "powerpc" && $build_arch == "ppc64")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m64 ${configure.cflags}"
+    } else {
+        pre-fetch {
+            return -code error "Cannot build $name for $build_arch"
+        }
+    }
+    configure.env-append CFLAGS_FOR_BUILD="${configure.cc_archflags} ${configure.cflags}"
+    configure.cc_archflags
+    configure.cxx_archflags
+    configure.objc_archflags
+}
+
 configure.cmd	../gcc-${version}/configure
 configure.args	--enable-languages=c,c++,objc,obj-c++,fortran,java \
 				--libdir=${prefix}/lib/${name} \

Modified: trunk/dports/lang/gcc42/Portfile
===================================================================
--- trunk/dports/lang/gcc42/Portfile	2009-07-28 22:45:19 UTC (rev 54511)
+++ trunk/dports/lang/gcc42/Portfile	2009-07-28 22:47:25 UTC (rev 54512)
@@ -50,6 +50,23 @@
 	}
 }
 
+# the generated compiler doesn't accept -arch
+if {[info exists build_arch] && ${os.platform} == "darwin"} {
+    if {(${os.arch} == "i386" && $build_arch == "i386") || (${os.arch} == "powerpc" && $build_arch == "ppc")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m32 ${configure.cflags}"
+    } elseif {(${os.arch} == "i386" && $build_arch == "x86_64") || (${os.arch} == "powerpc" && $build_arch == "ppc64")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m64 ${configure.cflags}"
+    } else {
+        pre-fetch {
+            return -code error "Cannot build $name for $build_arch"
+        }
+    }
+    configure.env-append CFLAGS_FOR_BUILD="${configure.cc_archflags} ${configure.cflags}"
+    configure.cc_archflags
+    configure.cxx_archflags
+    configure.objc_archflags
+}
+
 pre-configure {
 	file mkdir ${worksrcpath}
 }

Modified: trunk/dports/lang/gcc43/Portfile
===================================================================
--- trunk/dports/lang/gcc43/Portfile	2009-07-28 22:45:19 UTC (rev 54511)
+++ trunk/dports/lang/gcc43/Portfile	2009-07-28 22:47:25 UTC (rev 54512)
@@ -47,6 +47,23 @@
     file mkdir ${worksrcpath}
 }
 
+# the generated compiler doesn't accept -arch
+if {[info exists build_arch] && ${os.platform} == "darwin"} {
+    if {(${os.arch} == "i386" && $build_arch == "i386") || (${os.arch} == "powerpc" && $build_arch == "ppc")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m32 ${configure.cflags}"
+    } elseif {(${os.arch} == "i386" && $build_arch == "x86_64") || (${os.arch} == "powerpc" && $build_arch == "ppc64")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m64 ${configure.cflags}"
+    } else {
+        pre-fetch {
+            return -code error "Cannot build $name for $build_arch"
+        }
+    }
+    configure.env-append CFLAGS_FOR_BUILD="${configure.cc_archflags} ${configure.cflags}"
+    configure.cc_archflags
+    configure.cxx_archflags
+    configure.objc_archflags
+}
+
 configure.cmd   ../gcc-${version}/configure
 configure.args  --enable-languages=c,c++,objc,obj-c++,java,fortran \
         --libdir=${prefix}/lib/${name} \

Modified: trunk/dports/lang/gcc44/Portfile
===================================================================
--- trunk/dports/lang/gcc44/Portfile	2009-07-28 22:45:19 UTC (rev 54511)
+++ trunk/dports/lang/gcc44/Portfile	2009-07-28 22:47:25 UTC (rev 54512)
@@ -43,6 +43,23 @@
 
 worksrcdir		build
 
+# the generated compiler doesn't accept -arch
+if {[info exists build_arch] && ${os.platform} == "darwin"} {
+    if {(${os.arch} == "i386" && $build_arch == "i386") || (${os.arch} == "powerpc" && $build_arch == "ppc")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m32 ${configure.cflags}"
+    } elseif {(${os.arch} == "i386" && $build_arch == "x86_64") || (${os.arch} == "powerpc" && $build_arch == "ppc64")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m64 ${configure.cflags}"
+    } else {
+        pre-fetch {
+            return -code error "Cannot build $name for $build_arch"
+        }
+    }
+    configure.env-append CFLAGS_FOR_BUILD="${configure.cc_archflags} ${configure.cflags}"
+    configure.cc_archflags
+    configure.cxx_archflags
+    configure.objc_archflags
+}
+
 pre-configure {
 	file mkdir ${worksrcpath}
 }

Modified: trunk/dports/lang/gcc45/Portfile
===================================================================
--- trunk/dports/lang/gcc45/Portfile	2009-07-28 22:45:19 UTC (rev 54511)
+++ trunk/dports/lang/gcc45/Portfile	2009-07-28 22:47:25 UTC (rev 54512)
@@ -42,6 +42,23 @@
 
 worksrcdir		build
 
+# the generated compiler doesn't accept -arch
+if {[info exists build_arch] && ${os.platform} == "darwin"} {
+    if {(${os.arch} == "i386" && $build_arch == "i386") || (${os.arch} == "powerpc" && $build_arch == "ppc")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m32 ${configure.cflags}"
+    } elseif {(${os.arch} == "i386" && $build_arch == "x86_64") || (${os.arch} == "powerpc" && $build_arch == "ppc64")} {
+        configure.env-append CFLAGS_FOR_TARGET="-m64 ${configure.cflags}"
+    } else {
+        pre-fetch {
+            return -code error "Cannot build $name for $build_arch"
+        }
+    }
+    configure.env-append CFLAGS_FOR_BUILD="${configure.cc_archflags} ${configure.cflags}"
+    configure.cc_archflags
+    configure.cxx_archflags
+    configure.objc_archflags
+}
+
 pre-configure {
 	file mkdir ${worksrcpath}
 }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090728/98b54e98/attachment-0001.html>


More information about the macports-changes mailing list