Index: src/makemake.tcl
==================================================================
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -327,12 +327,21 @@
 #
 # This file is automatically generated.  Instead of editing this
 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
 # to regenerate this file.
 #
-# This is a makefile for us on windows using MinGW.
+# This is a makefile for use on Windows/Linux/Darwin/Cygwin using MinGW/Mingw-w64.
 #
+
+####
+#
+# Select one of mingw, mingw-64 (32-bit) or mingw-w64 (64-bit)
+#
+PREFIX=i686-pc-mingw32-
+#PREFIX=i686-w64-mingw32-
+#PREFIX=x86_64-w64-mingw32-
+
 #### The toplevel directory of the source tree.  Fossil can be built
 #    in a directory that is separate from the source tree.  Just change
 #    the following to point from the build directory to the src/ folder.
 #
 SRCDIR = src
@@ -414,11 +423,11 @@
 #    will run on the target platform.  This is usually the same
 #    as BCC, unless you are cross-compiling.  This C compiler builds
 #    the finished binary for fossil.  The BCC compiler above is used
 #    for building intermediate code-generator tools.
 #
-TCC = gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR)
+TCC = $(PREFIX)gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR)
 
 # With HTTPS support
 ifdef FOSSIL_ENABLE_SSL
 TCC += -L$(OPENSSLLIBDIR) -I$(OPENSSLINCDIR)
 endif
