#!/bin/sh
#
# Setup a build env and build gdb similar to how ports builds it

# Figure out some variables
version=`uname -r | cut -d- -f1`
arch=`uname -m`
case $arch in
	amd64)
		cfgarch=x86_64
		obj=obj
		;;
	*)
		cfgarch=${arch}
		obj=obj.${arch}
		;;
esac

if [ -x /usr/bin/clang -a /usr/bin/clang -ef /usr/bin/cc ]; then
    # clang-specific warnings to disable
    EXTRA_CFLAGS="-Wno-absolute-value -Wno-parentheses-equality"
    EXTRA_CFLAGS="${EXTRA_CFLAGS} -Wno-unknown-warning-option"
fi

datadir=`ls -d /usr/local/share/gdb* 2>/dev/null | head -1`
if [ -z "$sharedir" ]; then
    datadir=/usr/local/share/gdb
fi
if [ -x /usr/local/bin/python2.7 ]; then
    PYTHON="/usr/local/bin/python2.7"
    PYTHON_CFG="--with-python=${PYTHON}"
else
    PYTHON=""
    PYTHON_CFG="--without-python"	
fi

# First, make an obj tree
mkdir $obj

# Next, run configure
CONFIGURE_ARGS="--enable-targets=all  --with-gdb-datadir=${datadir}  --with-separate-debug-dir=/usr/lib/debug    --without-libunwind-ia64 --without-expat ${PYTHON_CFG} --enable-tui --prefix=/usr/local  --mandir=/usr/local/man --infodir=/usr/local/info/ --build=${cfgarch}-portbld-freebsd${version} --disable-nls --disable-werror --disable-ld"

(cd $obj; env  CC="cc" CPP="cpp" CXX="c++"  CFLAGS="-pipe  -DRL_NO_COMPAT -Wno-unused-function -Wno-unused-variable ${EXTRA_CFLAGS} -g -DLIBICONV_PLUG -g -fno-strict-aliasing -std=gnu89" CPPFLAGS="-DLIBICONV_PLUG -I/usr/local/include" CXXFLAGS="-pipe -DRL_NO_COMPAT -Wno-unused-function -Wno-unused-variable ${EXTRA_CFLAGS} -g -DLIBICONV_PLUG -g -fno-strict-aliasing  -DLIBICONV_PLUG"  LDFLAGS=" -L/usr/local/lib" LIBS=""  INSTALL="/usr/bin/install -c "  INSTALL_DATA="install   -m 0644"  INSTALL_LIB="install    -m 444"  INSTALL_PROGRAM="install    -m 555"  INSTALL_SCRIPT="install   -m 555"  CONFIGURED_M4=m4 CONFIGURED_BISON=byacc  TMPDIR="/tmp" MAKE=gmake PYTHON="${PYTHON}" SHELL=/bin/sh CONFIG_SHELL=/bin/sh CONFIG_SITE=/usr/ports/Templates/config.site lt_cv_sys_max_cmd_len=262144 ../configure ${CONFIGURE_ARGS} )
