]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - build-utilities/hostap.git/blob - build_release
Added Windows NSIS installer for wpa_supplicant
[build-utilities/hostap.git] / build_release
1 #!/bin/sh
3 WINLOCAL=/home/jm/H-win/local
5 set -e
7 if [ -z "$1" ]; then
8     echo "build_release <version> [nobin]"
9     exit 1
10 fi
12 TMP=tmp.build_release
13 RELDIR=`pwd`/Release
14 VER=$1
15 NOW=`date +%Y-%m-%d`
17 echo "Version: $VER - $NOW"
19 DATEw=`head -n 3 wpa_supplicant/ChangeLog | tail -n 1 | sed "s/ .*//"`
20 DATEh=`head -n 3 hostapd/ChangeLog | tail -n 1 | sed "s/ .*//"`
22 if [ "$DATEw" != "$NOW" -o "$DATEh" != "$NOW" ]; then
23     echo "NOTE! Date mismatch in ChangeLog: wpa_supplicant $DATEw hostapd $DATEh != $NOW"
24 fi
26 if [ -r $TMP ]; then
27     echo "Temporary directory '$TMP' exists. Remove it before running this."
28     exit 1
29 fi
31 mkdir $TMP
32 mkdir -p $RELDIR
34 git-archive --format=tar --prefix=wpa-$VER/ HEAD \
35         README COPYING patches src wpa_supplicant hostapd |
36         gzip > $RELDIR/wpa-$VER.tar.gz
37 git-archive --format=tar --prefix=hostapd-$VER/ HEAD \
38         README COPYING patches src hostapd |
39         gzip > $RELDIR/hostapd-$VER.tar.gz
40 git-archive --format=tar --prefix=wpa_supplicant-$VER/ HEAD \
41         README COPYING patches src wpa_supplicant |
42         tar --directory=$TMP -xf -
44 cd $TMP
45 make -C wpa_supplicant-$VER/wpa_supplicant/doc/docbook man
46 rm -f wpa_supplicant-$VER/wpa_supplicant/doc/docbook/manpage.{links,refs}
47 tar czf $RELDIR/wpa_supplicant-$VER.tar.gz wpa_supplicant-$VER
48 cd ..
49 rm -r $TMP
51 if [ "$2" == "nobin" ]; then
52     exit 0
53 fi
56 cd $RELDIR
58     PDIR=wpa_supplicant-$VER
59     WDIR=wpa_supplicant-windows-bin-$VER
60     tar xzf $PDIR.tar.gz
61     mkdir "$WDIR"
62     cd "$PDIR/wpa_supplicant"
63     cat > .config <<EOF
64 CONFIG_DRIVER_NDIS=y
65 CONFIG_NATIVE_WINDOWS=y
67 CC=i586-mingw32msvc-gcc
68 STRIP=i586-mingw32msvc-strip
69 PLATFORMSDKLIB=$WINLOCAL/lib
70 CONFIG_NDIS_EVENTS_INTEGRATED=y
72 CFLAGS += -I$WINLOCAL/include
73 LIBS += -L$WINLOCAL/lib
74 LIBS_w += -L$WINLOCAL/lib
75 LIBS_p += -L$WINLOCAL/lib
77 CONFIG_EAP_SIM=y
78 CONFIG_EAP_AKA=y
79 CONFIG_USIM_SIMULATOR=y
80 CONFIG_EAP_LEAP=y
81 CONFIG_EAP_FAST=y
82 CONFIG_EAP_TLS=y
84 CONFIG_CTRL_IFACE=y
85 CONFIG_EAP_FAST=y
86 CONFIG_EAP_MSCHAPV2=y
87 CONFIG_EAP_TTLS=y
88 CONFIG_EAP_PEAP=y
89 CONFIG_EAP_MD5=y
90 CONFIG_EAP_GTC=y
91 CONFIG_EAP_OTP=y
92 CONFIG_EAP_PAX=y
93 CONFIG_EAP_SAKE=y
94 CONFIG_EAP_PSK=y
95 CONFIG_EAP_TNC=y
96 CONFIG_PKCS12=y
97 CONFIG_PCSC=y
99 CONFIG_L2_PACKET=winpcap
100 CONFIG_MAIN=main_winsvc
101 CONFIG_BACKEND=winreg
102 CONFIG_ELOOP=eloop_win
103 CFLAGS += -DCONFIG_DEBUG_FILE
104 EOF
106     # First, build the Windows service & registry version and rename it
107     make windows-bin
108     mv wpa_supplicant.exe wpasvc.exe
110     # Then, build "the standard" wpa_supplicant.exe
111     cat >> .config <<EOF
112 CONFIG_MAIN=main
113 CONFIG_BACKEND=file
114 EOF
116     make windows-bin
118     for i in COPYING; do
119         unix2dos < ../$i > ../../"$WDIR"/$i
120     done
121     for i in README README-Windows.txt wpa_supplicant.conf; do
122         unix2dos < $i > ../../"$WDIR"/$i
123     done
124     mv *.exe ../../"$WDIR"
125     cp win_example.reg ../../"$WDIR"
127     cd wpa_gui-qt4
128     qmake -spec win32-x-g++
129     make -C icons
130     make
131     cp release/wpa_gui.exe ../../../"$WDIR"
132     cd ../../..
133     rm -rf "$PDIR"
134     zip "$WDIR.zip" "$WDIR"/*
135     rm -rf "$WDIR"
137 cd $RELDIR/..
139 ./build_nsis.sh "$RELDIR/$WDIR.zip"
140 mv wpa_supplicant-$VER.exe $RELDIR
142 ls -l $RELDIR/*$VER*
144 exit 0