1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #!/bin/sh
- set -eux
- V=$1
- D=$(realpath "$0")
- D=$(dirname "$D")
- cd "$D"
- export TZ=UTC
- mkdir -p build
- export WINEARCH=win64
- export WINEPREFIX=$(realpath ./build/winepfx)
- OPATH=$PATH
- rm -rf out
- mkdir -p out
- # prepare source
- SV=mkp224o-$V
- SO=$(realpath ./out/$SV)
- git clone ../../ "$SO"
- git -C ../../ diff | git -C "$SO" apply --allow-empty
- cd "$SO"
- rm -rf .git
- ./autogen.sh
- rm -rf *.cache
- echo v$V > version.txt
- cd ../..
- # build windows bins
- B=$(realpath ./build)
- for w in x86_64 i686
- do
- cd "$B"
- rm -rf $w
- mkdir $w
- cd $w
- p=$w-w64-mingw32
- case $w in
- i686)
- CFLAGS="-march=i686 -mtune=generic"
- W=32
- ;;
- x86_64)
- CFLAGS="-march=x86-64 -mtune=generic"
- W=64
- ;;
- esac
- CFLAGS="-O3 $CFLAGS -fomit-frame-pointer"
- export PATH=/usr/$p/bin:$OPATH
- ../../out/$SV/configure --enable-regex --enable-donna --with-pcre2="/usr/$p/bin/pcre2-config" CC="${p}-gcc" CFLAGS="$CFLAGS"
- make main util
- $p-strip mkp224o.exe
- $p-strip calcest.exe
- cd ..
- BO="$SO-w$W"
- mkdir -p "$BO"
- cp $w/mkp224o.exe "$BO/"
- cp $w/calcest.exe "$BO/"
- cd "$BO"
- $p-ldd mkp224o.exe | grep -v 'not found' | awk '{print $3}' | xargs -r cp -v -t ./
- done
- export PATH=$OPATH
- # compress stuff
- cd "$D/out"
- tar --portability --no-acls --no-selinux --no-xattrs --owner root:0 --group=root:0 --sort=name -c -f $SV-src.tar $SV
- zopfli -i100 -c $SV-src.tar > $SV-src.tar.gz
- zstd -19 -f $SV-src.tar -o $SV-src.tar.zst
- rm $SV-src.tar
- zip -9 -X -r $SV-w32.zip $SV-w32
- zip -9 -X -r $SV-w64.zip $SV-w64
|