1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
* The current tested way of building Firewall Builder for Windows is by
using MXE (M cross environment) in combination with Docker and docker-compose
The docker image is provided in docker/Dockerfile, and the container is mounting
the current git directory
In most cases, the following command will
* Build the Docker image
* Start the container
* Compile and build installer
$ docker-machine up
Note, you'll need some binary utilities for the packaging stage:
* GNU RCS
* PSCP and Plink
You may obtain the utilites from the following repo:
https://github.com/fwbuilder/w32-bin
*** The guide below is deprecated and is neither maintained nor tested ***
* Set up development directory: c:\dev
* Install MinGW-get in c:\dev\mingw
+ Select C compiler, C++ Compiler, MSYS Basic System and MinGW Developer ToolKit
* Compile Qt OpenSource 4.8.5
+ Download and unpack into c:\dev\qt\4.8.5
+ Run cmd.exe
+ SET PATH=c:\dev\MinGW\bin;%PATH%
+ cd dev\qt\4.8.5
+ configure -opensource -confirm-license -platform win32-g++ -release -no-qt3support -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -nomake demos -nomake examples
+ mingw32-make
* Open MinGW shell
+ mingw-get install msys-wget
+ mingw-get install msys-unzip
+ mingw-get install libtool
* Compile libiconv
+ cd /c/dev/libs
+ wget "http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz"
+ tar xzf libiconv-1.14.tar.gz
+ cd libiconv-1.14
+ ./configure
+ make
+ make install-strip
* Compile zlib
+ cd /c/dev/libs
+ wget "zlib.net/zlib128.zip"
+ unzip zlib128.zip
+ cd zlib-1.2.8
+ make -f win32/Makefile.gcc
+ cp zlib1.dll /usr/local/bin
+ cp zconf.h zlib.h /usr/local/include
+ cp libz.a libz.dll.a /usr/local/lib
+ wget www.gaia-gis.it/spatialite-2.5.0/libz.la
+ cp libz.la /usr/local/lib
* Compile libxml2
+ cd /c/dev/libs
+ wget "ftp://xmlsoft.org/libxml2/libxml2-2.9.1.tar.gz"
+ tar xzf libxml2-2.9.1.tar.gz
+ cd libxml2-2.9.1
+ export "CFLAGS=-I/usr/local/include"
+ export "LDFLAGS=-L/usr/local/lib"
+ ./configure --without-python
+ make
+ make install-strip
* Compile libxslt
+ cd /c/dev/libs
+ wget "ftp://xmlsoft.org/libxml2/libxslt-1.1.28.tar.gz"
+ tar xzf libxslt-1.1.28.tar.gz
+ cd libxslt-1.1.28
+ export "CFLAGS=-I/usr/local/include"
+ export "LDFLAGS=-L/usr/local/lib"
+ sed 's/\sdoc\s//' Makefile.am > Makefile.am.new
+ mv Makefile.am.new Makefile.am
+ sed 's/\sdoc\s//' Makefile.in > Makefile.in.new
+ mv Makefile.in.new Makefile.in
+ ./configure --without-python
+ make
+ make install-strip
* Compile net-snmp
+ cd /c/dev/libs
+ wget "http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.2/net-snmp-5.7.2.tar.gz/download"
+ tar xzf net-snmp-5.7.2.tar.gz
+ cd net-snmp-5.7.2
+ ./configure --prefix="/usr/local" \
--disable-embedded-perl \
--without-perl-modules \
--disable-agent \
--disable-applications \
--disable-manuals \
--disable-scripts \
--disable-mibs \
--disable-mib-loading \
--disable-des \
--disable-privacy \
--disable-md5 \
--disable-set-support \
--disable-snmptrapd-subagent
+ make
+ make install
* Compile fwbuilder
+ cd /c/dev/fwbuilder
+ export PATH=".:/c/dev/qt/4.8.5/bin:/c/dev/qt/mingw/bin:$PATH"
+ export QMAKESPEC="win32-g++"
+ export "CFLAGS=-I/usr/local/include"
+ export "CPPFLAGS=-I/usr/local/include"
+ export "LDFLAGS=-L/usr/local/lib"
+ ./autogen.sh
+ make
* Download and install NSIS from http://nsis.sourceforge.net/Download
* Download and i
* Make install package
+ cd /c/dev/fwbuilder
+ mkdir windows
+ cd windows
+ wget "www.cs.purdue.edu/homes/trinkle/RCS/rcs57pc1.zip
+ unzip rcs57pc1.zip
+ cp /local/bin/* bin/
+ cp /c/dev/MinGW/bin/pthreadGC2.dll bin/
+ cp /c/dev/MinGW/bin/libgcc_s_dw2-1.dll bin/
+ cp /c/dev/MinGW/bin/libstd++-6.dll bin/
+ cp /c/dev/qt/4.8.5/lib/QtCore4.dll bin/
+ cp /c/dev/qt/4.8.5/lib/QtGui4.dll bin/
+ cp /c/dev/qt/4.8.5/lib/QtNetwork4.dll bin/
+ cd bin
+ wget "http://the.earth.li/~sgtatham/putty/latest/x86/plink.exe"
+ wget "http://the.earth.li/~sgtatham/putty/latest/x86/pcsp.exe"
+ cd ../..
+ $PATH/TO/NSIS/makesis.exe -nocd packaging/fwbuilder.nsi
+ explorer .
|