]> wimlib.net Git - wimlib/blobdiff - tools/make-windows-release
Include import library and header in Windows releases
[wimlib] / tools / make-windows-release
index ee9790db510b767acd534e553b88c8edf413e2e9..70cb5f6e19ca9a10b12d78b5d38c1f90b1f03eee 100755 (executable)
@@ -10,8 +10,8 @@ if [ ! -e src/wim.c ]; then
        exit 1
 fi
 
-if [ $# -ne 1 ]; then
-       echo "Usage: $0 i686|x86_64" 1>&2
+if [ $# -lt 1 ]; then
+       echo "Usage: $0 i686|x86_64 [EXTRA_CONFIGURE_ARG]..." 1>&2
        exit 1
 fi
 
@@ -27,8 +27,8 @@ i686|x86_64)
        ;;
 esac
 
-VERSION=$(grep 'This is wimlib version' README | \
-         grep -o '\<[0-9]\+\.[0-9]\+\.[0-9]\+\(-BETA\)\?\>')
+VERSION=$(grep 'AC_INIT' configure.ac | \
+         grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+[^]]*')
 DESTDIR=wimlib-${VERSION}-windows-${ARCH}-bin
 ZIPFILE=wimlib-${VERSION}-windows-${ARCH}-bin.zip
 MAKE="make -j $(grep -c processor /proc/cpuinfo)"
@@ -44,16 +44,23 @@ fi
 # Compile wimlib
 
 if ! grep -q "./configure --host=${ARCH}-w64-mingw32" config.log || \
-       ! grep -q "configure: exit 0" config.log
+       ! grep -q "configure: exit 0" config.log || \
+       [ $# -gt 0 ]
 then
+       extra_args=
+       if [ $ARCH = x86_64 ]; then
+               extra_args="--enable-ssse3-sha1"
+       fi
        # Note: putting -static-libgcc in CC is a workaround for libtool
        # stripping it:
        # http://www.gnu.org/software/libtool/manual/libtool.html#Stripped-link-flags
        ./configure --host=${ARCH}-w64-mingw32 --disable-static         \
                CC="${ARCH}-w64-mingw32-gcc -static-libgcc"             \
-               CFLAGS="-O2 -Wall"                                      \
-               CPPFLAGS="-I$SYSROOT/include -I$SYSROOT/include/libxml2"\
-               LDFLAGS="-L$SYSROOT/lib"
+               CPPFLAGS="-I$SYSROOT/include"                           \
+               LDFLAGS="-L$SYSROOT/lib"                                \
+               PKG_CONFIG_PATH="$SYSROOT/lib/pkgconfig"                \
+               --without-libcrypto                                     \
+               $extra_args "$@"
        $MAKE clean
 fi
 $MAKE
@@ -72,6 +79,12 @@ ${ARCH}-w64-mingw32-strip $DESTDIR/*.{dll,exe}
 
 cp NEWS README* COPYING* $DESTDIR
 cp $WINDEPDIR/COPYING* $DESTDIR
+
+sed -n '/^#/q; s/^[\/\* ]*//; p' src/divsufsort.c > $DESTDIR/COPYING.libdivsufsort-lite
+if ! grep -q 'Copyright' $DESTDIR/COPYING.libdivsufsort-lite; then
+       echo "ERROR: failed to extract libdivsufsort-lite license text" 1>&2
+       exit 1
+fi
 (
        cd $DESTDIR
        for fil in NEWS README* COPYING*; do
@@ -106,13 +119,19 @@ for fil in ./doc/man1/wimlib-imagex-*.1; do
 
        sed 's/$/\r/g' > ${DESTDIR}/wim${cmd}.cmd <<- EOF
                @echo off
-               %~dp0\\wimlib-imagex $cmd %*
+               "%~dp0\\wimlib-imagex" $cmd %*
        EOF
        chmod +x ${DESTDIR}/wim${cmd}.cmd
 done
 
 gen_pdf_from_man_page wimlib-imagex
 
+# Install development files
+
+mkdir $DESTDIR/devel
+cp .libs/libwim.dll.a $DESTDIR/devel/libwim.lib
+cp include/wimlib.h $DESTDIR/devel/
+
 # Generate ZIP file
 
 rm -f $ZIPFILE