build_release 3.1 KB

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