mirror of
https://github.com/rofl0r/proxychains-ng.git
synced 2024-12-22 12:18:47 +00:00
122 lines
2.8 KiB
Bash
Executable File
122 lines
2.8 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
prefix=/usr/local
|
|
|
|
ismac() {
|
|
uname -s | grep Darwin >/dev/null
|
|
}
|
|
|
|
isx86_64() {
|
|
uname -m | grep -i X86_64 >/dev/null
|
|
}
|
|
|
|
isbsd() {
|
|
uname -s | grep BSD >/dev/null
|
|
}
|
|
|
|
isopenbsd() {
|
|
uname -s | grep OpenBSD >/dev/null
|
|
}
|
|
|
|
usage() {
|
|
echo "supported arguments"
|
|
echo "--prefix=/path default: $prefix"
|
|
echo "--exec_prefix=/path default: $prefix/bin"
|
|
echo "--bindir=/path default: $prefix/bin"
|
|
echo "--libdir=/path default: $prefix/lib"
|
|
echo "--includedir=/path default: $prefix/include"
|
|
echo "--sysconfdir=/path default: $prefix/etc"
|
|
echo "--ignore-cve default: no"
|
|
echo " if set to yes ignores CVE-2015-3887 and makes it possible"
|
|
echo " to preload from current dir (insecure)"
|
|
ismac && isx86_64 && echo "--fat-binary : build for both i386 and x86_64 architectures on 64-bit Macs"
|
|
echo "--help : show this text"
|
|
exit 1
|
|
}
|
|
|
|
spliteq() {
|
|
arg=$1
|
|
echo "${arg#*=}"
|
|
#alternatives echo "$arg" | cut -d= -f2-
|
|
# or echo "$arg" | sed 's/[^=]*=//'
|
|
}
|
|
|
|
fat_binary=
|
|
ignore_cve=no
|
|
parsearg() {
|
|
case "$1" in
|
|
--prefix=*) prefix=`spliteq $1`;;
|
|
--exec_prefix=*) exec_prefix=`spliteq $1`;;
|
|
--bindir=*) bindir=`spliteq $1`;;
|
|
--libdir=*) libdir=`spliteq $1`;;
|
|
--includedir=*) includedir=`spliteq $1`;;
|
|
--sysconfdir=*) sysconfdir=`spliteq $1`;;
|
|
--ignore-cve) ignore_cve=1;;
|
|
--ignore-cve=*) ignore_cve=`spliteq $1`;;
|
|
--fat-binary) fat_binary=1;;
|
|
--help) usage;;
|
|
esac
|
|
}
|
|
|
|
while true ; do
|
|
case $1 in
|
|
-*) parsearg "$1"; shift;;
|
|
*) break ;;
|
|
esac
|
|
done
|
|
|
|
if [ -z "$exec_prefix" ] ; then
|
|
exec_prefix=$prefix
|
|
fi
|
|
|
|
if [ -z "$libdir" ] ; then
|
|
libdir=$prefix/lib
|
|
fi
|
|
|
|
if [ -z "$includedir" ] ; then
|
|
includedir=$prefix/include
|
|
fi
|
|
|
|
if [ -z "$sysconfdir" ] ; then
|
|
sysconfdir=$prefix/etc
|
|
fi
|
|
|
|
if [ -z "$bindir" ] ; then
|
|
bindir=$exec_prefix/bin
|
|
fi
|
|
|
|
if [ -z "$CC" ] ; then
|
|
CC=cc
|
|
fi
|
|
|
|
echo CC?=$CC>config.mak
|
|
[ -z "$CPPFLAGS" ] || echo CPPFLAGS?=$CPPFLAGS>>config.mak
|
|
[ -z "$CFLAGS" ] || echo USER_CFLAGS?=$CFLAGS>>config.mak
|
|
[ -z "$LDFLAGS" ] || echo USER_LDFLAGS?=$LDFLAGS>>config.mak
|
|
echo prefix=$prefix>>config.mak
|
|
echo exec_prefix=$exec_prefix>>config.mak
|
|
echo bindir=$bindir>>config.mak
|
|
echo libdir=$libdir>>config.mak
|
|
echo includedir=$includedir>>config.mak
|
|
echo sysconfdir=$sysconfdir>>config.mak
|
|
[ "$ignore_cve" = "no" ] && echo CPPFLAGS+= -DSUPER_SECURE>>config.mak
|
|
make_cmd=make
|
|
if ismac ; then
|
|
echo NO_AS_NEEDED=>>config.mak
|
|
echo LDSO_SUFFIX=dylib>>config.mak
|
|
echo MAC_CFLAGS+=-DIS_MAC=1>>config.mak
|
|
if isx86_64 && [ "$fat_binary" = 1 ] ; then
|
|
echo "Configuring a fat binary for i386 and x86_64"
|
|
echo MAC_CFLAGS+=-arch i386 -arch x86_64>>config.mak
|
|
echo LDFLAGS+=-arch i386 -arch x86_64>>config.mak
|
|
fi
|
|
echo LD_SET_SONAME=-Wl,-install_name,>>config.mak
|
|
elif isbsd ; then
|
|
echo LIBDL=>>config.mak
|
|
echo "CFLAGS+=-DIS_BSD">>config.mak
|
|
isopenbsd && echo "CFLAGS+=-DIS_OPENBSD">>config.mak
|
|
make_cmd=gmake
|
|
fi
|
|
|
|
echo "Done, now run $make_cmd && $make_cmd install"
|