diff -rNu chicken-4.4.0.old/chicken-install.rc chicken-4.4.0.new/chicken-install.rc
--- chicken-4.4.0.old/chicken-install.rc 1970-01-01 01:00:00.000000000 +0100
+++ chicken-4.4.0.new/chicken-install.rc 2010-03-13 01:26:09.000000000 +0100
@@ -0,0 +1,14 @@
+1 24 MOVEABLE PURE
+BEGIN
+ "\r\n"
+ "\r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ "\r\n"
+END
diff -rNu chicken-4.4.0.old/chicken-uninstall.rc chicken-4.4.0.new/chicken-uninstall.rc
--- chicken-4.4.0.old/chicken-uninstall.rc 1970-01-01 01:00:00.000000000 +0100
+++ chicken-4.4.0.new/chicken-uninstall.rc 2010-03-13 01:26:09.000000000 +0100
@@ -0,0 +1,14 @@
+1 24 MOVEABLE PURE
+BEGIN
+ "\r\n"
+ "\r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ " \r\n"
+ "\r\n"
+END
diff -rNu chicken-4.4.0.old/config.make chicken-4.4.0.new/config.make
--- chicken-4.4.0.old/config.make 2010-03-09 02:15:31.000000000 +0100
+++ chicken-4.4.0.new/config.make 2010-03-13 01:26:09.000000000 +0100
@@ -29,6 +29,9 @@
# Add additional C compiler options:
#C_COMPILER_OPTIMIZATION_OPTIONS=...
+# Use alternative resource compiler (for Win32 builds)
+#RC_COMPILER=
+
# Choose prefix to be added to installed programs:
#PROGRAM_PREFIX=
diff -rNu chicken-4.4.0.old/defaults.make chicken-4.4.0.new/defaults.make
--- chicken-4.4.0.old/defaults.make 2010-03-09 02:15:31.000000000 +0100
+++ chicken-4.4.0.new/defaults.make 2010-03-13 01:36:31.000000000 +0100
@@ -96,6 +96,13 @@
CXX_COMPILER ?= g++
LIBRARIAN ?= ar
endif
+ifdef WINDOWS
+ifdef HOSTSYSTEM
+RC_COMPILER ?= $(HOSTSYSTEM)-windres
+else
+RC_COMPILER ?= windres
+endif
+endif
LINKER ?= $(C_COMPILER)
ifdef WINDOWS_SHELL
REMOVE_COMMAND ?= del
diff -rNu chicken-4.4.0.old/Makefile.cygwin chicken-4.4.0.new/Makefile.cygwin
--- chicken-4.4.0.old/Makefile.cygwin 2010-03-09 02:15:30.000000000 +0100
+++ chicken-4.4.0.new/Makefile.cygwin 2010-03-13 01:26:09.000000000 +0100
@@ -44,6 +44,7 @@
C_COMPILER = gcc
CXX_COMPILER = g++
+RC_COMPILER = windres
LINKER = gcc
diff -rNu chicken-4.4.0.old/Makefile.mingw chicken-4.4.0.new/Makefile.mingw
--- chicken-4.4.0.old/Makefile.mingw 2010-03-09 02:15:30.000000000 +0100
+++ chicken-4.4.0.new/Makefile.mingw 2010-03-13 01:26:09.000000000 +0100
@@ -66,6 +66,7 @@
endif
endif
C_COMPILER_SHARED_OPTIONS = -DPIC
+RC_COMPILER ?= windres
LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared
LIBRARIES = -lm -lws2_32
LINKER_OPTIONS = -Wl,--enable-auto-import
diff -rNu chicken-4.4.0.old/rules.make chicken-4.4.0.new/rules.make
--- chicken-4.4.0.old/rules.make 2010-03-09 02:15:32.000000000 +0100
+++ chicken-4.4.0.new/rules.make 2010-03-13 01:30:49.000000000 +0100
@@ -668,6 +668,13 @@
$(C_COMPILER_STATIC_OPTIONS) \
$(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
+# resource objects
+
+chicken-install.rc$(O): chicken-install.rc
+ $(RC_COMPILER) $< $@
+chicken-uninstall.rc$(O): chicken-uninstall.rc
+ $(RC_COMPILER) $< $@
+
# libraries
.PHONY: libs
@@ -734,12 +741,24 @@
$(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $< $(LINKER_OUTPUT) \
$(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES)
+ifneq ($(RC_COMPILER),)
+$(CHICKEN_INSTALL_PROGRAM)$(EXE): chicken-install$(O) chicken-install.rc$(O) $(PRIMARY_LIBCHICKEN)
+ $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $< chicken-install.rc$(O) $(LINKER_OUTPUT) \
+ $(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES)
+else
$(CHICKEN_INSTALL_PROGRAM)$(EXE): chicken-install$(O) $(PRIMARY_LIBCHICKEN)
$(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $< $(LINKER_OUTPUT) \
$(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES)
+endif
+ifneq ($(RC_COMPILER),)
+$(CHICKEN_UNINSTALL_PROGRAM)$(EXE): chicken-uninstall$(O) chicken-uninstall.rc$(O) $(PRIMARY_LIBCHICKEN)
+ $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $< chicken-uninstall.rc$(O) $(LINKER_OUTPUT) \
+ $(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES)
+else
$(CHICKEN_UNINSTALL_PROGRAM)$(EXE): chicken-uninstall$(O) $(PRIMARY_LIBCHICKEN)
$(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $< $(LINKER_OUTPUT) \
$(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES)
+endif
$(CHICKEN_STATUS_PROGRAM)$(EXE): chicken-status$(O) $(PRIMARY_LIBCHICKEN)
$(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $< $(LINKER_OUTPUT) \
$(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES)