======Compile on Windows with SSL support=======
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)|
=====Create the compile environment=====
// Tested with 1.30. //
- Install [[http://tdm-gcc.tdragon.net/|TDM-GCC]] and choose "MinGW/TDM (32-bit)". Install to C:\TDM-GCC-32.
- Install [[http://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/msys-1.0.11/|MSYS 1.0.11]] to C:\msys\.\\
- Open the MSYS fstab file (C:\msys\1.0\etc\fstab) and add:C:/TDM-GCC-32 /mingw
- Download [[http://sourceforge.net/projects/mingw/files/MSYS/Extension/perl/perl-5.8.8-1/|perl-5.8.8-1-msys-1.0.17-bin.tar.lzma]] and extract to the MSYS directory (C:\msys\1.0\). // Required for compiling OpenSSL. //
- Download [[http://sourceforge.net/projects/mingw/files/MSYS/Extension/crypt/crypt-1.1_1-3/|libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma]] and extract to the MSYS directory (C:\msys\1.0\). // Required for compiling OpenSSL. //
- Start MSYS.
// Tested with 1.22 to 1.24. //
- Install MinGW with [[http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/|mingw-get-inst]].
- Install msys-perl:mingw-get install msys-perl
=====Get the Fossil source=====
- Download the latest fossil-src-*.tar.gz source tarball from [[http://www.fossil-scm.org/download.html|the Fossil download page]]. \\
- Use 7-zip to extract the fossil-src-*.tar.gz to the home dir in MSYS (C:\msys\1.0\home\user\).
=====zlib=====
:!: Downloading and compiling zlib is not necessary for fossil > 1.24! :!:
Go to [[http://zlib.net/|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
=====openssl=====
Go to [[http://www.openssl.org/source/|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.
=====fossil=====
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.