CPPCOMPAT="-Wc++-compat"
CPPCOMPAT=

ALIASING="-Wall $CPPCOMPAT  -Wstrict-aliasing=2 -fstrict-aliasing"
ALIASING=""

# CFLAGS="-O3 -march=pentium4 -momit-leaf-frame-pointer"  ; export CFLAGS

CFLAGS="-std=c11 -DUFDB_NEW_CATEGORIES -O2 -g -Wall $CPPCOMPAT  -Wformat -Wformat-security -Werror=format-security $ALIASING"  ; export CFLAGS
CXXFLAGS="-std=c++11 -O2 -g -Wall -Wformat -Wformat-security -Werror=format-security $ALIASING"  ; export CXXFLAGS

LDFLAGS=""

PREFIX=/local/ufdbguard

export LDFLAGS CFLAGS CXXFLAGS PREFIX


if [ "$1" = -O ]
then
   # CFLAGS="-O3 -momit-leaf-frame-pointer"
   CFLAGS="-std=c11 -DUFDB_NEW_CATEGORIES -O3 -minline-all-stringops -g1 -Wall $CPPCOMPAT  -Wformat -Wformat-security -Werror=format-security"
   export CFLAGS
   shift
fi

if [ "$1" = -g ]
then
   # -fsanitize=bounds
   # -fsanitize=bounds-strict
   # -fsanitize=address
   # -fstack-protector-strong
   # -static-libgcc
   CFLAGS="-DUFDB_NEW_CATEGORIES -pthread -O2 -g -ggdb3 -Wall -Wextra $CPPCOMPAT -Wformat -Wformat-security -Werror=format-security"
   CFLAGS="$CFLAGS --param=ssp-buffer-size=1 -fstack-protector-strong -fsanitize=bounds-strict"  #  -fsanitize=address"
   CXXFLAGS="-DUFDB_NEW_CATEGORIES -pthread -O2 -g -ggdb3  -Wall -Wextra -Wformat -Wformat-security -Werror=format-security"
   CXXFLAGS="$CXXFLAGS --param=ssp-buffer-size=1 -fstack-protector-strong -fsanitize=bounds-strict" # -fsanitize=address"
   export CFLAGS CXXFLAGS
   shift
fi

if [ "$1" = -fedora ]
then
   CFLAGS="-DUFDB_NEW_CATEGORIES -O2 -g -Wall $CPPCOMPAT  -Wformat -Wformat-security -Werror=format-security -fexceptions -fstack-protector --param=ssp-buffer-size=1 -m64 -mtune=generic"
   CFLAGS="-DUFDB_NEW_CATEGORIES -O2 -g -Wall $CPPCOMPAT  -Wformat -Wformat-security -Werror=format-security -fexceptions -fstack-protector --param=ssp-buffer-size=1 -mtune=generic"
   export CFLAGS
   shift
fi

if [ "$1" = -clang ]
then
   CC=clang
   CFLAGS="-std=c11 -DUFDB_NEW_CATEGORIES -O2 -g -Wall"
   export CC CFLAGS
   shift
fi

if [ "$1" = -c++ ]
then
   # CFLAGS="-O3 -momit-leaf-frame-pointer"
   CC=/usr/local/gcc483/bin/g++
   export CC
   CFLAGS="-DUFDB_NEW_CATEGORIES -O3 -g -Wall -Wformat -Wformat-security -Werror=format-security"
   export CFLAGS
   shift
fi

if [ "$1" = -gcc48 ]
then
   CC=/usr/local/gcc483/bin/gcc
   export CC
   shift
fi

if [ "$1" = -gcc49 ]
then
   CC=/usr/local/gcc492/bin/gcc
   export CC
   shift
fi

if [ "$1" = -gcc51 ]
then
   CC=/usr/local/gcc510/bin/gcc
   export CC
   shift
fi

if [ "$1" = -gcc52 ]
then
   CC=/usr/local/gcc520/bin/gcc
   export CC
   shift
fi

if [ "$1" = -gcc71 ]
then
   CC=/usr/local/gcc710/bin/gcc
   export CC
   shift
fi

if [ "$1" = -gcc73 ]
then
   CC=/usr/local/gcc730/bin/gcc
   export CC
   shift
fi

if [ "$1" = -g++73 ]
then
   CC=/usr/local/gcc730/bin/gcc
   CXX=/usr/local/gcc730/bin/g++
   export CC
   shift
fi

if [ "$1" = -gcc10 ]
then
   PATH=/usr/local/gcc-10/bin:$PATH
   export PATH
   CC=/usr/local/gcc-10/bin/gcc
   export CC
   shift
fi

if [ "$1" = "1334test" ]
then
   PREFIX=/local/ufdbguard1334test
   shift
fi
if [ "$1" = "1336test" ]
then
   PREFIX=/local/ufdbguard1336test
   shift
fi

if [ "$1" = -piddir ]
then
   PIDDIROPT="--with-ufdb-piddir=$2"
   shift 2
else
   PIDDIROPT=""
fi

