Re-initialize hostapd/wpa_supplicant git repository based on 0.6.3 release
[libeap.git] / build_release
1 #!/bin/sh
2
3 # Path to the Windows cross compiler (mingw)
4 WINCROSS=/opt/xmingw/bin
5 WINLOCAL=/home/jm/H-win/local
6
7 set -e
8
9 if [ -z "$1" ]; then
10     echo "build_release <version> [nobin]"
11     exit 1
12 fi
13
14 TMP=tmp.build_release
15 RELDIR=`pwd`/Release
16 VER=$1
17 NOW=`date +%Y-%m-%d`
18
19 echo "Version: $VER - $NOW"
20
21 DATEw=`head -n 3 wpa_supplicant/ChangeLog | tail -n 1 | sed "s/ .*//"`
22 DATEh=`head -n 3 hostapd/ChangeLog | tail -n 1 | sed "s/ .*//"`
23
24 if [ "$DATEw" != "$NOW" -o "$DATEh" != "$NOW" ]; then
25     echo "NOTE! Date mismatch in ChangeLog: wpa_supplicant $DATEw hostapd $DATEh != $NOW"
26 fi
27
28 if [ -r $TMP ]; then
29     echo "Temporary directory '$TMP' exists. Remove it before running this."
30     exit 1
31 fi
32
33 mkdir $TMP
34 mkdir -p $RELDIR
35
36 git-archive --format=tar --prefix=wpa-$VER/ HEAD \
37         README COPYING patches src wpa_supplicant hostapd |
38         gzip > $RELDIR/wpa-$VER.tar.gz
39 git-archive --format=tar --prefix=hostapd-$VER/ HEAD \
40         README COPYING patches src hostapd |
41         gzip > $RELDIR/hostapd-$VER.tar.gz
42 git-archive --format=tar --prefix=wpa_supplicant-$VER/ HEAD \
43         README COPYING patches src wpa_supplicant |
44         tar --directory=$TMP -xf -
45
46 cd $TMP
47 make -C wpa_supplicant-$VER/wpa_supplicant/doc/docbook man
48 rm -f wpa_supplicant-$VER/wpa_supplicant/doc/docbook/manpage.{links,refs}
49 tar czf $RELDIR/wpa_supplicant-$VER.tar.gz wpa_supplicant-$VER
50 cd ..
51 rm -r $TMP
52
53 if [ "$2" == "nobin" ]; then
54     exit 0
55 fi
56
57 if [ -d $WINCROSS ]; then
58     pushd $RELDIR
59
60     PDIR=wpa_supplicant-$VER
61     WDIR=wpa_supplicant-windows-bin-$VER
62     tar xzf $PDIR.tar.gz
63     mkdir "$WDIR"
64     cd "$PDIR/wpa_supplicant"
65     cat > .config <<EOF
66 CONFIG_DRIVER_NDIS=y
67 CONFIG_NATIVE_WINDOWS=y
68
69 CFLAGS += -I/opt/xmingw/i386-mingw32msvc/include/ddk
70 CC=i386-mingw32msvc-gcc
71 STRIP=i386-mingw32msvc-strip
72 PLATFORMSDKLIB=$WINLOCAL/lib
73 CONFIG_NDIS_EVENTS_INTEGRATED=y
74
75 CFLAGS += -I$WINLOCAL/include
76 LIBS += -L$WINLOCAL/lib
77 LIBS_w += -L$WINLOCAL/lib
78 LIBS_p += -L$WINLOCAL/lib
79
80 CONFIG_EAP_SIM=y
81 CONFIG_EAP_AKA=y
82 CONFIG_EAP_LEAP=y
83 CONFIG_EAP_FAST=y
84 CONFIG_EAP_TLS=y
85
86 CONFIG_CTRL_IFACE=y
87 CONFIG_EAP_FAST=y
88 CONFIG_EAP_MSCHAPV2=y
89 CONFIG_EAP_TTLS=y
90 CONFIG_EAP_PEAP=y
91 CONFIG_EAP_MD5=y
92 CONFIG_EAP_GTC=y
93 CONFIG_EAP_OTP=y
94 CONFIG_EAP_PAX=y
95 CONFIG_EAP_SAKE=y
96 CONFIG_EAP_PSK=y
97 CONFIG_EAP_TNC=y
98 CONFIG_PKCS12=y
99 CONFIG_PCSC=y
100
101 CONFIG_L2_PACKET=winpcap
102 CONFIG_MAIN=main_winsvc
103 CONFIG_BACKEND=winreg
104 CONFIG_ELOOP=eloop_win
105 CFLAGS += -DCONFIG_DEBUG_FILE
106 EOF
107
108     # First, build the Windows service & registry version and rename it
109     PATH=$PATH:$WINCROSS make windows-bin
110     mv wpa_supplicant.exe wpasvc.exe
111
112     # Then, build "the standard" wpa_supplicant.exe
113     cat >> .config <<EOF
114 CONFIG_MAIN=main
115 CONFIG_BACKEND=file
116 EOF
117
118     PATH=$PATH:$WINCROSS make windows-bin
119
120     for i in COPYING; do
121         unix2dos < ../$i > ../../"$WDIR"/$i
122     done
123     for i in README README-Windows.txt wpa_supplicant.conf; do
124         unix2dos < $i > ../../"$WDIR"/$i
125     done
126     mv *.exe ../../"$WDIR"
127     cp win_example.reg ../../"$WDIR"
128
129     cd wpa_gui-qt4
130     PATH=$PATH:$WINCROSS ./setup-mingw-cross-compiling
131     PATH=$PATH:$WINCROSS make
132     cp release/wpa_gui.exe ../../../"$WDIR"
133     cd ../../..
134     rm -rf "$PDIR"
135     zip "$WDIR.zip" "$WDIR"/*
136     rm -rf "$WDIR"
137
138     popd
139 fi
140
141 ls -l $RELDIR/*$VER*
142
143 exit 0