--- /dev/null
+diff -ru a//defaults.make b//defaults.make
+--- a//defaults.make 2010-05-11 18:50:35.000000000 +0300
++++ b//defaults.make 2010-06-07 21:24:55.000000000 +0300
+@@ -31,7 +31,7 @@
+ STACKDIRECTION ?= 1
+ CROSS_CHICKEN ?= 0
+
+-ifeq ($(ARCH),x86-64)
++ifeq ($(zARCH),x86-64)
+ NURSERY ?= (256*1024)
+ else
+ NURSERY ?= (128*1024)
+@@ -272,10 +272,10 @@
+ POSIXFILE ?= posixunix
+ CHICKEN_CONFIG_H = chicken-config.h
+
+-ifneq ($(ARCH),)
++ifneq ($(zARCH),)
+ HACKED_APPLY ?= 1
+-APPLY_HACK_SRC ?= apply-hack.$(ARCH)$(ASM)
+-APPLY_HACK_OBJECT ?= apply-hack.$(ARCH)$(O)
++APPLY_HACK_SRC ?= apply-hack.$(zARCH)$(ASM)
++APPLY_HACK_OBJECT ?= apply-hack.$(zARCH)$(O)
+ endif
+
+ ifeq ($(HACKED_APPLY),)
+diff -ru a//Makefile.bsd b//Makefile.bsd
+--- a//Makefile.bsd 2010-05-11 18:50:34.000000000 +0300
++++ b//Makefile.bsd 2010-06-07 21:24:25.000000000 +0300
+@@ -33,7 +33,7 @@
+
+ # platform configuration
+
+-ARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
++zARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
+
+ # options
+
+diff -ru a//Makefile.cross-linux-mingw b//Makefile.cross-linux-mingw
+--- a//Makefile.cross-linux-mingw 2010-05-11 18:50:34.000000000 +0300
++++ b//Makefile.cross-linux-mingw 2010-06-07 21:23:02.000000000 +0300
+@@ -34,7 +34,7 @@
+ # platform configuration
+
+ DLLSINPATH = 1
+-ARCH ?= x86
++zARCH ?= x86
+ HACKED_APPLY = 1
+ WINDOWS = 1
+
+@@ -72,7 +72,7 @@
+
+ # special files
+
+-APPLY_HACK_OBJECT = apply-hack.$(ARCH)$(O)
++APPLY_HACK_OBJECT = apply-hack.$(zARCH)$(O)
+ POSIXFILE = posixwin
+
+ # select default and internal settings
+diff -ru a//Makefile.cygwin b//Makefile.cygwin
+--- a//Makefile.cygwin 2010-05-11 18:50:34.000000000 +0300
++++ b//Makefile.cygwin 2010-06-07 21:24:07.000000000 +0300
+@@ -33,7 +33,7 @@
+
+ # platform configuration
+
+-ARCH ?= x86
++zARCH ?= x86
+ HACKED_APPLY ?= 1
+ DLLSINPATH = 1
+
+@@ -76,7 +76,7 @@
+ # special files
+
+ CHICKEN_CONFIG_H = chicken-config.h
+-APPLY_HACK_OBJECT = apply-hack.$(ARCH)$(O)
++APPLY_HACK_OBJECT = apply-hack.$(zARCH)$(O)
+
+ # select default and internal settings
+
+diff -ru a//Makefile.linux b//Makefile.linux
+--- a//Makefile.linux 2010-05-11 18:50:34.000000000 +0300
++++ b//Makefile.linux 2010-06-07 21:25:31.000000000 +0300
+@@ -33,7 +33,7 @@
+
+ # platform configuration
+
+-ARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
++zARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
+
+ # options
+
+diff -ru a//Makefile.macosx b//Makefile.macosx
+--- a//Makefile.macosx 2010-05-11 18:50:34.000000000 +0300
++++ b//Makefile.macosx 2010-06-07 21:23:51.000000000 +0300
+@@ -33,7 +33,7 @@
+
+ # platform configuration
+
+-ARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
++zARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
+
+ # commands
+
+@@ -64,19 +64,19 @@
+ # special files
+
+ CHICKEN_CONFIG_H = chicken-config.h
+-APPLY_HACK_OBJECT = apply-hack.$(ARCH)$(O)
++APPLY_HACK_OBJECT = apply-hack.$(zARCH)$(O)
+ HACKED_APPLY ?= 1
+
+ # architectures
+
+-ifeq ($(ARCH),x86-64)
++ifeq ($(zARCH),x86-64)
+ C_COMPILER_OPTIONS += -m64
+ LINKER_OPTIONS += -m64
+ # Avoid bus error in install_name_tool
+ LINKER_LINK_SHARED_DLOADABLE_OPTIONS += -Wl,-headerpad -Wl,128
+ else
+
+-ifeq ($(ARCH),universal)
++ifeq ($(zARCH),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
+ endif
+@@ -126,7 +126,7 @@
+ endif
+ cat chicken-defaults.h >>$@
+
+-ifeq ($(ARCH),universal)
++ifeq ($(zARCH),universal)
+ ifneq ($(HACKED_APPLY),)
+ # We undefine HACKED_APPLY in order to override rules.make
+ # with our own build rules.
+diff -ru a//Makefile.mingw b//Makefile.mingw
+--- a//Makefile.mingw 2010-05-11 18:50:34.000000000 +0300
++++ b//Makefile.mingw 2010-06-07 21:25:59.000000000 +0300
+@@ -36,12 +36,12 @@
+ # platform configuration
+
+ DLLSINPATH = 1
+-ARCH ?= x86
++zARCH ?= x86
+ WINDOWS = 1
+ WINDOWS_SHELL = 1
+ UNAME_SYS = MinGW
+
+-ifeq ($(ARCH),x86)
++ifeq ($(zARCH),x86)
+ HACKED_APPLY ?= 1
+ else
+ HACKED_APPLY =
+@@ -79,7 +79,7 @@
+ # special files
+
+ CHICKEN_CONFIG_H = chicken-config.h
+-APPLY_HACK_OBJECT = apply-hack.$(ARCH)$(O)
++APPLY_HACK_OBJECT = apply-hack.$(zARCH)$(O)
+ POSIXFILE = posixwin
+
+ # select default and internal settings
+diff -ru a//Makefile.mingw-msys b//Makefile.mingw-msys
+--- a//Makefile.mingw-msys 2010-05-11 18:50:34.000000000 +0300
++++ b//Makefile.mingw-msys 2010-06-07 21:26:33.000000000 +0300
+@@ -34,8 +34,8 @@
+ # platform configuration
+
+ DLLSINPATH = 1
+-ARCH ?= x86
+-ifeq ($(ARCH),x86)
++zARCH ?= x86
++ifeq ($(zARCH),x86)
+ HACKED_APPLY ?= 1
+ else
+ HACKED_APPLY =
+@@ -79,7 +79,7 @@
+ # special files
+
+ CHICKEN_CONFIG_H = chicken-config.h
+-APPLY_HACK_OBJECT = apply-hack.$(ARCH)$(O)
++APPLY_HACK_OBJECT = apply-hack.$(zARCH)$(O)
+ POSIXFILE = posixwin
+
+ # select default and internal settings
+diff -ru a//Makefile.solaris b//Makefile.solaris
+--- a//Makefile.solaris 2010-05-11 18:50:34.000000000 +0300
++++ b//Makefile.solaris 2010-06-07 21:25:45.000000000 +0300
+@@ -33,7 +33,7 @@
+
+ # platform configuration
+
+-ARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
++zARCH ?= $(shell sh $(SRCDIR)/config-arch.sh)
+
+ # options
+
+diff -ru a//rules.make b//rules.make
+--- a//rules.make 2010-05-11 18:50:36.000000000 +0300
++++ b//rules.make 2010-06-07 21:26:10.000000000 +0300
+@@ -453,7 +453,7 @@
+ # assembler objects
+
+ ifneq ($(HACKED_APPLY),)
+-$(APPLY_HACK_OBJECT): $(SRCDIR)apply-hack.$(ARCH)$(ASM)
++$(APPLY_HACK_OBJECT): $(SRCDIR)apply-hack.$(zARCH)$(ASM)
+ $(ASSEMBLER) $(ASSEMBLER_OPTIONS) $(ASSEMBLER_COMPILE_OPTION) $< $(ASSEMBLER_OUTPUT)
+ endif
+