143 lines
3.1 KiB
Bash
Executable file
143 lines
3.1 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# Path to the Windows cross compiler (mingw)
|
|
WINCROSS=/opt/xmingw/bin
|
|
WINLOCAL=/home/jm/H-win/local
|
|
|
|
set -e
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "build_release <version> [nobin]"
|
|
exit 1
|
|
fi
|
|
|
|
TMP=tmp.build_release
|
|
RELDIR=`pwd`/Release
|
|
VER=$1
|
|
NOW=`date +%Y-%m-%d`
|
|
|
|
echo "Version: $VER - $NOW"
|
|
|
|
DATEw=`head -n 3 wpa_supplicant/ChangeLog | tail -n 1 | sed "s/ .*//"`
|
|
DATEh=`head -n 3 hostapd/ChangeLog | tail -n 1 | sed "s/ .*//"`
|
|
|
|
if [ "$DATEw" != "$NOW" -o "$DATEh" != "$NOW" ]; then
|
|
echo "NOTE! Date mismatch in ChangeLog: wpa_supplicant $DATEw hostapd $DATEh != $NOW"
|
|
fi
|
|
|
|
if [ -r $TMP ]; then
|
|
echo "Temporary directory '$TMP' exists. Remove it before running this."
|
|
exit 1
|
|
fi
|
|
|
|
mkdir $TMP
|
|
mkdir -p $RELDIR
|
|
|
|
git-archive --format=tar --prefix=wpa-$VER/ HEAD \
|
|
README COPYING patches src wpa_supplicant hostapd |
|
|
gzip > $RELDIR/wpa-$VER.tar.gz
|
|
git-archive --format=tar --prefix=hostapd-$VER/ HEAD \
|
|
README COPYING patches src hostapd |
|
|
gzip > $RELDIR/hostapd-$VER.tar.gz
|
|
git-archive --format=tar --prefix=wpa_supplicant-$VER/ HEAD \
|
|
README COPYING patches src wpa_supplicant |
|
|
tar --directory=$TMP -xf -
|
|
|
|
cd $TMP
|
|
make -C wpa_supplicant-$VER/wpa_supplicant/doc/docbook man
|
|
rm -f wpa_supplicant-$VER/wpa_supplicant/doc/docbook/manpage.{links,refs}
|
|
tar czf $RELDIR/wpa_supplicant-$VER.tar.gz wpa_supplicant-$VER
|
|
cd ..
|
|
rm -r $TMP
|
|
|
|
if [ "$2" == "nobin" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
if [ -d $WINCROSS ]; then
|
|
pushd $RELDIR
|
|
|
|
PDIR=wpa_supplicant-$VER
|
|
WDIR=wpa_supplicant-windows-bin-$VER
|
|
tar xzf $PDIR.tar.gz
|
|
mkdir "$WDIR"
|
|
cd "$PDIR/wpa_supplicant"
|
|
cat > .config <<EOF
|
|
CONFIG_DRIVER_NDIS=y
|
|
CONFIG_NATIVE_WINDOWS=y
|
|
|
|
CFLAGS += -I/opt/xmingw/i386-mingw32msvc/include/ddk
|
|
CC=i386-mingw32msvc-gcc
|
|
STRIP=i386-mingw32msvc-strip
|
|
PLATFORMSDKLIB=$WINLOCAL/lib
|
|
CONFIG_NDIS_EVENTS_INTEGRATED=y
|
|
|
|
CFLAGS += -I$WINLOCAL/include
|
|
LIBS += -L$WINLOCAL/lib
|
|
LIBS_w += -L$WINLOCAL/lib
|
|
LIBS_p += -L$WINLOCAL/lib
|
|
|
|
CONFIG_EAP_SIM=y
|
|
CONFIG_EAP_AKA=y
|
|
CONFIG_EAP_LEAP=y
|
|
CONFIG_EAP_FAST=y
|
|
CONFIG_EAP_TLS=y
|
|
|
|
CONFIG_CTRL_IFACE=y
|
|
CONFIG_EAP_FAST=y
|
|
CONFIG_EAP_MSCHAPV2=y
|
|
CONFIG_EAP_TTLS=y
|
|
CONFIG_EAP_PEAP=y
|
|
CONFIG_EAP_MD5=y
|
|
CONFIG_EAP_GTC=y
|
|
CONFIG_EAP_OTP=y
|
|
CONFIG_EAP_PAX=y
|
|
CONFIG_EAP_SAKE=y
|
|
CONFIG_EAP_PSK=y
|
|
CONFIG_EAP_TNC=y
|
|
CONFIG_PKCS12=y
|
|
CONFIG_PCSC=y
|
|
|
|
CONFIG_L2_PACKET=winpcap
|
|
CONFIG_MAIN=main_winsvc
|
|
CONFIG_BACKEND=winreg
|
|
CONFIG_ELOOP=eloop_win
|
|
CFLAGS += -DCONFIG_DEBUG_FILE
|
|
EOF
|
|
|
|
# First, build the Windows service & registry version and rename it
|
|
PATH=$PATH:$WINCROSS make windows-bin
|
|
mv wpa_supplicant.exe wpasvc.exe
|
|
|
|
# Then, build "the standard" wpa_supplicant.exe
|
|
cat >> .config <<EOF
|
|
CONFIG_MAIN=main
|
|
CONFIG_BACKEND=file
|
|
EOF
|
|
|
|
PATH=$PATH:$WINCROSS make windows-bin
|
|
|
|
for i in COPYING; do
|
|
unix2dos < ../$i > ../../"$WDIR"/$i
|
|
done
|
|
for i in README README-Windows.txt wpa_supplicant.conf; do
|
|
unix2dos < $i > ../../"$WDIR"/$i
|
|
done
|
|
mv *.exe ../../"$WDIR"
|
|
cp win_example.reg ../../"$WDIR"
|
|
|
|
cd wpa_gui-qt4
|
|
PATH=$PATH:$WINCROSS ./setup-mingw-cross-compiling
|
|
PATH=$PATH:$WINCROSS make
|
|
cp release/wpa_gui.exe ../../../"$WDIR"
|
|
cd ../../..
|
|
rm -rf "$PDIR"
|
|
zip "$WDIR.zip" "$WDIR"/*
|
|
rm -rf "$WDIR"
|
|
|
|
popd
|
|
fi
|
|
|
|
ls -l $RELDIR/*$VER*
|
|
|
|
exit 0
|