summaryrefslogtreecommitdiff
path: root/notes/win32_build_on_linux_using_mingw.txt
diff options
context:
space:
mode:
Diffstat (limited to 'notes/win32_build_on_linux_using_mingw.txt')
-rw-r--r--notes/win32_build_on_linux_using_mingw.txt37
1 files changed, 35 insertions, 2 deletions
diff --git a/notes/win32_build_on_linux_using_mingw.txt b/notes/win32_build_on_linux_using_mingw.txt
index a3243a50..407096b1 100644
--- a/notes/win32_build_on_linux_using_mingw.txt
+++ b/notes/win32_build_on_linux_using_mingw.txt
@@ -7,6 +7,11 @@ Install the MinGW cross-compiler for Windows:
- Fedora and SuSE users can download RPM packages from
[http://mirzam.it.vu.nl/mingw/]
+You will need to know the prefix used by the cross-compiler executables.
+It will usually be something like "ix86-mingw32*-". All the binaries in the
+cross-compiler package will start with this prefix. The documentation below
+assumes that it is "i386-mingw32-". Adjust to taste.
+
Download Zlib from [http://www.zlib.net/], unpack and enter source directory:
export CC=i386-mingw32-gcc
@@ -16,7 +21,34 @@ Download Zlib from [http://www.zlib.net/], unpack and enter source directory:
make
make install prefix=/usr/local/i386-mingw32
-Download OpenSSL 0.9.7 from
+Download OpenSSL 0.9.8b from
+[http://www.openssl.org/source/openssl-0.9.8b.tar.gz]
+
+Unpack and configure:
+
+ tar xzvf openssl-0.9.8b.tar.gz
+ cd openssl-0.9.8b
+ ./Configure --prefix=/usr/local/i386-mingw32 mingw
+ make makefile.one
+ wget http://bbdev.fluffy.co.uk/svn/box/chris/win32/support/openssl-0.9.8b-mingw-cross.patch
+ patch -p1 < openssl-0.9.8b-mingw-cross.patch
+ make -f makefile.one
+ make -f makefile.one install
+
+Download PCRE from
+[http://prdownloads.sourceforge.net/pcre/pcre-6.3.tar.bz2?download]
+
+Unpack:
+
+ tar xjvf pcre-6.3.tar.bz2
+ cd pcre-6.3
+
+Configure and make:
+
+ ./configure --host=i586-mingw32msvc --prefix=/usr/i386-mingw32/
+ make winshared wininstall
+ cp .libs/libpcreposix.a /usr/i386-pc-mingw32/lib
+ cp pcreposix.h /usr/i386-pc-mingw32/include/regex.h
Configure Box with:
@@ -27,5 +59,6 @@ Configure Box with:
export CXXFLAGS="-mthreads"
export LDFLAGS="-mthreads"
export LIBS="-lcrypto -lws2_32 -lgdi32"
+ (if you don't have a "configure" file, run "./bootstrap")
./configure --target=i386-mingw32
- make CXX="$CXX" AR="$AR" RANLIB="$RANLIB"
+ make CXX="$CXX" AR="$AR" RANLIB="$RANLIB" WINDRES="i386-mingw32-windres"