| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- #!/bin/bash
- export VLMCSD_VERSION=$(git describe)
- SMALLCC="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants"
- SMALLLD="-pipe -Wl,--hash-style=sysv -Wl,-z,norelro -Wl,--build-id=none"
- SMALL="$SMALLCC $SMALLLD"
- cd "$( dirname "$0" )"
- gmake -C .. clean
- BINDIR="../bin"
- MANDIR="../man"
- cd ../src
- mkdir -p ../binaries/Linux/intel/glibc
- mkdir -p ../binaries/Linux/intel/uclibc
- mkdir -p ../binaries/Linux/intel/static
- mkdir -p ../binaries/Linux/intel/musl
- mkdir -p ../binaries/Linux/sparc/glibc
- mkdir -p ../binaries/Linux/s390/glibc
- mkdir -p ../binaries/Android/arm/bionic
- mkdir -p ../binaries/Android/arm/static
- mkdir -p ../binaries/Android/intel/bionic
- mkdir -p ../binaries/Android/intel/static
- mkdir -p ../binaries/Android/mips/bionic
- mkdir -p ../binaries/Android/mips/static
- mkdir -p ../binaries/Linux/arm/little-endian/glibc
- mkdir -p ../binaries/Linux/arm/little-endian/musl
- mkdir -p ../binaries/Linux/arm/little-endian/uclibc
- mkdir -p ../binaries/Linux/arm/little-endian/static
- mkdir -p ../binaries/Linux/arm/big-endian/uclibc
- mkdir -p ../binaries/Linux/arm/big-endian/static
- mkdir -p ../binaries/Linux/mips/little-endian/glibc
- mkdir -p ../binaries/Linux/mips/little-endian/uclibc
- mkdir -p ../binaries/Linux/mips/little-endian/static
- mkdir -p ../binaries/Linux/mips/little-endian/musl
- mkdir -p ../binaries/Linux/mips/big-endian/uclibc
- mkdir -p ../binaries/Linux/mips/big-endian/static
- mkdir -p ../binaries/Linux/mips/big-endian/glibc
- mkdir -p ../binaries/Linux/mips/big-endian/musl
- mkdir -p ../binaries/Linux/ppc/little-endian/glibc
- mkdir -p ../binaries/Linux/ppc/big-endian/glibc
- mkdir -p ../binaries/Linux/ppc/big-endian/uclibc
- mkdir -p ../binaries/Linux/ppc/big-endian/musl
- mkdir -p ../binaries/Linux/ppc/big-endian/static
- mkdir -p ../binaries/MacOSX/intel
- mkdir -p ../binaries/MacOSX/ppc
- mkdir -p ../binaries/iOS/arm
- mkdir -p ../binaries/FreeBSD/intel
- mkdir -p ../binaries/NetBSD/intel
- mkdir -p ../binaries/OpenBSD/intel
- mkdir -p ../binaries/DragonFly/intel
- mkdir -p ../binaries/Solaris/intel
- mkdir -p ../binaries/Windows/intel
- mkdir -p ../binaries/Minix/intel
- mkdir -p ../binaries/Hurd/intel
- ## IBM S/390
- export CFLAGS="$SMALLCC"
- export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m31 -mesa -mpacked-stack -msmall-exec"
- export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
- export THREADS=0
- export FEATURES=full
- export CC=s390x-linux-gnu-gcc
- export VERBOSE=3
- export MULTI_NAME=~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390-glibc
- export CLIENT_NAME=~/x/binaries/Linux/s390/glibc/vlmcs-s390-glibc
- export PROGRAM_NAME=~/x/binaries/Linux/s390/glibc/vlmcsd-s390-glibc
- make -B -j`nproc` allmulti
- export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mzarch -mpacked-stack -msmall-exec"
- export MULTI_NAME=~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390x-glibc
- export CLIENT_NAME=~/x/binaries/Linux/s390/glibc/vlmcs-s390x-glibc
- export PROGRAM_NAME=~/x/binaries/Linux/s390/glibc/vlmcsd-s390x-glibc
- make -B -j`nproc` allmulti
- ## SPARC64
- export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mcpu=v7"
- export LDFLAGS="$SMALLLD"
- export CC=sparc64-linux-gnu-gcc
- export MULTI_NAME=~/x/binaries/Linux/sparc/glibc/vlmcsdmulti-sparc64v9-glibc
- export CLIENT_NAME=~/x/binaries/Linux/sparc/glibc/vlmcs-sparc64v9-glibc
- export PROGRAM_NAME=~/x/binaries/Linux/sparc/glibc/vlmcsd-sparc64v9-glibc
- make -B -j`nproc` allmulti
- ## MIPS64 BIG-ENDIAN
- export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips64 -mno-mips16"
- export LDFLAGS="$SMALLLD"
- export CC=mips64-linux-gnuabi64-gcc
- export MULTI_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcsdmulti-mips64-glibc
- export CLIENT_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcs-mips64-glibc
- export PROGRAM_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcsd-mips64-glibc
- make -B -j`nproc` allmulti
- export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips64 -mmicromips"
- export MULTI_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcsdmulti-mips64mm-glibc
- export CLIENT_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcs-mips64mm-glibc
- export PROGRAM_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcsd-mips64mm-glibc
- make -B -j`nproc` allmulti
- ## MIPS64 LITTLE-ENDIAN
- export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips64 -mno-mips16"
- export LDFLAGS="$SMALLLD"
- export CC=mips64el-linux-gnuabi64-gcc
- export MULTI_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcsdmulti-mips64el-glibc
- export CLIENT_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcs-mips64el-glibc
- export PROGRAM_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcsd-mips64el-glibc
- make -B -j`nproc` allmulti
- export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips64 -mmicromips"
- export MULTI_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcsdmulti-mips64elmm-glibc
- export CLIENT_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcs-mips64elmm-glibc
- export PROGRAM_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcsd-mips64elmm-glibc
- make -B -j`nproc` allmulti
- if [ "$1" == "nocopy" ]; then
- exit 0
- fi
- scp -p -P 2222 ~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390-glibc ~/x/binaries/Linux/s390/glibc/vlmcs-s390-glibc ~/x/binaries/Linux/s390/glibc/vlmcsd-s390-glibc ~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390x-glibc ~/x/binaries/Linux/s390/glibc/vlmcs-s390x-glibc ~/x/binaries/Linux/s390/glibc/vlmcsd-s390x-glibc s390:vlmcsd
- scp -p -P 2222 ~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390-glibc ~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390x-glibc s390:/usr/local/sbin
|