mirror of
				https://github.com/Wind4/vlmcsd.git
				synced 2025-11-04 06:42:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			155 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 |