======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.