m4_define([_m4_divert(SCRIPT)], 100) m4_divert_push([SCRIPT])# @configure_input@ # defs -- Defines for Libtool testing environment. # Gord Matzigkeit , 1996 # Gary V. Vaughan , 2003 # Copyright (C) 2003, 2004 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, a copy can be downloaded from # http://www.gnu.org/copyleft/gpl.html, or by writing to the Free # Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, # MA 02111-1307, USA. AS_SHELL_SANITIZE $as_unset CDPATH m4_include([general.m4sh]) : ${AUTOCONF="autoconf"} : ${LIBTOOL="../libtool"} # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="$SED -e s/^X//" # Disable usage of config.site for autoconf, unless DJGPP is present. # The DJGPP port of autoconf requires config.site, to work correctly. if test -z "$DJGPP"; then CONFIG_SITE=/nonexistent fi # How verbose should we be? Default is no test output. # Setting VERBOSE=yes enables test output. # Setting VERBOSE=debug also puts the shell in debug mode. opt_debug=: test "${VERBOSE+set}" != "set" && VERBOSE=no case "$VERBOSE" in NO | no | 0 | "") exec > /dev/null 2>&1 ;; DEBUG | debug ) opt_debug='set -x' $opt_debug ;; esac if test -z "$srcdir"; then srcdir=`$ECHO "X$0" | $Xsed -e "$dirname"` test "$srcdir" = "$0" && srcdir=. fi # func_msg arg... # Echo message with prefix. func_msg () { func_echo "=== " ${1+"$@"} } # func_skip arg... # Echo message to standard error, and skip the rest of this test. func_skip () { func_error ${1+"$@"} exit $EXIT_SKIP } # func_fail arg... # Echo message to standard error, and fail this test. func_fail () { func_fatal_error ${1+"$@"} } # func_get_config varname_list src [failp] [regex] func_get_config () { $opt_debug my_varname_list="$1" my_src="$2" my_failp="false"; test -z "$3" || my_failp=: my_regex="$4" my_exitp=false for my_varname in $my_varname_list; do test -z "$4" && my_regex="^${my_varname}=" eval $my_varname=NONE eval `eval $my_src | eval $GREP \"$my_regex\"` if eval test x\"\$$my_varname\" = xNONE; then func_error "$my_varname not set in \`$my_src'" $my_failp && my_exitp=: fi done $my_exitp && exit $EXIT_FAILURE } # Extract objext from the libtool configuration func_get_config "objext" "$LIBTOOL --config" ": fatal" # Extract objdir from the libtool configuration func_get_config "objdir" "$LIBTOOL --config" ": fatal" # Extract CC from the libtool configuration func_get_config "CC" "$LIBTOOL --config" ": fatal" # Extract host from the libtool configuration func_get_config "host" "$LIBTOOL --config" ": fatal" # Extract build from the libtool configuration func_get_config "build" "$LIBTOOL --config" ": fatal" # func_mkprefixdir func_mkprefixdir () { $opt_debug # An absolute path to a test installation directory. func_mkdir_p "$prefix" prefix=`cd $prefix && pwd` } # func_rmprefixdir func_rmprefixdir () { $opt_debug test -d $prefix && rm -rf $prefix prefix=NONE } # func_cd dir # Make sure a directory exists, and then change to it. func_cd () { $opt_debug my_dir="$1" # Maybe we have a VPATH build, in which case, create a new subdir. func_mkdir_p "$my_dir" # Change to our build directory. cd "$my_dir" || func_fatal_error "couldn't cd to \`$my_dir'" } # func_require prereq file [...] # If FILE does not exist, give a fatal error regarding running PREREQ first. func_require () { $opt_debug my_prereq="$1"; shift my_files=${1+"$@"} for my_file in $my_files; do test -f "$my_file" \ || func_skip "You must run ${my_prereq}.test before running $0" done } # func_configure [args ...] # Configure the demonstration. func_configure () { $opt_debug my_args=${1+"$@"} my_dir=`pwd | $SED "$basename"` my_testdir="$srcdir/$my_dir" test -n "$my_args" && my_args=" $my_args" my_args="--srcdir="\""$my_testdir"\"" --prefix="\""$prefix"\""$my_args" test "$build" != "$host" && my_args="$my_args --host=\"$host\"" func_msg "Configuring in $my_dir" test -f "$my_testdir/configure" || autoreconf --force --install $my_testdir test -f "$my_testdir/configure" || exit $EXIT_FAILURE eval func_msg $SHELL "$my_testdir/configure" $my_args eval $SHELL "$my_testdir/configure" $my_args || \ { func_msg "FAILED: Configuring in $my_testdir" ls -ltr $my_testdir eval $SHELL -vx "$my_testdir/configure" $my_args; exit $EXIT_FAILURE; } } # func_check_static_shared staticp sharedp # Determine whether the generated libtool script is configured properly # for the expected STATICP and SHAREDP library building func_check_static_shared () { $opt_debug my_staticp="$1" my_sharedp="$2" if func_grep "^build_old_libs=$staticp" libtool && func_grep "^build_libtool_libs=$sharedp" libtool; then : else rm -f Makefile exit $EXIT_FAIL fi } # func_make [args ...] # Do the actual build. func_make () { $opt_debug my_args=${1+"$@"} my_dir=`pwd | $SED "$basename"` func_msg "Running \`$MAKE $my_args' in $my_dir" eval $MAKE $my_args || exit $EXIT_FAIL } # func_distclean # Possibly clean up the distribution. func_make_distclean () { $opt_debug if test -f Makefile; then func_make distclean fi rm -rf autom4te.cache config.cache } # func_make_uninstall # See that there were no files leftover in $prefix. # Ignore dotfiles, so that .nfsXXX files don't screw up the test. func_make_uninstall () { $opt_debug func_make uninstall leftovers=`find $prefix ! -type d ! -name '.*' -print` if test -n "$leftovers"; then func_msg "Leftover after make uninstall:" ls -l $leftovers exit 1 fi } # func_exec_init mode func_exec_init () { $opt_debug func_msg "Executing $1 programs in $my_dir" # Windows hosts search for dlls in the command path PATH=$prefix/lib:$PATH exec_status=$EXIT_SUCCESS } # func_exec_check program [msg ...] # Check to see if PROGRAM was built. If not display MSG. func_exec_check () { $opt_debug my_program="$1" if test -f "$my_program"; then : else shift func_error "$0: $my_program did not build ${1+$@}" exec_status=$EXIT_FAILURE fi } # func_exec program [exp_output] [msg ...] # Check to see if PROGRAM really runs, and produces EXP_OUTPUT if given. # If not display MSG. func_exec () { $opt_debug my_program="$1" my_exp_output="$2" my_dir=`pwd | $SED "$basename"` test -n "$my_exp_output" \ && my_exp_output="| $EGREP -e "\""$my_exp_output"\" if eval $my_program $my_exp_output; then : else shift test "x$1" = x || shift func_error "$0: cannot execute $my_program ${1+$@}" if test "$build" != "$host"; then func_msg "This may be ok since you seem to be cross-compiling." exec_status=$EXIT_SKIP else # Simple check to see if they are superuser. if test $exec_status = $EXIT_FAILURE || test -w /; then : else func_msg "You may need to run $0 as the superuser." fi exec_status=$EXIT_FAILURE fi fi } # Shared global variables for test scripts prefix="./_inst" srcdir=`cd $srcdir && pwd` scripts="$srcdir/../config/ltmain.sh ../libtoolize" func_msg "Running $progname" # Local Variables: # mode:shell-script # sh-indentation:2 # End: