[47780] trunk/dports/devel/gmp/Portfile
mcalhoun at macports.org
mcalhoun at macports.org
Thu Mar 5 18:54:48 PST 2009
Revision: 47780
http://trac.macports.org/changeset/47780
Author: mcalhoun at macports.org
Date: 2009-03-05 18:54:47 -0800 (Thu, 05 Mar 2009)
Log Message:
-----------
gmp: Allow configure script to select fastest possible build options.
Allow cross-compiling.
Modified Paths:
--------------
trunk/dports/devel/gmp/Portfile
Modified: trunk/dports/devel/gmp/Portfile
===================================================================
--- trunk/dports/devel/gmp/Portfile 2009-03-06 02:52:08 UTC (rev 47779)
+++ trunk/dports/devel/gmp/Portfile 2009-03-06 02:54:47 UTC (rev 47780)
@@ -6,7 +6,7 @@
name gmp
version 4.2.4
-revision 1
+revision 2
categories devel math
maintainers mcalhoun openmaintainer
platforms darwin
@@ -32,34 +32,60 @@
use_bzip2 yes
use_parallel_build yes
-if {![variant_isset universal]} {
- configure.env ABI=32
-}
-
configure.args --infodir=${prefix}/share/info \
--enable-cxx
+# if CFLAGS and CXXFLAGS are undefined, configure script tries to build fastest library for build machine.
+pre-fetch {
+ # Set in pre-fetch so any universal flags are removed as well.
+ configure.cflags
+ configure.cxxflags
+}
+
test.run yes
test.cmd make
test.target check
-platform powerpc {
- if {![variant_isset universal]} {
- configure.cflags-append -force_cpusubtype_ALL
- }
+set machine [exec "/usr/bin/machine"]
+if { ${machine}=="ppc970" } {
+ # Use special 32-bit mode for G5 processors.
+ # In http://gmplib.org/manual/ABI-and-ISA.html, mode32 is said to be faster.
+ set abi32 mode32
+} else {
+ set abi32 32
}
-set merger_must_run_binaries yes
-set merger_no_3_archs yes
+if {![variant_isset universal]} {
+ configure.env ABI=${abi32}
+} else {
+ # Keep configure.cflags and configure.cxxflags empty.
+ set merger_arch_flag no
-array set merger_configure_env {
- ppc ABI=32
- i386 ABI=32
- ppc64 ABI=mode64
- x86_64 ABI=64
-}
+ array set merger_configure_env {
+ i386 ABI=32
+ ppc64 ABI=mode64
+ x86_64 ABI=64
+ }
+ set merger_configure_env(ppc) ABI=${abi32}
-array set merger_configure_cflags {
- ppc -force_cpusubtype_ALL
- ppc64 -force_cpusubtype_ALL
+ # universal_archs_to_use might not be set before pre-fetch.
+ pre-fetch {
+ global merger_dont_diff merger_configure_env
+
+ # if building on a G5, merge might not work.
+ if { [llength ${universal_archs_to_use}]>2 } {
+ set merger_dont_diff "${prefix}/include/gmp.h"
+ }
+ }
+
+ # For cross-compiling, set C compiler and pre-precessor.
+ if { ${os.arch}=="i386" } {
+ if { ${os.major} >= 10 } {
+ lappend merger_configure_env(ppc) CC_FOR_BUILD=${configure.cc} CPP_FOR_BUILD=${configure.cpp}
+ }
+ lappend merger_configure_env(ppc64) CC_FOR_BUILD=${configure.cc} CPP_FOR_BUILD=${configure.cpp}
+ } else {
+ lappend merger_configure_env(i386) CC_FOR_BUILD=${configure.cc} CPP_FOR_BUILD=${configure.cpp}
+ lappend merger_configure_env(x86_64) CC_FOR_BUILD=${configure.cc} CPP_FOR_BUILD=${configure.cpp}
+ }
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090305/a0fddde6/attachment.html>
More information about the macports-changes
mailing list