@@ -516,13 +525,13 @@
 }
 
 writeln {
 all:	$(OBJDIR) $(APPNAME)
 
-$(OBJDIR)/icon.o:	$(SRCDIR)/../win/icon.rc
-	cp $(SRCDIR)/../win/icon.rc $(OBJDIR)
-	windres $(OBJDIR)/icon.rc -o $(OBJDIR)/icon.o
+$(OBJDIR)/fossil.o:	$(SRCDIR)/../win/fossil.rc
+	cp $(SRCDIR)/../win/fossil.ico $(OBJDIR)
+	$(PREFIX)windres -I$(SRCDIR) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o
 
 install:	$(APPNAME)
 	mkdir -p $(INSTALLDIR)
 	mv $(APPNAME) $(INSTALLDIR)
 
@@ -559,12 +568,12 @@
 
 ifdef FOSSIL_ENABLE_TCL
 EXTRAOBJ +=  $(OBJDIR)/th_tcl.o
 endif
 
-$(APPNAME):	$(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/icon.o
-	$(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/icon.o
+$(APPNAME):	$(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/fossil.o
+	$(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/fossil.o
 
 # This rule prevents make from using its default rules to try build
 # an executable named "manifest" out of the file named "manifest.c"
 #
 $(SRCDIR)/../manifest:

Index: win/Makefile.mingw
==================================================================
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -6,12 +6,21 @@
 #
 # This file is automatically generated.  Instead of editing this
 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
 # to regenerate this file.
 #
-# This is a makefile for us on windows using MinGW.
+# This is a makefile for use on Windows/Linux/Darwin/Cygwin using MinGW/Mingw-w64.
 #
+
+####
+#
+# Select one of mingw, mingw-64 (32-bit) or mingw-w64 (64-bit)
+#
+PREFIX=i686-pc-mingw32-
+#PREFIX=i686-w64-mingw32-
+#PREFIX=x86_64-w64-mingw32-
+
 #### The toplevel directory of the source tree.  Fossil can be built
 #    in a directory that is separate from the source tree.  Just change
 #    the following to point from the build directory to the src/ folder.
 #
 SRCDIR = src
@@ -93,11 +102,11 @@
 #    will run on the target platform.  This is usually the same
 #    as BCC, unless you are cross-compiling.  This C compiler builds
 #    the finished binary for fossil.  The BCC compiler above is used
 #    for building intermediate code-generator tools.
 #
-TCC = gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR)
+TCC = $(PREFIX)gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR)
 
 # With HTTPS support
 ifdef FOSSIL_ENABLE_SSL
 TCC += -L$(OPENSSLLIBDIR) -I$(OPENSSLINCDIR)
 endif
@@ -479,13 +488,14 @@
 VERSION     = $(OBJDIR)/version.exe
 
 
 all:	$(OBJDIR) $(APPNAME)
 
-$(OBJDIR)/icon.o:	$(SRCDIR)/../win/icon.rc
-	cp $(SRCDIR)/../win/icon.rc $(OBJDIR)
-	windres $(OBJDIR)/icon.rc -o $(OBJDIR)/icon.o
+$(OBJDIR)/fossil.o:	$(SRCDIR)/../win/fossil.rc
+	cp $(SRCDIR)/../win/fossil.rc $(OBJDIR)
+	cp $(SRCDIR)/../win/fossil.ico $(OBJDIR)
+	$(PREFIX)windres -I$(SRCDIR) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o
 
 install:	$(APPNAME)
 	mkdir -p $(INSTALLDIR)
 	mv $(APPNAME) $(INSTALLDIR)
 
@@ -517,12 +527,12 @@
 
 ifdef FOSSIL_ENABLE_TCL
 EXTRAOBJ +=  $(OBJDIR)/th_tcl.o
 endif
 
-$(APPNAME):	$(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/icon.o
-	$(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/icon.o
+$(APPNAME):	$(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/fossil.o
+	$(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/fossil.o
 
 # This rule prevents make from using its default rules to try build
 # an executable named "manifest" out of the file named "manifest.c"
 #
 $(SRCDIR)/../manifest:

Index: win/Makefile.mingw.mistachkin
==================================================================
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -6,12 +6,21 @@
 #
 # This file is automatically generated.  Instead of editing this
 # file, edit "makemake.tcl" then run "tclsh makemake.tcl"
 # to regenerate this file.
 #
-# This is a makefile for us on windows using MinGW.
+# This is a makefile for use on Windows/Linux/Darwin/Cygwin using MinGW/Mingw-w64.
 #
+
+####
+#
+# Select one of mingw, mingw-64 (32-bit) or mingw-w64 (64-bit)
+#
+PREFIX=i686-pc-mingw32-
+#PREFIX=i686-w64-mingw32-
+#PREFIX=x86_64-w64-mingw32-
+
 #### The toplevel directory of the source tree.  Fossil can be built
 #    in a directory that is separate from the source tree.  Just change
 #    the following to point from the build directory to the src/ folder.
 #
 SRCDIR = src
@@ -93,11 +102,11 @@
 #    will run on the target platform.  This is usually the same
 #    as BCC, unless you are cross-compiling.  This C compiler builds
 #    the finished binary for fossil.  The BCC compiler above is used
 #    for building intermediate code-generator tools.
 #
-TCC = gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR)
+TCC = $(PREFIX)gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR)
 
 # With HTTPS support
 ifdef FOSSIL_ENABLE_SSL
 TCC += -L$(OPENSSLLIBDIR) -I$(OPENSSLINCDIR)
 endif
@@ -133,16 +142,16 @@
 #    chroot jail.
 #
 LIB = -static
 LIB += -lmingwex -lz
 
-# OpenSSL: Add the necessary libaries required, if enabled.
+# OpenSSL: Add the necessary libraries required, if enabled.
 ifdef FOSSIL_ENABLE_SSL
 LIB += -lssl -lcrypto -lgdi32
 endif
 
-# Tcl: Add the necessary libaries required, if enabled.
+# Tcl: Add the necessary libraries required, if enabled.
 ifdef FOSSIL_ENABLE_TCL
 LIB += $(LIBTCL)
 endif
 
 #### These libraries MUST appear in the same order as they do for Tcl
@@ -479,13 +488,13 @@
 VERSION     = $(OBJDIR)/version.exe
 
 
 all:	$(OBJDIR) $(APPNAME)
 
-$(OBJDIR)/icon.o:	$(SRCDIR)/../win/icon.rc
-	cp $(SRCDIR)/../win/icon.rc $(OBJDIR)
-	windres $(OBJDIR)/icon.rc -o $(OBJDIR)/icon.o
+$(OBJDIR)/fossil.o:	$(SRCDIR)/../win/fossil.rc
+	cp $(SRCDIR)/../win/fossil.ico $(OBJDIR)
+	$(PREFIX)windres -I$(SRCDIR) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o
 
 install:	$(APPNAME)
 	mkdir -p $(INSTALLDIR)
 	mv $(APPNAME) $(INSTALLDIR)
 
@@ -517,12 +526,12 @@
 
 ifdef FOSSIL_ENABLE_TCL
 EXTRAOBJ +=  $(OBJDIR)/th_tcl.o
 endif
 
-$(APPNAME):	$(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/icon.o
-	$(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/icon.o
+$(APPNAME):	$(OBJDIR)/headers $(OBJ) $(EXTRAOBJ) $(OBJDIR)/fossil.o
+	$(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) $(OBJDIR)/fossil.o
 
 # This rule prevents make from using its default rules to try build
 # an executable named "manifest" out of the file named "manifest.c"
 #
 $(SRCDIR)/../manifest:

DELETED win/Makefile.mingw32cross
Index: win/Makefile.mingw32cross
==================================================================
--- win/Makefile.mingw32cross
+++ win/Makefile.mingw32cross
@@ -1,64 +0,0 @@
-#!/usr/bin/make
-# This makefile is for use with the Mingw32 *cross compiler* on Linux
-#
-#### The toplevel directory of the source tree.  Fossil can be built
-#    in a directory that is separate from the source tree.  Just change
-#    the following to point from the build directory to the src/ folder.
-#
-SRCDIR = ./src
-OBJDIR = ./wobj
-
-#### C Compiler and options for use in building executables that
-#    will run on the platform that is doing the build.  This is used
-#    to compile code-generator programs as part of the build process.
-#    See TCC below for the C compiler for building the finished binary.
-#
-BCC = gcc -s -O2
-
-#### The suffix to add to executable files.  ".exe" for windows.
-#    Nothing for unix.
-#
-E = .exe
-
-#### Enable HTTPS support via OpenSSL (links to libssl and libcrypto)
-#
-FOSSIL_ENABLE_SSL=1
-
-#### C Compile and options for use in building executables that 
-#    will run on the target platform.  This is usually the same
-#    as BCC, unless you are cross-compiling.  This C compiler builds
-#    the finished binary for fossil.  The BCC compiler above is used
-#    for building intermediate code-generator tools.
-#
-#TCC = gcc -O6
-#TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage
-#TCC = gcc -g -Os -Wall
-#TCC = gcc -g -Os -Wall -DFOSSIL_I18N=0 -L/usr/local/lib -I/usr/local/include
-TCC=i686-pc-mingw32-gcc -O3 -s -Wall -DFOSSIL_I18N=0
-
-# With HTTPS support
-ifdef FOSSIL_ENABLE_SSL
-TCC += -DFOSSIL_ENABLE_SSL=1
-endif
-
-#### Extra arguments for linking the finished binary.  Fossil needs
-#    to link against the Z-Lib compression library.  There are no
-#    other dependencies.  We sometimes add the -static option here
-#    so that we can build a static executable that will run in a
-#    chroot jail.
-#
-LIB=-lz -lssl -lcrypto -lwsock32 -lgdi32
-CFLAGS=-O3 -s
-LDFLAGS=-s
-
-#### Tcl shell for use in running the fossil testsuite.
-#
-TCLSH = tclsh
-
-#### Include a configuration file that can override any one of these settings.
-#
--include config.w32
-
-# You should not need to change anything below this line
-###############################################################################
-include $(SRCDIR)/main.mk

DELETED win/icon.rc
Index: win/icon.rc
==================================================================
--- win/icon.rc
+++ win/icon.rc
@@ -1,1 +0,0 @@
-ID ICON "../win/fossil.ico"