D 2010-08-28T11:04:09
L compillingOnWindows
P 4c56c3ac0eb2950cca7c2444c7be3ca168256e18
U renez
W 3955
Compiling under windows with Mingw
Installing the tools.
* download [http://sourceforge.net/projects/mingw/files/|mingw-xx.exe] version 5.1.6 or later. Install it. I assume it will be installed in c:\MingW
* download [http://sourceforge.net/projects/mingw/files/|msys-xx.exe] version 1.0.10 or later. Install it. I assume it will be installed in c:\msys
* download [http://gnuwin32.sourceforge.net/packages/zlib.htm|zlib] the binary and developer files. Extract to c:\MingW
* If you want https support download [http://gnuwin32.sourceforge.net/packages/openssl.htm|openssl] the binary and developer files. Extract to c:\MingW
* download [http://www.fossil-scm.org/download.html|fossil] and copy fossil.exe to c:\MingW\bin
Getting fossil source code
* start msys. This will start a bash shell.
* mkdir fossil; cd fossil
* clone fossil repository. e.g. fossil clone http://www.fossil-scm.org/ myclone.fossil
* mkdir src; cd src
* fossil open ../myclone.fossil
Compiling fossil source code
* If you want https supports
- make -f Makefile.w32 FOSSIL_ENABLE_SSL=1 LIB="-lssl -lcrypto -lgdi32 -lmingwex -lz -lws2_32"
* else do make -f Makefile.w32
Compiling under linux for windows with Mingw
This is called cross compiling. I'm using [http://www.archlinux.org/|Arch linux] distribution which
uses the package manager pacman to install packages. If you have a differen linux distribution the packages might be called different. I assume a login name of renez substitute yours were apropiate.
Installing the tools.
* Install mingw32-gccs. With Arch linux you do Pacman -S mingw32-gcc (As root!). This will be installed in /usr/i486-mingw32
* download [http://gnuwin32.sourceforge.net/packages/zlib.htm|zlib] the binary and developer files.
* If you want https support download [http://gnuwin32.sourceforge.net/packages/openssl.htm|openssl] the binary and developer files.
* Extract to /usr/i486-mingw32 by: su to root
* cd /usr/i486-mingw32
* unzip ~renez/Downloads/zlib-1.2.3-bin.zip
* unzip ~renez/Downloads/zlib-1.2.3-lib.zip
* unzip ~renez/Downloads/openssl-0.9.8h-1-bin.zip
* unzip ~renez/Downloads/openssl-0.9.8h-1-lib.zip
* exit root
* download [http://www.fossil-scm.org/download.html|fossil] for linux, and copy fossil to some where in your PATH directories maybe $HOME/bin.
Getting fossil source code
* cd ; mkdir fossil; cd fossil
* clone fossil repository. e.g. fossil clone http://www.fossil-scm.org/ myclone.fossil
* mkdir src; cd src
* fossil open ../myclone.fossil
Compiling fossil source code
* If you want https supports
- make -f Makefile.w32 TCC="i486-mingw32-gcc -Os -Wall -DFOSSIL_I18N=0 -L/usr/i486-mingw32/lib -I/usr/i486-mingw32/include -DFOSSIL_ENABLE_SSL=1" FOSSIL_ENABLE_SSL=1 LIB="-lssl -lcrypto -lgdi32 -lmingwex -lz -lws2_32"
* else make -f Makefile.w32 TCC="i486-mingw32-gcc -Os -Wall -DFOSSIL_I18N=0 -L/usr/i486-mingw32/lib -I/usr/i486-mingw32/include "
Distribution of cross compiled fossil.exe
Because you have linked against zlib and maybe ssl you need to include from /usr/i486-mingw32/bin zlib1.dll and, optional, libssl32.dll (and maybe also libeay32.dll)
testing the cross compiled fossil.exe
* copy fossil.exe and the dll's to a windows system. For testing purpose all in one directory. For production use a directory in your PATH
* fossil clone http://www.fossil-scm.org/ http.fossil
* If it has https support then fossil clone https://www.fossil-scm.org/ https.fossil
Z 4afd3314517022301f05c444d9649b35