X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=tools%2Fmake-windows-release;h=5f5da584d9e9ad536fce974e5dcc97e0e33ff4c8;hp=6bee2af3384baef7a527e24764e7254a8241f683;hb=01ce2d43d6ba9721bf46c3e132c4be394ef3f0f9;hpb=9a1b5749d00a890586b1f66409fd8758e70ecefa diff --git a/tools/make-windows-release b/tools/make-windows-release index 6bee2af3..5f5da584 100755 --- a/tools/make-windows-release +++ b/tools/make-windows-release @@ -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,7 @@ i686|x86_64) ;; esac -VERSION=$(grep 'AC_INIT' configure.ac | \ - grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+[^]]*') +VERSION=$(tools/get-version-number) DESTDIR=wimlib-${VERSION}-windows-${ARCH}-bin ZIPFILE=wimlib-${VERSION}-windows-${ARCH}-bin.zip MAKE="make -j $(grep -c processor /proc/cpuinfo)" @@ -43,8 +42,10 @@ fi # Compile wimlib -if ! grep -q "./configure --host=${ARCH}-w64-mingw32" config.log || \ - ! grep -q "configure: exit 0" config.log +if ! [ -e config.log ] || + ! grep -q "./configure --host=${ARCH}-w64-mingw32" config.log || \ + ! grep -q "configure: exit 0" config.log || \ + [ $# -gt 0 ] then extra_args= if [ $ARCH = x86_64 ]; then @@ -53,13 +54,17 @@ then # 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 + # + # We also need to override the MinGW pkg-config with the "native" one in + # order for it to correctly restrict the include path to our $SYSROOT. ./configure --host=${ARCH}-w64-mingw32 --disable-static \ CC="${ARCH}-w64-mingw32-gcc -static-libgcc" \ CPPFLAGS="-I$SYSROOT/include" \ LDFLAGS="-L$SYSROOT/lib" \ - PKG_CONFIG_PATH="$SYSROOT/lib/pkgconfig" \ + PKG_CONFIG=pkg-config \ + PKG_CONFIG_LIBDIR="$SYSROOT/lib/pkgconfig" \ --without-libcrypto \ - $extra_args + $extra_args "$@" $MAKE clean fi $MAKE @@ -106,25 +111,32 @@ function gen_pdf_from_man_page() { MANPATH="./doc" man -t $manbase | ps2pdf - $pdf } -for fil in ./doc/man1/wimlib-imagex-*.1; do +for fil in ./doc/man1/wim*.1; do manbase=`basename $fil` - manbase=${manbase%%.1} - cmd=$(echo $manbase | sed s/wimlib-imagex-//) - if [ $cmd == mount -o $cmd == mountrw -o $cmd == unmount ]; then + cmd=${manbase%.1} + case $cmd in + wimlib-imagex|wimmount|wimmountrw|wimunmount) continue - fi + ;; + esac - gen_pdf_from_man_page $manbase + gen_pdf_from_man_page $cmd - sed 's/$/\r/g' > ${DESTDIR}/wim${cmd}.cmd <<- EOF + sed 's/$/\r/g' > ${DESTDIR}/${cmd}.cmd <<- EOF @echo off - "%~dp0\\wimlib-imagex" $cmd %* + "%~dp0\\wimlib-imagex" ${cmd#wim} %* EOF - chmod +x ${DESTDIR}/wim${cmd}.cmd + chmod +x ${DESTDIR}/${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