Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Artifact ID: | 55fa42a0ed070629643c5639d3effb38428d9b79 |
---|---|
Page Name: | compillingOnWindows |
Date: | 2012-11-30 13:10:11 |
Original User: | anonymous |
Parent: | 0b8d99c643bc98a14b50d5ead6d17def5e4550a5 (diff) |
Next | 1a7c19db553df00e3f6506a5c7837fc0f44260e1 |
Content
Compiling under windows XP with sdk compiler.
- download Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1. Install and configure.
- download the zlib source.
- download openssl source
- download nasm
- download perl
- install sdk
- install nasm
- install perl
- mkdir c:\msc\extra\lib, c:\msc\extra\include
- unzip zlib. I assume c:\src\zlib
- unpack ssl source. I assume c:\src\openssl
- open VIA START MENU "SDK..." > cmd shell
- cd \src\zlib
- edit win32\Makefile.msc change CFLAGS to -MT -O2. Add inffast.obj to OBJS
- nmake win32\Makefile.msc
- copy zlib.lib c:\msc\extra\lib
- copy zlib.h and zconf.h to c:\msc\extra\include
- make sure nasm is in the path
- cd into c:\src\openssl
- perl Configure VC-WIN32 --prefix=c:\msc\extra
- ms\do_nasm
- nmake -f ms\nt.mak
- nmake -f ms\nt.mak install
- checkout fossil. assume c:\src\fossil
- cd \src\fossil
- mkdir msc\
- cd msc
- edit ..\win\Makefile.msc to enable SSL and uncomment the SSL LIBS
- nmake -f ..\win\Makefile.msc
Compiling under windows with Digital Mars C compiler
- download Digital Mars c-ompiler. unzip to c:\
- download the zlib source.
- unzip it and compile
- open dosbox
- mkdir c:\DM\extra\lib, c:\DM\extra\include
- copy zlib.lib c:\DM\extra\lib
- copy zlib.h and zconf.h to c:\DM\extra\include
- checkout fossil. assume c:\src\fossil
- cd \src\fossil
- mkdir dmc\
- cd dmc
- c:\DM\bin\make -f ..\win\Makefile.dmc
Updating windows sdk dmc
With the advent of fossil having a windows service interface compiling fossil will not work. The simplest option is to replace dm/include/win32/winsvc.h. The downside is that your headers are from 2 different versions and possible from 2 different sources. I used the files from mingw.org to update the sdk. The recipe for the upgrade can be found on the digital mars news server.Compiling under Wine with Digital Mars C compiler
- download Digital Mars c-ompiler. unzip to c:\
- download the zlib source.
- unzip it
- open dosbox "wineconsole cmd"
- compile zlib
- mkdir c:\DM\extra\lib, c:\DM\extra\include
- copy zlib.lib c:\DM\extra\lib
- copy zlib.h and zconf.h to c:\DM\extra\include
- checkout fossil. assume c:\src\fossil
- cd \src\fossil
- mkdir dmc\
- cd dmc
- c:\DM\bin\make -f ..\win\Makefile.dmc
Compiling under windows with Mingw
Installing the tools.
- download mingw-get-inst-xx.exe. Install it using the default c:\MingW. Make sure you tell the installer to include MSYS by checking the relevant option.
- If you want https support download openssl the binary and developer files. Extract to c:\MingW
Getting fossil source code
Log on as Anonymous, go to the Timeline section, and download the latest development source code. Just unzip the Fossil file anywhere you want.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, cd c:\mingw, and run make -f win/Makefile.mingw. The compiled fossil.exe will be available at the root in c:\mingw.
Compiling under windows with PellesC
- download and install PellesC C-compiler
- download a windows version of gnu-make(http://unxutils.sourceforge.net/)
- download the zlib source and unzip
- checkout fossil
- edit Makefile.PellesCGMake and check paths
- open dosbox
- change directory to fossil project tree
- mkdir PellesC
- cd PellesC
- unxutils-path\make -f ..\win\Makefile.PellesCGMake
This is tested under Windows XP with PellesC 5 and Window 7 with PellesC 6(32 & 64 bit)
Compiling under linux for windows with Mingw
This is called cross compiling. I'm using 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 zlib the binary and developer files.
- If you want https support download 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 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 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
test