| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- #!/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
|