Changes To Cookbook
Not logged in

Changes to "Cookbook" between 2010-03-31 18:04:19 and 2010-03-31 18:16:02

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