[50655] trunk/dports/devel/orbit2

mcalhoun at macports.org mcalhoun at macports.org
Tue May 5 22:14:21 PDT 2009


Revision: 50655
          http://trac.macports.org/changeset/50655
Author:   mcalhoun at macports.org
Date:     2009-05-05 22:14:20 -0700 (Tue, 05 May 2009)
Log Message:
-----------
orbit2: Use muniversal PortGroup to build universal binaries so that endian and alignment are correct.

Modified Paths:
--------------
    trunk/dports/devel/orbit2/Portfile

Added Paths:
-----------
    trunk/dports/devel/orbit2/files/
    trunk/dports/devel/orbit2/files/patch-configure.diff

Modified: trunk/dports/devel/orbit2/Portfile
===================================================================
--- trunk/dports/devel/orbit2/Portfile	2009-05-06 05:06:21 UTC (rev 50654)
+++ trunk/dports/devel/orbit2/Portfile	2009-05-06 05:14:20 UTC (rev 50655)
@@ -1,6 +1,7 @@
 # $Id$
 
 PortSystem      1.0
+PortGroup       muniversal 1.0
 
 name            orbit2
 set my_name     ORBit2
@@ -39,6 +40,100 @@
     configure.cflags-append -DBIND_8_COMPAT=1
 }
 
+if { [variant_isset universal] } {
+    # Find architectures which will not run on build platform.
+    if { ${os.arch}=="i386" } {
+        if { ${os.major} >= 10 } {
+            set cross_archs "ppc ppc64"
+        } else {
+            set cross_archs "ppc64"
+        }
+        set host_archs "ppc ppc64"
+    } else {
+        set cross_archs "i386 x86_64"
+        set host_archs "i386 x86_64"
+    }
+    
+    set run_arch [lindex ${universal_archs} 0]
+    if { [lsearch ${cross_archs} ${run_arch}] >= 0 } {
+        ui_msg "When building a universal binary of ${name}, make sure none of {${cross_archs}} is first in universal_archs in ${prefix}/etc/macports/macports.conf"
+        error "incompatible universal_archs value"
+    }
+
+    # During configure phase, idl compiler on run_arch will not exist yet, so disable the check for existence.
+    patchfiles  patch-configure.diff
+
+    foreach arch ${cross_archs} {
+        lappend merger_configure_args(${arch}) \
+            --with-idl-compiler=${worksrcpath}-${run_arch}/src/idl-compiler/orbit-idl-2
+    }
+
+    if { ${os.arch}=="i386" } {
+        if { ${os.major} >= 10 } {
+        lappend merger_configure_env(ppc)      \
+            ac_cv_alignof_CORBA_boolean=1      \
+            ac_cv_alignof_CORBA_char=1         \
+            ac_cv_alignof_CORBA_double=4       \
+            ac_cv_alignof_CORBA_float=4        \
+            ac_cv_alignof_CORBA_long=4         \
+            ac_cv_alignof_CORBA_long_double=4  \
+            ac_cv_alignof_CORBA_long_long=4    \
+            ac_cv_alignof_CORBA_octet=1        \
+            ac_cv_alignof_CORBA_pointer=4      \
+            ac_cv_alignof_CORBA_short=2        \
+            ac_cv_alignof_CORBA_struct=1       \
+            ac_cv_alignof_CORBA_wchar=2        \
+            ac_cv_c_bigendian=yes
+        }
+
+        lappend merger_configure_env(ppc64)    \
+            ac_cv_alignof_CORBA_boolean=1      \
+            ac_cv_alignof_CORBA_char=1         \
+            ac_cv_alignof_CORBA_double=8       \
+            ac_cv_alignof_CORBA_float=4        \
+            ac_cv_alignof_CORBA_long=4         \
+            ac_cv_alignof_CORBA_long_double=8  \
+            ac_cv_alignof_CORBA_long_long=8    \
+            ac_cv_alignof_CORBA_octet=1        \
+            ac_cv_alignof_CORBA_pointer=8      \
+            ac_cv_alignof_CORBA_short=2        \
+            ac_cv_alignof_CORBA_struct=1       \
+            ac_cv_alignof_CORBA_wchar=2        \
+            ac_cv_c_bigendian=yes
+
+    } else {
+        lappend merger_configure_env(i386)     \
+            ac_cv_alignof_CORBA_boolean=1      \
+            ac_cv_alignof_CORBA_char=1         \
+            ac_cv_alignof_CORBA_double=4       \
+            ac_cv_alignof_CORBA_float=4        \
+            ac_cv_alignof_CORBA_long=4         \
+            ac_cv_alignof_CORBA_long_double=4  \
+            ac_cv_alignof_CORBA_long_long=4    \
+            ac_cv_alignof_CORBA_octet=1        \
+            ac_cv_alignof_CORBA_pointer=4      \
+            ac_cv_alignof_CORBA_short=2        \
+            ac_cv_alignof_CORBA_struct=1       \
+            ac_cv_alignof_CORBA_wchar=2        \
+            ac_cv_c_bigendian=no
+
+        lappend merger_configure_env(x86_64)   \
+            ac_cv_alignof_CORBA_boolean=1      \
+            ac_cv_alignof_CORBA_char=1         \
+            ac_cv_alignof_CORBA_double=8       \
+            ac_cv_alignof_CORBA_float=4        \
+            ac_cv_alignof_CORBA_long=4         \
+            ac_cv_alignof_CORBA_long_double=8  \
+            ac_cv_alignof_CORBA_long_long=8    \
+            ac_cv_alignof_CORBA_octet=1        \
+            ac_cv_alignof_CORBA_pointer=8      \
+            ac_cv_alignof_CORBA_short=2        \
+            ac_cv_alignof_CORBA_struct=1       \
+            ac_cv_alignof_CORBA_wchar=2        \
+            ac_cv_c_bigendian=no
+    }
+}
+
 livecheck.check regex
 livecheck.url   http://ftp.gnome.org/pub/gnome/sources/${my_name}/${branch}/
 livecheck.regex {LATEST-IS-(\d+(?:\.\d+)*)}

Added: trunk/dports/devel/orbit2/files/patch-configure.diff
===================================================================
--- trunk/dports/devel/orbit2/files/patch-configure.diff	                        (rev 0)
+++ trunk/dports/devel/orbit2/files/patch-configure.diff	2009-05-06 05:14:20 UTC (rev 50655)
@@ -0,0 +1,14 @@
+--- configure.orig	2009-03-05 04:53:02.000000000 -0700
++++ configure	2009-04-27 09:46:38.000000000 -0700
+@@ -11662,9 +11662,9 @@
+ # Check whether --with-idl-compiler was given.
+ if test "${with_idl_compiler+set}" = set; then
+   withval=$with_idl_compiler; if test "x$withval" != x; then
+-		if test -f "$withval"; then
++		#if test -f "$withval"; then
+ 		    IDL_COMPILER=$withval
+-		fi
++		#fi
+ 	fi
+ 
+ fi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090505/c165e51c/attachment.html>


More information about the macports-changes mailing list