build_release 3.1 KB

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