Windows build: compile against openssl 1.0.1b
[novacoin.git] / contrib / gitian-descriptors / gitian-win32.yml
1 ---
2 name: "bitcoin"
3 suites:
4 - "lucid"
5 architectures:
6 - "i386"
7 packages: 
8 - "mingw32"
9 - "git-core"
10 - "unzip"
11 - "nsis"
12 - "faketime"
13 - "wine"
14 reference_datetime: "2011-01-30 00:00:00"
15 remotes:
16 - "url": "https://git.gitorious.org/+bitcoin-stable-developers/bitcoin/bitcoind-stable.git"
17   "dir": "bitcoin"
18 files:
19 - "wxwidgets-win32-2.9.2-gitian.zip"
20 - "boost-win32-1.47.0-gitian.zip"
21 - "openssl-1.0.1b.tar.gz"
22 - "db-4.8.30.NC.tar.gz"
23 - "miniupnpc-1.6.tar.gz"
24 script: |
25   #
26   mkdir wxWidgets-2.9.2
27   cd wxWidgets-2.9.2
28   mkdir lib
29   unzip ../wxwidgets-win32-2.9.2-gitian.zip
30   cd bin/$GBUILD_BITS
31   for lib in wx_mswu; do
32     i586-mingw32msvc-ar rc ../../lib/lib${lib}-2.9-i586-mingw32msvc.a $lib/*.o
33     i586-mingw32msvc-ranlib ../../lib/lib${lib}-2.9-i586-mingw32msvc.a
34   done
35   cp -a wx ../../lib
36   cd ../..
37   mv include/wx-2.9/wx include
38   cd ..
39   #
40   mkdir boost_1_47_0
41   cd boost_1_47_0
42   mkdir -p stage/lib
43   unzip ../boost-win32-1.47.0-gitian.zip
44   cd bin/$GBUILD_BITS
45   for lib in *; do
46     i586-mingw32msvc-ar rc ../../stage/lib/libboost_${lib}-mt-s.a $lib/*.o
47     i586-mingw32msvc-ranlib ../../stage/lib/libboost_${lib}-mt-s.a
48   done
49   cd ../..
50   mv include/boost .
51   cd ..
52   #
53   tar xzf openssl-1.0.1b.tar.gz
54   cd openssl-1.0.1b
55   ./Configure --cross-compile-prefix=i586-mingw32msvc- mingw
56   make
57   cd ..
58   #
59   tar xzf db-4.8.30.NC.tar.gz
60   cd db-4.8.30.NC/build_unix
61   ../dist/configure --enable-mingw --enable-cxx --host=i586-mingw32msvc CFLAGS="-I/usr/i586-mingw32msvc/include"
62   make $MAKEOPTS
63   cd ../..
64   #
65   tar xzf miniupnpc-1.6.tar.gz
66   cd miniupnpc-1.6
67   sed 's/dllwrap -k --driver-name gcc/$(DLLWRAP) -k --driver-name $(CC)/' -i Makefile.mingw
68   sed 's|wingenminiupnpcstrings $< $@|./wingenminiupnpcstrings $< $@|' -i Makefile.mingw
69   make -f Makefile.mingw DLLWRAP=i586-mingw32msvc-dllwrap CC=i586-mingw32msvc-gcc AR=i586-mingw32msvc-ar
70   cd ..
71   mv miniupnpc-1.6 miniupnpc
72   #
73   cd bitcoin
74   mkdir -p $OUTDIR/src
75   cp -a . $OUTDIR/src
76   rm -rf $OUTDIR/src/.git
77   cp -a $OUTDIR/src/locale $OUTDIR
78   cp $OUTDIR/src/doc/README_windows.txt $OUTDIR/readme.txt
79   cp $OUTDIR/src/COPYING $OUTDIR/license.txt
80   cd src
81   sed 's/$(DEBUGFLAGS)/-frandom-seed=bitcoin/' -i makefile.linux-mingw
82   export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
83   export FAKETIME=$REFERENCE_DATETIME
84   export TZ=UTC
85   make -f makefile.linux-mingw $MAKEOPTS DEPSDIR=$HOME/build bitcoin.exe USE_UPNP=1
86   make -f makefile.linux-mingw $MAKEOPTS DEPSDIR=$HOME/build bitcoind.exe USE_UPNP=0
87   i586-mingw32msvc-strip bitcoin.exe
88   i586-mingw32msvc-strip bitcoind.exe
89   makensis ../share/setup.nsi
90   cp bitcoin.exe ../share/bitcoin-*-win32-setup.exe $OUTDIR/
91   mkdir $OUTDIR/daemon
92   cp bitcoind.exe $OUTDIR/daemon