if [ "$1" = -pcreposix ]
then
   # LDFLAGS="$LDFLAGS -l:pcreposix -l:libpcre -lpcreposix -lpcre"	# static version of the library has preference
   LDFLAGS="$LDFLAGS -lpcreposix -lpcre"
   export LDFLAGS
   CFLAGS="$CFLAGS -DUFDB_USE_PCREPOSIX"
   shift
fi

if [ "$1" = 132 ]
then
	CFLAGS="$CFLAGS -Wall -DUFDB_VALGRINDING=1"
	CXXFLAGS="$CXXFLAGS -Wall -DUFDB_VALGRINDING=1"
	export CFLAGS CXXFLAGS
	# LDFLAGS="$LDFLAGS -Wl,-wrap,__assert_fail -Wl,-wrap,__fortify_fail -Wl,-wrap,__stack_chk_fail"
	# export LDFLAGS

	shift
        ./configure \
        --prefix=/local/ufdbguard132 \
	--with-ufdb-user=ufdb \
        --with-ufdb-logdir=/local/ufdbguard132/logs  \
	--with-ufdb-piddir=/local/ufdbguard132/etc   \
        --with-ufdb-config=/local/ufdbguard132/etc   \
        --with-ufdb-dbhome=/local/squid/blacklists $*

	exit 0
fi


if [ "$1" = 133 ]
then
	CFLAGS="$CFLAGS -Wall -DUFDB_VALGRINDING=1"
	CXXFLAGS="$CXXFLAGS -Wall -DUFDB_VALGRINDING=1"
	export CFLAGS CXXFLAGS
	# LDFLAGS="$LDFLAGS -Wl,-wrap,__assert_fail -Wl,-wrap,__fortify_fail -Wl,-wrap,__stack_chk_fail"
	# export LDFLAGS

	shift
        ./configure \
        --prefix=/local/ufdbguard133 \
	--with-ufdb-user=ufdb \
        --with-ufdb-logdir=/local/ufdbguard133/logs  \
	--with-ufdb-piddir=/local/ufdbguard133/etc   \
        --with-ufdb-config=/local/ufdbguard133/etc   \
        --with-ufdb-dbhome=/local/squid/blacklists $*

	exit 0
fi


if [ "$1" = 133test ]
then
	CFLAGS="$CFLAGS -Wall"
	CXXFLAGS="$CXXFLAGS -Wall"
	export CFLAGS CXXFLAGS
	# LDFLAGS="$LDFLAGS -Wl,-wrap,__assert_fail -Wl,-wrap,__fortify_fail -Wl,-wrap,__stack_chk_fail"
	# export LDFLAGS

	shift
        ./configure --prefix=/local/ufdbguard1336test  \
                    --with-ufdb-user=ufdb  \
                    --with-ufdb-logdir=/local/ufdbguard1336test/logs  \
                    --with-ufdb-config=/local/ufdbguard1336test/etc  \
                    --with-ufdb-piddir=/local/ufdbguard1336test/etc  \
                    --with-ufdb-dbhome=/local/squid/blacklists $*

	exit 0
fi


if [ "$1" = 134 ]
then
	CFLAGS="$CFLAGS -Wall -DUFDB_VALGRINDING=1"
	CXXFLAGS="$CXXFLAGS -Wall -DUFDB_VALGRINDING=1"
	export CFLAGS CXXFLAGS
	# LDFLAGS="$LDFLAGS -Wl,-wrap,__assert_fail -Wl,-wrap,__fortify_fail -Wl,-wrap,__stack_chk_fail"
	# export LDFLAGS

	shift
        ./configure \
        --prefix=/local/ufdbguard134 \
	--with-ufdb-user=ufdb \
        --with-ufdb-logdir=/local/ufdbguard134/logs  \
	--with-ufdb-piddir=/local/ufdbguard134/etc   \
        --with-ufdb-config=/local/ufdbguard134/etc   \
        --with-ufdb-dbhome=/local/squid/blacklists $*

	exit 0
fi


if [ "$1" = 135 ]
then
	CFLAGS="$CFLAGS -DUFDB_VALGRINDING=1"
	CXXFLAGS="$CXXFLAGS -DUFDB_VALGRINDING=1"
	export CFLAGS CXXFLAGS

	shift
        ./configure \
        --prefix=/local/ufdbguard135 \
	--with-ufdb-user=ufdb \
        --with-ufdb-logdir=/local/ufdbguard135/logs  \
	--with-ufdb-piddir=/local/ufdbguard135/etc   \
        --with-ufdb-config=/local/ufdbguard135/etc   \
        --with-ufdb-dbhome=/local/squid/blacklists $*

	exit 0
fi


WD=`/bin/pwd`
if [ "${WD##/local/src/ufdbGuard-2}" = "$WD" ]
then
    ./configure \
        --prefix=$PREFIX \
	--with-ufdb-user=ufdb \
        --with-ufdb-logdir=$PREFIX/logs \
        --with-ufdb-config=$PREFIX/etc \
	$PIDDIROPT \
        --with-ufdb-dbhome=/local/squid/blacklists $*
else
        ./configure \
        --prefix=/usr/local/ufdbicapd $*
fi

