fi
if [[ -n "$OLD_PREFIX" ]]; then
- CONFIGURE_ARG=$OLD_PREFIX
+ PREFIX_ARG=$OLD_PREFIX
fi
if [[ -n "$OLD_MAKE" ]]; then
export -n CC CXX
}
-function push_PREFIX_ARG ()
-{
- if [[ -n "$OLD_PREFIX_ARG" ]]; then
- die "OLD_PREFIX_ARG was set on push, programmer error!"
- fi
-
- if [[ -n "$PREFIX_ARG" ]]; then
- OLD_PREFIX_ARG=$PREFIX_ARG
- PREFIX_ARG=
- fi
-
- if [[ -n "$1" ]]; then
- PREFIX_ARG="--prefix=$1"
- fi
-}
-
-function pop_PREFIX_ARG ()
-{
- if [[ -n "$OLD_PREFIX_ARG" ]]; then
- PREFIX_ARG=$OLD_PREFIX_ARG
- OLD_PREFIX_ARG=
- else
- PREFIX_ARG=
- fi
-}
-
-function push_TESTS_ENVIRONMENT ()
-{
- if [[ -n "$OLD_TESTS_ENVIRONMENT" ]]; then
- die "OLD_TESTS_ENVIRONMENT was set on push, programmer error!"
- fi
-
- if [[ -n "$TESTS_ENVIRONMENT" ]]; then
- OLD_TESTS_ENVIRONMENT=$TESTS_ENVIRONMENT
- TESTS_ENVIRONMENT=
- fi
-}
-
-function pop_TESTS_ENVIRONMENT ()
-{
- TESTS_ENVIRONMENT=
- if [[ -n "$OLD_TESTS_ENVIRONMENT" ]]; then
- TESTS_ENVIRONMENT=$OLD_TESTS_ENVIRONMENT
- OLD_TESTS_ENVIRONMENT=
- fi
-}
-
function safe_pushd ()
{
pushd $1 &> /dev/null ;
return 1
fi
+ save_BUILD
+
# If we are required to run configure, do so now
run_configure_if_required
- push_TESTS_ENVIRONMENT
-
# If we don't have a configure, then most likely we will be missing libtool
assert_file 'configure'
if [[ -f 'libtool' ]]; then
make_target 'check' || return 1
- pop_TESTS_ENVIRONMENT
+ restore_BUILD
}
function make_install_system ()
{
local INSTALL_LOCATION=$(mktemp -d /tmp/XXXXXXXXXX)
- push_PREFIX_ARG $INSTALL_LOCATION
+
+ save_BUILD
+ PREFIX_ARG="--prefix=$INSTALL_LOCATION"
if [ ! -d $INSTALL_LOCATION ] ; then
die "ASSERT temp directory not found '$INSTALL_LOCATION'"
run_configure #install_buid_dir
- push_TESTS_ENVIRONMENT
-
make_target 'install'
make_target 'installcheck'
make_target 'uninstall'
- pop_TESTS_ENVIRONMENT
- pop_PREFIX_ARG
-
rm -r -f $INSTALL_LOCATION
make 'distclean'
die "ASSERT Makefile should not exist"
fi
+ restore_BUILD
safe_popd
}
function make_gdb ()
{
+ save_BUILD
+
if command_exists 'gdb'; then
run_configure_if_required
- push_TESTS_ENVIRONMENT
-
# Set ENV GDB_COMMAND
if [[ -z "$GDB_COMMAND" ]]; then
setup_gdb_command
rm 'gdb.txt'
fi
- pop_TESTS_ENVIRONMENT
-
if [ -f '.gdb_history' ]; then
rm '.gdb_history'
fi
echo 'gdb was not present'
return 1
fi
+
+ restore_BUILD
}
# $1 target to compile
;;
h) # help
echo "bootstrap.sh [options] optional_target ..."
+ echo " -a # Just run autoreconf";
+ echo " -p # Print ENV";
+ echo " -c # Just run configure";
+ echo " -m # Just run maintainer-clean";
+ echo " -t # Make target";
+ echo " -d # Enable debug";
+ echo " -h # Show help";
+ echo " -v # Be more verbose in output";
exit
;;
v) # verbose
if [[ -z "$BOOTSTRAP_LIBTOOLIZE" ]]; then
echo "Couldn't find user supplied libtoolize, it is required"
+ return 1
fi
else
# If we are using OSX, we first check to see glibtoolize is available
if [[ -z "$BOOTSTRAP_LIBTOOLIZE" ]]; then
echo "Couldn't find glibtoolize, it is required on OSX"
+ return 1
fi
else
BOOTSTRAP_LIBTOOLIZE=`type -p libtoolize`
if [[ -z "$BOOTSTRAP_LIBTOOLIZE" ]]; then
echo "Couldn't find libtoolize, it is required"
+ return 1
fi
fi
fi
echo 'BOOTSTRAP ENV'
echo "AUTORECONF=$AUTORECONF"
echo "HOST_OS=$HOST_OS"
+ echo "VENDOR=$VENDOR"
+ echo "VENDOR_DISTRIBUTION=$VENDOR_DISTRIBUTION"
+ echo "VENDOR_RELEASE=$VENDOR_RELEASE"
echo "getopt()"
if $AUTORECONF_OPTION; then
# Set up whatever we need to do to use autoreconf later
require_libtoolise
- autoreconf_setup
+ if ! autoreconf_setup; then
+ return 1
+ fi
if [ -z "$MAKE_TARGET" ]; then
MAKE_TARGET="make_default"
# Set ENV PREFIX in order to set --prefix for ./configure
if [[ -n "$PREFIX" ]]; then
- push_PREFIX_ARG $PREFIX
+ PREFIX_ARG="--prefix=$PREFIX"
fi
# We should always have a target by this point
export AUTOM4TE
export AUTOMAKE
export AUTORECONF
+export CONFIGURE_ARG
export DEBUG
export GNU_BUILD_FLAGS
export LIBTOOLIZE
export LIBTOOLIZE_OPTIONS
export MAKE
+export PREFIX_ARG
export TESTS_ENVIRONMENT
export VERBOSE
export WARNINGS