1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361
|
m4_define([_m4_divert(SCRIPT)], 100)
m4_divert_push([SCRIPT])# @configure_input@
# defs -- Defines for Libtool testing environment.
#
# Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software
# Foundation, Inc.
# Written by Gord Matzigkeit, 1996
# Rewritten by Gary V. Vaughan, 2003
#
# This file is part of GNU Libtool.
#
# GNU Libtool 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.
#
# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
# or obtained by writing to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
####
AS_SHELL_SANITIZE
$as_unset CDPATH
m4_include([general.m4sh])
M4SH_VERBATIM([[
: ${AUTOCONF="autoconf"}
: ${AUTORECONF="autoreconf"}
: ${LIBTOOL="./libtool"}
# Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed="$SED -e 1s/^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
if test -z "$my_regex"; then
my_regex="^("
my_build_regex=:
else
my_build_regex=false
fi
my_first=:
for my_varname in $my_varname_list; do
if $my_build_regex; then
$my_first || my_regex="$my_regex|"
my_first=false
my_regex="$my_regex$my_varname"
fi
eval $my_varname=NONE
done
$my_build_regex && my_regex="$my_regex)="
eval `eval "$my_src" | eval "$EGREP \"$my_regex\""`
for my_varname in $my_varname_list; do
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 some variables from the libtool configuration.
func_get_config "objext
objdir
CC
host
host_alias
build
build_alias" "$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_nofail [args ...]
# Configure the demonstration.
func_configure_nofail ()
{
$opt_debug
my_args=${1+"$@"}
my_dir=`pwd | $SED "$basename"`
my_testdir="$srcdir/tests/$my_dir"
conf_status=$EXIT_FAILURE
test -n "$my_args" && my_args=" $my_args"
my_args="--srcdir="\""$my_testdir"\"" --prefix="\""$prefix"\""$my_args"
test -n "$host_alias" && my_args="$my_args --host=\"$host_alias\""
test -n "$build_alias" && my_args="$my_args --build=\"$build_alias\""
func_msg "Configuring in $my_dir"
test -f "$my_testdir/configure" || ${AUTORECONF} --force --install $my_testdir
if test -f "$my_testdir/configure"; then
eval func_msg $SHELL "$my_testdir/configure" $my_args
if eval $SHELL "$my_testdir/configure" $my_args; then
conf_status=$EXIT_SUCCESS
else
func_msg "FAILED: Configuring in $my_testdir"
ls -ltr $my_testdir
fi
fi
}
# func_configure [args ...]
# Configure the demonstration, fail on error.
func_configure ()
{
func_configure_nofail ${1+"$@"}
if test "$conf_status" -eq "$EXIT_FAILURE"; then
exit $EXIT_FAILURE
fi
}
# 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`
m4dir=$srcdir/libltdl/m4
auxdir=$srcdir/libltdl/config
scripts="$auxdir/ltmain.sh ./libtoolize"
func_msg "Running $progname"
# Local Variables:
# mode:shell-script
# sh-indentation:2
# End:
]])
|