Tested with:
Fossil version | zlib version used | openssl version used | GCC version used |
---|---|---|---|
1.22 | 1.2.7 | 1.0.1c | 4.5.2 |
1.23 | 1.2.7 | 1.0.1c | 4.5.2 |
1.24 | 1.2.7 | 1.0.1d | 4.5.2 |
1.30 | 1.2.8 (included with fossil) | 1.0.2 | 4.9.2 (TDM-GCC 4.9.2-3) |
Tested with 1.30.
C:/TDM-GCC-32 /mingw
Tested with 1.22 to 1.24.
mingw-get install msys-perl
Downloading and compiling zlib is not necessary for fossil > 1.24!
Go to the zlib website and get the latest zlib-x.x.x.tar.gz.
Extract to root of fossil source dir.
cd zlib-x.x.x make -f win32/Makefile.gcc
Go to the OpenSSL website and get the latest OpenSSL.
Tested with 1.30: Extract to the compat directory in the fossil source dir.
Tested with 1.22 to 1.24: Extract to root of the fossil source dir.
cd openssl-x.x.x.x ./config make
The compile won't complete fully and complain about:
md2test.c:1:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token make[1]: ** [md2test.o] Error 1
Which can be ignored.
Open win/Makefile.mingw
Change:
# FOSSIL_ENABLE_SSL = 1
To:
FOSSIL_ENABLE_SSL = 1
Changing the zlib line is not necessary for fossil > 1.24!
Find and change the ZINCDIR line to point to the correct zlib directory. For example, change:
ZINCDIR = $(SRCDIR)/../zlib-1.2.6 ZLIBDIR = $(SRCDIR)/../zlib-1.2.6
To point to 1.2.7 instead:
ZINCDIR = $(SRCDIR)/../zlib-1.2.7 ZLIBDIR = $(SRCDIR)/../zlib-1.2.7
Find and change the OPENSSLINCDIR to point to the correct openssl directory.
For example, change:
OPENSSLINCDIR = $(SRCDIR)/../openssl-1.0.0g/include OPENSSLLIBDIR = $(SRCDIR)/../openssl-1.0.0g
To point to 1.0.1c instead:
OPENSSLINCDIR = $(SRCDIR)/../openssl-1.0.1c/include OPENSSLLIBDIR = $(SRCDIR)/../openssl-1.0.1c
Compile:
make -f win/Makefile.mingw
Afterwards you can find fossil.exe (around 3 MB) in the root of the sourcetree.