[103386] trunk/dports/lang/chicken

larryv at macports.org larryv at macports.org
Sat Feb 23 21:35:47 PST 2013


Revision: 103386
          https://trac.macports.org/changeset/103386
Author:   larryv at macports.org
Date:     2013-02-23 21:35:47 -0800 (Sat, 23 Feb 2013)
Log Message:
-----------
chicken: Enable universal builds with any of ppc, i386, and x86_64.

Modified Paths:
--------------
    trunk/dports/lang/chicken/Portfile
    trunk/dports/lang/chicken/files/patch-Makefile.macosx.diff

Modified: trunk/dports/lang/chicken/Portfile
===================================================================
--- trunk/dports/lang/chicken/Portfile	2013-02-23 20:17:43 UTC (rev 103385)
+++ trunk/dports/lang/chicken/Portfile	2013-02-24 05:35:47 UTC (rev 103386)
@@ -17,12 +17,17 @@
 homepage                http://www.call-with-current-continuation.org/
 platforms               darwin
 
+# Source contains some assembly files for PPC, i386, and x86_64. Not
+# sure if the PPC one can be assembled with "-arch ppc64".
+supported_archs         ppc i386 x86_64
+
 set branch [join [lrange [split ${version} .] 0 2] .]
 master_sites            http://code.call-cc.org/releases/${branch}
 
 checksums               rmd160  7d92c10315f3f9c14003d6789a6ebdc4c0f78b25 \
                         sha256  bf933f8cc4586b8b468c9abb8ec079a9f109ea20b5f12a1af2776f694e14791d
 
+# Allow build to pass in flags; enable universal builds with x86_64.
 patchfiles              patch-Makefile.macosx.diff \
                         patch-rules.make.diff
 
@@ -37,38 +42,28 @@
 # Upstream does not support parallel builds.
 use_parallel_build      no
 
-# Restrict universal variant to Tiger and Leopard because upstream only
-# supports i386/ppc universal binaries.
-if {${os.platform} == "darwin" && ${os.major} < 10} {
-    variant universal {}
-}
+variant universal {}
 
-# Force build system to respect build_arch and arch/SDK flags.
+# Correctly identify selected arch(s) to build system.
+array set archs {ppc ppc.darwin i386 x86 x86_64 x86-64}
 if {[variant_isset universal]} {
-    if {${os.major} == 9} {
-        macosx_deployment_target    10.4
-    }
-    set sdk_ccflags "-isysroot ${configure.sdkroot}"
-    set sdk_ldflags "-Wl,-syslibroot,${configure.sdkroot}"
     build.args-append   ARCH=universal \
-                        CFLAGS="[get_canonical_archflags cc] ${sdk_ccflags}" \
-                        LDFLAGS="[get_canonical_archflags ld] ${sdk_ldflags}"
+                        UNIVERSAL_ARCHS="[string map [array get archs] \
+                                            ${configure.universal_archs}]"
 } else {
-    switch -glob ${configure.build_arch} {
-        i386    { build.args-append ARCH=x86 }
-        x86_64  { build.args-append ARCH=x86-64 }
-        ppc* {
-            if {${os.platform} == "darwin"} {
-                build.args-append   ARCH=ppc.darwin
-            } else {
-                build.args-append   ARCH=ppc.sysv
-            }
-        }
-    }
-    build.args-append   CFLAGS="[get_canonical_archflags cc]" \
-                        LDFLAGS="[get_canonical_archflags ld]"
+    build.args-append   ARCH=$archs(${configure.build_arch})
 }
 
+# Pass in correct arch and SDK flags.
+set cflags "[get_canonical_archflags cc]"
+set ldflags "[get_canonical_archflags ld]"
+if {${configure.sdkroot} != ""} {
+    set cflags "${cflags} -isysroot ${configure.sdkroot}"
+    set ldflags "${ldflags} -Wl,-syslibroot,${configure.sdkroot}"
+}
+build.args-append       CFLAGS="${cflags}" \
+                        LDFLAGS="${ldflags}"
+
 destroot.args           ${build.args}
 
 livecheck.type          regex

Modified: trunk/dports/lang/chicken/files/patch-Makefile.macosx.diff
===================================================================
--- trunk/dports/lang/chicken/files/patch-Makefile.macosx.diff	2013-02-23 20:17:43 UTC (rev 103385)
+++ trunk/dports/lang/chicken/files/patch-Makefile.macosx.diff	2013-02-24 05:35:47 UTC (rev 103386)
@@ -1,5 +1,5 @@
 --- Makefile.macosx.orig	2013-01-08 22:57:09.000000000 -0500
-+++ Makefile.macosx	2013-02-23 01:22:00.000000000 -0500
++++ Makefile.macosx	2013-02-23 22:03:57.000000000 -0500
 @@ -69,18 +69,12 @@
  
  # architectures
@@ -22,3 +22,15 @@
  endif
  
  # select default and internal settings
+@@ -140,7 +134,10 @@
+ apply-hack.x86$(O): $(SRCDIR)apply-hack.x86.S
+ 	$(ASSEMBLER) $(ASSEMBLER_OPTIONS) -arch i386 \
+            $(ASSEMBLER_COMPILE_OPTION) $< $(ASSEMBLER_OUTPUT)
+-$(APPLY_HACK_OBJECT): apply-hack.x86$(O) apply-hack.ppc.darwin$(O)
++apply-hack.x86-64$(O): $(SRCDIR)apply-hack.x86-64.S
++	$(ASSEMBLER) $(ASSEMBLER_OPTIONS) -arch x86_64 \
++           $(ASSEMBLER_COMPILE_OPTION) $< $(ASSEMBLER_OUTPUT)
++$(APPLY_HACK_OBJECT): $(foreach arch,$(UNIVERSAL_ARCHS),apply-hack.$(arch)$(O))
+ 	lipo -create -output $@ $^
+ endif
+ endif
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130223/e9dc55f8/attachment.html>


More information about the macports-changes mailing list