#!/bin/bash if [ $(id -u) != 0 ]; then echo "Must be root to run this" exit 5 fi cd "$( dirname "$0" )" IS64ONLY=0 if [ "$(uname -r|grep Microsoft)" != "" ]; then IS64ONLY=1 echo "Warning 32-bit toolchains do not run." fi export VLMCSD_VERSION=$(git describe) export VERBOSE=3 export DNS_PARSER=internal MAKEFLAGS="-j200 -B" REUSEOBJFLAGS="-j200" 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" rm -f vlmcs vlmcsdmulti vlmcsd 2>/dev/null rm -fr ../binaries mkdir -p ../../debian/root/x/binaries/Linux/intel/glibc mkdir -p ../../debian/root/x/binaries/Linux/intel/uclibc mkdir -p ../../debian/root/x/binaries/Linux/intel/static mkdir -p ../../debian/root/x/binaries/Linux/intel/musl mkdir -p ../../debian/root/x/binaries/Linux/sparc/glibc mkdir -p ../../debian/root/x/binaries/Linux/s390/glibc mkdir -p ../../debian/root/x/binaries/Android/arm/bionic mkdir -p ../../debian/root/x/binaries/Android/arm/static mkdir -p ../../debian/root/x/binaries/Android/intel/bionic mkdir -p ../../debian/root/x/binaries/Android/intel/static mkdir -p ../../debian/root/x/binaries/Android/mips/bionic mkdir -p ../../debian/root/x/binaries/Android/mips/static mkdir -p ../../debian/root/x/binaries/Linux/arm/little-endian/glibc mkdir -p ../../debian/root/x/binaries/Linux/arm/little-endian/musl mkdir -p ../../debian/root/x/binaries/Linux/arm/little-endian/uclibc mkdir -p ../../debian/root/x/binaries/Linux/arm/little-endian/static mkdir -p ../../debian/root/x/binaries/Linux/arm/big-endian/uclibc mkdir -p ../../debian/root/x/binaries/Linux/arm/big-endian/static mkdir -p ../../debian/root/x/binaries/Linux/mips/little-endian/glibc mkdir -p ../../debian/root/x/binaries/Linux/mips/little-endian/uclibc mkdir -p ../../debian/root/x/binaries/Linux/mips/little-endian/static mkdir -p ../../debian/root/x/binaries/Linux/mips/little-endian/musl mkdir -p ../../debian/root/x/binaries/Linux/mips/big-endian/uclibc mkdir -p ../../debian/root/x/binaries/Linux/mips/big-endian/static mkdir -p ../../debian/root/x/binaries/Linux/mips/big-endian/glibc mkdir -p ../../debian/root/x/binaries/Linux/mips/big-endian/musl mkdir -p ../../debian/root/x/binaries/Linux/ppc/little-endian/glibc mkdir -p ../../debian/root/x/binaries/Linux/ppc/big-endian/glibc mkdir -p ../../debian/root/x/binaries/Linux/ppc/big-endian/uclibc mkdir -p ../../debian/root/x/binaries/Linux/ppc/big-endian/musl mkdir -p ../../debian/root/x/binaries/Linux/ppc/big-endian/static mkdir -p ../../debian/root/x/binaries/MacOSX/intel mkdir -p ../../debian/root/x/binaries/MacOSX/ppc mkdir -p ../../debian/root/x/binaries/iOS/arm mkdir -p ../../debian/root/x/binaries/FreeBSD/intel mkdir -p ../../debian/root/x/binaries/NetBSD/intel mkdir -p ../../debian/root/x/binaries/OpenBSD/intel mkdir -p ../../debian/root/x/binaries/DragonFly/intel mkdir -p ../../debian/root/x/binaries/Solaris/intel mkdir -p ../../debian/root/x/binaries/Windows/intel mkdir -p ../../debian/root/x/binaries/Minix/intel mkdir -p ../../debian/root/x/binaries/Hurd/intel ../../bin/prepare-debian OLDHOME=$HOME export HOME=/root chroot ../../debian /root/x/hotbird64-mass-build/make_bs chroot ../../debian /root/x/hotbird64-mass-build/make_multilib_linux export HOME=$OLDHOME rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null export STAGING_DIR=. cd ../src pwd # Linux x32 glibc export FEATURES=full export MULTI_NAME=../../debian/root/x/binaries/Linux/intel/glibc/vlmcsdmulti-x32-glibc export CLIENT_NAME=../../debian/root/x/binaries/Linux/intel/glibc/vlmcs-x32-glibc export PROGRAM_NAME=../../debian/root/x/binaries/Linux/intel/glibc/vlmcsd-x32-glibc export CC=gcc export CFLAGS="$SMALLCC" export PLATFORMFLAGS="-flto=16 -fwhole-program -mx32 -march=nocona -mtune=generic" export LDFLAGS="-fuse-ld=bfd $SMALLLD -Wl,--hash-style=gnu" export THREADS=0 export NOPROCFS=0 export AUXV=1 make DNS_PARSER=OS $MAKEFLAGS allmulti if [ $? != 0 ]; then echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME exit $? fi # Linux x32 glibc threads export FEATURES=full export PROGRAM_NAME=../../debian/root/x/binaries/Linux/intel/glibc/vlmcsd-x32-glibc-threads export CC=gcc export CFLAGS="$SMALLCC" export PLATFORMFLAGS="-flto=16 -fwhole-program -mx32 -march=nocona -mtune=generic" export LDFLAGS="-fuse-ld=bfd $SMALLLD -Wl,--hash-style=gnu -lpthread" export THREADS=1 export NOPROCFS=0 export AUXV=1 make DNS_PARSER=OS $MAKEFLAGS $PROGRAM_NAME if [ $? != 0 ]; then echo Error creating $PROGRAM_NAME exit $? fi cd .. make alldocs mkdir -p /usr/local/man/man1 2>/dev/null mkdir -p /usr/local/man/man5 2>/dev/null mkdir -p /usr/local/man/man8 2>/dev/null mkdir -p /usr/local/man/man7 2>/dev/null cp -a man/vlmcs.1 man/vlmcsdmulti.1 /usr/local/man/man1/ cp -a man/vlmcsd-floppy.7 man/vlmcsd.7 /usr/local/man/man7/ cp -a man/vlmcsd.8 /usr/local/man/man8/ cp -a man/vlmcsd.ini.5 /usr/local/man/man5/ pbzip2 -f -9 /usr/local/man/man7/vlmcsd-floppy.7 /usr/local/man/man5/vlmcsd.ini.5 /usr/local/man/man1/vlmcs.1 /usr/local/man/man1/vlmcsdmulti.1 /usr/local/man/man7/vlmcsd.7 /usr/local/man/man8/vlmcsd.8 mandb >/dev/null 2>&1