~ chicken-core (chicken-5) 7b310fa154c0f550852fd2586bfea3e50cdec1ea


commit 7b310fa154c0f550852fd2586bfea3e50cdec1ea
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Mon Mar 8 13:42:01 2010 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Mon Mar 8 13:42:01 2010 +0100

    applied universal build mac os patch by Jim Ursetto

diff --git a/Makefile.macosx b/Makefile.macosx
index 15426b57..2c188da9 100644
--- a/Makefile.macosx
+++ b/Makefile.macosx
@@ -55,6 +55,7 @@ LINKER_LINK_SHARED_LIBRARY_OPTIONS = -dynamiclib -compatibility_version 1 -curre
 POSTINSTALL_PROGRAM_FLAGS = -change libchicken$(SO) $(LIBDIR)/libchicken$(SO)
 LIBRARIAN_OPTIONS = scru
 LINKER_LINK_SHARED_DLOADABLE_OPTIONS = -bundle -L.
+ASSEMBLER_OPTIONS =
 
 # file extensions
 
@@ -64,6 +65,7 @@ SO = .dylib
 
 CHICKEN_CONFIG_H = chicken-config.h
 APPLY_HACK_OBJECT = apply-hack.$(ARCH)$(O)
+HACKED_APPLY ?= 1
 
 # architectures
 
@@ -77,18 +79,8 @@ else
 ifeq ($(ARCH),universal)
 C_COMPILER_OPTIONS += -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
 LINKER_OPTIONS += -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
-
-ifneq ($(HACKED_APPLY),)
-# We undefine HACKED_APPLY in order to override rules.make.
-HACKED_APPLY=
-apply-hack.ppc.darwin$(O): apply-hack.ppc.darwin.S
-	as -arch ppc -o $@ $<
-apply-hack.x86$(O): apply-hack.x86.S
-	as -arch i386 -o $@ $<
-$(APPLY_HACK_OBJECT): apply-hack.x86$(O) apply-hack.ppc.darwin$(O)
-	lipo -create -output $(APPLY_HACK_OBJECT) $^
-endif
 endif
+
 endif
 
 # select default and internal settings
@@ -134,4 +126,20 @@ ifneq ($(HACKED_APPLY),)
 endif
 	cat chicken-defaults.h >>$@
 
+ifeq ($(ARCH),universal)
+ifneq ($(HACKED_APPLY),)
+# We undefine HACKED_APPLY in order to override rules.make
+# with our own build rules.
+HACKED_APPLY=
+apply-hack.ppc.darwin$(O): $(SRCDIR)apply-hack.ppc.darwin.S
+	$(ASSEMBLER) $(ASSEMBLER_OPTIONS) -arch ppc \
+           $(ASSEMBLER_COMPILE_OPTION) $< $(ASSEMBLER_OUTPUT)
+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)
+	lipo -create -output $@ $^
+endif
+endif
+
 include $(SRCDIR)/rules.make
diff --git a/README b/README
index 5553d587..90c448a4 100644
--- a/README
+++ b/README
@@ -284,10 +284,11 @@
 
 	      make PLATFORM=macosx ARCH=universal
 
-	    On Leopard (10.5), an extra step is required before `make':
+	    On Leopard (10.5), an extra step is required before `make',
+	    and you must be sure to use GCC 4.0:
 
 	      export MACOSX_DEPLOYMENT_TARGET=10.4
-	      make PLATFORM=macosx ARCH=universal
+	      make C_COMPILER=gcc-4.0 PLATFORM=macosx ARCH=universal
 
 	  - On Mac OS X, Chicken can be built in 64-bit mode on Intel
 	    Core 2 Duo systems--basically, most recent machines.  The default
Trap