mirror of https://github.com/IoTcat/vlmcsd.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
5.1 KiB
154 lines
5.1 KiB
#!/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
|
|
|