566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
|
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
|
-
+
|
<h3>Compiling under linux for windows with Mingw</h3>
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.
<h4>Installing the tools.</h4>
* Install mingw32-gccs. With Arch linux you do Pacman -S mingw32-gcc (As root!). This wile be installed in <strong>/usr/i486-mingw32</strong>
* Install mingw32-gccs. With Arch linux you do Pacman -S mingw32-gcc (As root!). This will be installed in <strong>/usr/i486-mingw32</strong>
* download [http://gnuwin32.sourceforge.net/packages/zlib.htm|zlib] the binary and developer files.
* If you want <strong>https</strong> support download [http://gnuwin32.sourceforge.net/packages/openssl.htm|openssl] the binary and developer files.
* Extract to <strong>/usr/i486-mingw32</strong> by: su to root
* cd <strong>/usr/i486-mingw32</strong>
* 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
|
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
|
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
|
-
+
|
<h4>Compiling fossil source code</h4>
* If you want <strong>https</strong> supports
<ul><li>Change Makefile.w32. Change the line "LIB += -lcrypto -lssl" to "LIB = -lssl -lcrypto -lgdi32 -lmingwex -lz -lws2_32".</li>
<li>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</li> </ul>
* else make -f Makefile.w32 TCC="i486-mingw32-gcc -Os -Wall -DFOSSIL_I18N=0 -L/usr/i486-mingw32/lib -I/usr/i486-mingw32/include "
<h4>Distribution the cross compiled fossil.exe</h4>
<h4>Distribution of cross compiled fossil.exe</h4>
Because you have linked against zlib and maybe ssl you need to include from <strong>/usr/i486-mingw32/bin</strong> zlib1.dll and, optional, libssl32.dll (and maybe also libeay32.dll)
<h4>testing the cross compiled fossil.exe</h4>
* 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 <strong>https</strong> support then fossil clone https://www.fossil-scm.org/ https.fossil
|