make-release 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. find . -name autom4te.cache |
  44. xargs rm -r
  45. cd ..
  46. zip -r "$IDIR/${sw}.zip" "$sw"
  47. tar cjvpf "$IDIR/${sw}.tbz2" "$sw"
  48. SRCDIR="$TMPDIR/$sw"
  49. for txt in AUTHORS COPYING NEWS README API-README FPGA-README SCRYPT-README; do
  50. sed 's/$/\r/' <"$txt" >"$OUTDIR/${txt}.txt"
  51. done
  52. cp -av "bitstreams" "$OUTDIR/"
  53. NOCONFIGURE=1 \
  54. ./autogen.sh
  55. ./configure \
  56. --prefix='C:\\Program Files\\BFGMiner\' \
  57. CFLAGS='-march=i686 -Wall' \
  58. --disable-cpumining \
  59. --enable-opencl \
  60. --enable-adl \
  61. --enable-bitforce \
  62. --enable-icarus \
  63. --enable-modminer \
  64. --enable-ztex \
  65. --enable-scrypt \
  66. --build=i686-pc-linux-gnu \
  67. --host=i686-pc-mingw32
  68. make -j4
  69. i686-pc-mingw32-strip \
  70. libblkmaker/.libs/*.dll \
  71. bfgminer.exe
  72. cp -v \
  73. bfgminer.exe \
  74. libblkmaker/.libs/*.dll \
  75. *.cl \
  76. example.conf \
  77. windows-build.txt \
  78. API.class \
  79. miner.php \
  80. "$OUTDIR/" -v
  81. cd "$OUTDIR"
  82. cd ..
  83. zip -r "$IDIR/${ZIPNAME}.zip" "${ZIPNAME}"
  84. cd "$IDIR"