make-release 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #!/bin/bash
  2. set -e
  3. set -x
  4. tag="$1"; shift
  5. [ -n "$tag" ] || exit 1
  6. sw="$1"; shift || true
  7. [ -n "$sw" ] || sw="$tag"
  8. IDIR="$PWD"
  9. ZIPNAME="${sw}-win32"
  10. OUTDIR="$PWD/w32zip/$ZIPNAME"
  11. TMPDIR="${OUTDIR}-tmp"
  12. set -e
  13. mkdir -v "$OUTDIR"
  14. dlls='
  15. pdcurses.dll
  16. libcurl-4.dll
  17. pthreadGC2.dll
  18. libjansson-4.dll
  19. libusb-1.0.dll
  20. zlib1.dll
  21. '
  22. cp -v \
  23. -L \
  24. $dlls \
  25. "$OUTDIR/"
  26. for dll in $dlls; do
  27. i686-pc-mingw32-strip "$OUTDIR/$dll"
  28. done
  29. git branch TMP "$tag"
  30. git clone . "$TMPDIR" -b TMP --depth 1
  31. git branch -D TMP
  32. cd "$TMPDIR"
  33. git submodule update --init
  34. git archive --prefix "$sw"/ --format tar "$tag" | tar xvp
  35. (
  36. cd libblkmaker
  37. git archive --prefix "libblkmaker/" --format tar HEAD | tar -C "../$sw" -xvp
  38. )
  39. cd "$sw"
  40. NOSUBMODULES=1 \
  41. NOCONFIGURE=1 \
  42. ./autogen.sh
  43. cd ..
  44. zip -r "$IDIR/${sw}.zip" "$sw"
  45. tar cjvpf "$IDIR/${sw}.tbz2" "$sw"
  46. SRCDIR="$TMPDIR/$sw"
  47. for txt in AUTHORS COPYING NEWS README API-README FPGA-README SCRYPT-README; do
  48. sed 's/$/\r/' <"$txt" >"$OUTDIR/${txt}.txt"
  49. done
  50. cp -av "bitstreams" "$OUTDIR/"
  51. NOCONFIGURE=1 \
  52. ./autogen.sh
  53. ./configure \
  54. --prefix='C:\\Program Files\\BFGMiner\' \
  55. CFLAGS='-march=i686 -Wall' \
  56. --disable-cpumining \
  57. --enable-opencl \
  58. --enable-adl \
  59. --enable-bitforce \
  60. --enable-icarus \
  61. --enable-modminer \
  62. --enable-ztex \
  63. --enable-scrypt \
  64. --build=i686-pc-linux-gnu \
  65. --host=i686-pc-mingw32
  66. make -j4
  67. i686-pc-mingw32-strip \
  68. libblkmaker/.libs/*.dll \
  69. bfgminer.exe
  70. cp -v \
  71. bfgminer.exe \
  72. libblkmaker/.libs/*.dll \
  73. *.cl \
  74. example.conf \
  75. windows-build.txt \
  76. API.class \
  77. miner.php \
  78. "$OUTDIR/" -v
  79. cd "$OUTDIR"
  80. cd ..
  81. zip -r "$IDIR/${ZIPNAME}.zip" "${ZIPNAME}"
  82. cd "$IDIR"