the list.
* ltcf-cxx.sh: Remove any residual `a.out' files resulting from
the "eval $output_verbose_link_cmds."
* ltconfig.in: Cleaned up nested quotes that were introduced with
the tags patch. This fixes part sh.test failure.
* ltmain.in: Check if "$run" is of zero length before creating a
`.lo' file. This fixes the dryrun.test failure.
Cleaned up nested quotes that were introduced with
the tags patch. This fixes another part sh.test failure.
Remove "$libobj" not "libobj."
Exit with an error if both $object_name and $old_object are set to
"none" in the corresponding `.lo' file. This should never happen.
Changed remaining uses of "mkdir" to "$mkdir."
Added dry run case to `.lo' case in link mode. This fixes the
link-2.test failure.
(object_name, old_object): Prepend the subdirectory the `.lo'
resides in to the object names extracted from the `.lo' file.
This fixes the build-relink2.test failure.
(tempemovelist): Use $echo "X..." instead of echo "..." since
$Xsed is being used. This fixes the last part of the sh.test
failure.
* tagdemo/Makefile.am, tagdemo/Makefile.in, tagdemo/README,
tagdemo/acinclude.m4, tagdemo/aclocal.m4, tagdemo/configure,
tagdemo/configure.in, tagdemo/foo.cpp, tagdemo/foo.h,
tagdemo/main.cpp, tests/tagdemo-conf.test tests/tagdemo-exec.test
tests/tagdemo-make.test tests/tagdemo-shared.test
tests/tagdemo-static.test: Added a new tagdemo that exercises
libtool's tagged configuration support found in the multilanguage
branch.
* tests/Makefile.am (TESTS): Added the tagdemo tests to the list.
* tests/quote.test: Updated to HEAD branch version. This fixes
the quote.test failure.
+2000-01-31 Ossama Othman <ossama@debian.org>
+
+ * configure.in (CONF_SUBDIRS): Added the `tagdemo' directory to
+ the list.
+ * ltcf-cxx.sh: Remove any residual `a.out' files resulting from
+ the "eval $output_verbose_link_cmds."
+ * ltconfig.in: Cleaned up nested quotes that were introduced with
+ the tags patch. This fixes part sh.test failure.
+ * ltmain.in: Check if "$run" is of zero length before creating a
+ `.lo' file. This fixes the dryrun.test failure.
+ Cleaned up nested quotes that were introduced with
+ the tags patch. This fixes another part sh.test failure.
+ Remove "$libobj" not "libobj."
+ Exit with an error if both $object_name and $old_object are set to
+ "none" in the corresponding `.lo' file. This should never happen.
+ Changed remaining uses of "mkdir" to "$mkdir."
+ Added dry run case to `.lo' case in link mode. This fixes the
+ link-2.test failure.
+ (object_name, old_object): Prepend the subdirectory the `.lo'
+ resides in to the object names extracted from the `.lo' file.
+ This fixes the build-relink2.test failure.
+ (tempemovelist): Use $echo "X..." instead of echo "..." since
+ $Xsed is being used. This fixes the last part of the sh.test
+ failure.
+ * tagdemo/Makefile.am, tagdemo/Makefile.in, tagdemo/README,
+ tagdemo/acinclude.m4, tagdemo/aclocal.m4, tagdemo/configure,
+ tagdemo/configure.in, tagdemo/foo.cpp, tagdemo/foo.h,
+ tagdemo/main.cpp, tests/tagdemo-conf.test tests/tagdemo-exec.test
+ tests/tagdemo-make.test tests/tagdemo-shared.test
+ tests/tagdemo-static.test: Added a new tagdemo that exercises
+ libtool's tagged configuration support found in the multilanguage
+ branch.
+ * tests/Makefile.am (TESTS): Added the tagdemo tests to the list.
+ * tests/quote.test: Updated to HEAD branch version. This fixes
+ the quote.test failure.
+
2000-01-31 Ossama Othman <ossama@debian.org>
* ltconfig.in (compile_c_lo): Removed the test that checks if
dnl all subdirectories that are configured on demand, but that must be
dnl included in the distribution
-CONF_SUBDIRS="cdemo demo depdemo mdemo"
+CONF_SUBDIRS="cdemo demo depdemo mdemo tagdemo"
AC_SUBST(CONF_SUBDIRS)
ACINCLUDE_M4_LIST="${srcdir}/acinclude.m4 ${srcdir}/libltdl/acinclude.m4 "
*) ;; # Ignore the rest.
esac
done
+
+ # Clean up.
+ rm -f a.out
else
echo "ltcf-cxx.sh: error: problem compiling test program"
fi
fi
if test -z "$LTCC"; then
- eval "`\"$SHELL\" \"$ofile\" --config | grep '^LTCC='`"
+ eval "`$SHELL $ofile --config | grep '^LTCC='`"
if test -z "$LTCC"; then
echo "$progname: warning: output file \`$ofile' does not look like a libtool script" 1>&2
else
if grep "^### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then
taglist="$taglist $tagname"
# Evaluate the configuration.
- eval "`sed -n -e '/^### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^### END LIBTOOL TAG CONFIG: '$tagname'$/p' < \"$0\"`"
+ eval "`sed -n -e '/^### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`"
else
echo "$progname: ignoring unknown tag $tagname" 1>&2
fi
eval srcfile=\"$fix_srcfile_path\"
fi
- $run $rm "libobj"
+ $run $rm "$libobj"
- # Create a libtool object file (analogous to a `.la' file)
- cat > $libobj <<EOF
+ # Create a libtool object file (analogous to a `.la' file),
+ # but don't create it if we're doing a dry run.
+ test -z "$run" && cat > $libobj <<EOF
# $libobj - a libtool object file
# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
#
$run $rm "$output_obj"
# Append the name of the PIC object to the libtool object file.
- cat >> $libobj <<EOF
+ test -z "$run" && cat >> $libobj <<EOF
object_name='$output_obj'
EOF
else
# No PIC object so indicate it doesn't exist in the libtool
# object file.
- cat >> $libobj <<EOF
+ test -z "$run" && cat >> $libobj <<EOF
object_name=none
EOF
# Append the name of the non-PIC object the libtool object file.
# Only append if the libtool object file exists.
- cat >> $libobj <<EOF
+ test -z "$run" && cat >> $libobj <<EOF
# Name of the non-PIC object.
old_object='$obj'
else
# Append the name of the non-PIC object the libtool object file.
# Only append if the libtool object file exists.
- cat >> $libobj <<EOF
+ test -z "$run" && cat >> $libobj <<EOF
# Name of the non-PIC object.
old_object=none
*) . ./$arg ;;
esac
- if test -z "$object_name" || test -z "$old_object"; then
+ if test -z "$object_name" || \
+ test -z "$old_object" ||
+ test "$object_name" = none && \
+ test "$old_object" = none; then
$echo "$modename: cannot find name of object for \`$arg'" 1>&2
exit 1
fi
+ # Extract subdirectory from the argument.
+ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$arg"; then
+ xdir=
+ else
+ xdir="$xdir/"
+ fi
+
if test "$object_name" != none; then
+ # Prepend the subdirectory the object is found in.
+ object_name="$xdir$object_name"
+
if test "$prev" = dlfiles; then
dlfiles="$dlfiles $object_name"
if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then
# Non-PIC object.
if test "$old_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ old_object="$xdir$old_object"
+
# A standard non-PIC object
old_objects="$old_objects $old_object"
fi
else
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit 1
+ # Only an error if not doing a dry-run.
+ if test -z "$run"; then
+ $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+ exit 1
+ else
+ # Dry-run case.
+
+ # Extract subdirectory from the argument.
+ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$arg"; then
+ xdir=
+ else
+ xdir="$xdir/"
+ fi
+
+ object_name=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+ old_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+ libobjs="$libobjs $object_name"
+ old_objects="$old_objects $old_object"
+ fi
fi
;;
# Remove our outputs, but don't remove object files since they
# may have been created when compiling PIC objects.
removelist=
- tempremovelist=`echo $output_objdir/* | $Xsed -e "s/.*\.$objext//"`
+ tempremovelist=`echo "$output_objdir/*"`
for p in $tempremovelist; do
case "$p" in
+ *.$objext)
+ ;;
$output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
removelist="$removelist $p"
;;
gentop="$output_objdir/${outputname}x"
$show "${rm}r $gentop"
$run ${rm}r "$gentop"
- $show "mkdir $gentop"
- $run mkdir "$gentop"
+ $show "$mkdir $gentop"
+ $run $mkdir "$gentop"
status=$?
if test $status -ne 0 && test ! -d "$gentop"; then
exit $status
$show "${rm}r $xdir"
$run ${rm}r "$xdir"
- $show "mkdir $xdir"
- $run mkdir "$xdir"
+ $show "$mkdir $xdir"
+ $run $mkdir "$xdir"
status=$?
if test $status -ne 0 && test ! -d "$xdir"; then
exit $status
gentop="$output_objdir/${obj}x"
$show "${rm}r $gentop"
$run ${rm}r "$gentop"
- $show "mkdir $gentop"
- $run mkdir "$gentop"
+ $show "$mkdir $gentop"
+ $run $mkdir "$gentop"
status=$?
if test $status -ne 0 && test ! -d "$gentop"; then
exit $status
$show "${rm}r $xdir"
$run ${rm}r "$xdir"
- $show "mkdir $xdir"
- $run mkdir "$xdir"
+ $show "$mkdir $xdir"
+ $run $mkdir "$xdir"
status=$?
if test $status -ne 0 && test ! -d "$xdir"; then
exit $status
gentop="$output_objdir/${outputname}x"
$show "${rm}r $gentop"
$run ${rm}r "$gentop"
- $show "mkdir $gentop"
- $run mkdir "$gentop"
+ $show "$mkdir $gentop"
+ $run $mkdir "$gentop"
status=$?
if test $status -ne 0 && test ! -d "$gentop"; then
exit $status
$show "${rm}r $xdir"
$run ${rm}r "$xdir"
- $show "mkdir $xdir"
- $run mkdir "$xdir"
+ $show "$mkdir $xdir"
+ $run $mkdir "$xdir"
status=$?
if test $status -ne 0 && test ! -d "$xdir"; then
exit $status
mdemo-shared.test mdemo-make.test mdemo-exec.test \
mdemo-inst.test mdemo-unst.test \
assign.test link.test link-2.test nomode.test \
- quote.test sh.test suffix.test
+ quote.test sh.test suffix.test \
+ tagdemo-static.test tagdemo-make.test tagdemo-exec.test \
+ tagdemo-conf.test tagdemo-make.test tagdemo-exec.test \
+ tagdemo-shared.test tagdemo-make.test tagdemo-exec.test
demo-conf.test: $(top_builddir)/libtool
-test -f ../demo/Makefile && cd ../demo && $(MAKE) distclean
-test -f ../depdemo/Makefile && cd ../depdemo && $(MAKE) distclean
-test -f ../mdemo/Makefile && cd ../mdemo && $(MAKE) distclean
+ -test -f ../tagdemo/Makefile && cd ../mdemo && $(MAKE) distclean
rm -rf _inst
case "$mode" in
compile)
preargs="gcc -c"
+ preflag=
flag="-DVAR="
postargs="foo.c"
;;
link)
preargs="gcc -o hell -g -O"
- flag="-Wl,-someflag="
+ preflag=-Wl,
+ flag="-someflag="
postargs="foo.o"
;;
install)
preargs="install -c"
+ preflag=
flag="--something="
postargs="hell /usr/local/bin/hell"
;;
# Trivial.
$echo "= trying: no quoting"
- result=`$libtool -n --mode=$mode $preargs "${flag}test" $postargs` || status=1
+ result=`$libtool -n --mode=$mode $preargs ${preflag}"${flag}test" $postargs` || status=1
case "$result" in
- *"$preargs ${flag}test "*)
+ *"$preargs ${preflag}${flag}test "*)
$echo "= passed: $result"
;;
*)
# Metacharacters that should be backslashified.
for mchar in \\ \" \` \$; do
$echo "= trying: \\$mchar quoting"
- result=`$libtool -n --mode=$mode $preargs "${flag}${mchar}test${mchar}" $postargs` || status=1
+ result=`$libtool -n --mode=$mode $preargs ${preflag}"${flag}${mchar}test${mchar}" $postargs` || status=1
case "$result" in
- *"$preargs ${flag}\\${mchar}test\\${mchar} "*)
+ *"$preargs ${preflag}${flag}\\${mchar}test\\${mchar} "*)
$echo "= passed: $result"
;;
*)
"'" " " " "; do
$echo "= trying: \"$mchar\" quoting"
- result=`$libtool -n --mode=$mode $preargs "${flag}${mchar}test${mchar}" $postargs` || status=1
+ result=`$libtool -n --mode=$mode $preargs ${preflag}"${flag}${mchar}test${mchar}" $postargs` || status=1
case "$result" in
- *"$preargs \"${flag}${mchar}test${mchar}\" "*)
+ *"$preargs ${preflag}\"${flag}${mchar}test${mchar}\" "*)
$echo "= passed: $result"
;;
*)
--- /dev/null
+#! /bin/sh
+# tagdemo-conf.test - try configuring the ../tagdemo subdirectory
+
+# Test script header.
+need_prefix=yes
+if test -z "$srcdir"; then
+ srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
+ test "$srcdir" = "$0" && srcdir=.
+ test "${VERBOSE+set}" != "set" && VERBOSE=yes
+fi
+. $srcdir/defs || exit 1
+
+# Maybe we have a VPATH build, in which case, create a new subdir.
+test -d ../tagdemo || mkdir ../tagdemo
+
+# Change to our build directory.
+cd ../tagdemo || exit 1
+
+# Possibly clean up the distribution.
+if test -f Makefile; then
+ echo "= Running $make distclean in ../tagdemo"
+ $make distclean
+fi
+rm -f config.cache
+
+# Configure the demonstration.
+echo "= Configuring in ../tagdemo (prefix=$prefix)"
+CONFIG_SITE=/dev/null ${CONFIG_SHELL-/bin/sh} $srcdir/../tagdemo/configure --srcdir=$srcdir/../tagdemo --prefix=$prefix || exit 1
+
+if egrep '^build_old_libs=yes' libtool > /dev/null &&
+ egrep '^build_libtool_libs=yes' libtool > /dev/null; then :
+else rm -f Makefile && exit 77
+fi
+
+exit 0
--- /dev/null
+#! /bin/sh
+# tagdemo-exec.test - check that programs in the ../tagdemo subdirectory are viable
+
+# Test script header.
+need_prefix=no
+if test -z "$srcdir"; then
+ srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
+ test "$srcdir" = "$0" && srcdir=.
+ test "${VERBOSE+set}" != "set" && VERBOSE=yes
+fi
+. $srcdir/defs || exit 1
+
+if test -f ../tagdemo/tagdemo; then :
+else
+ echo "You must run tagdemo-make.test before running $0" 1>&2
+ exit 77
+fi
+
+# Check to see if the programs really run.
+echo "Executing uninstalled programs in ../tagdemo"
+
+if ../tagdemo/tagdemo; then :
+else
+ echo "$0: cannot execute ../tagdemo/tagdemo" 1>&2
+ status=1
+fi
+
+exit $status
--- /dev/null
+#! /bin/sh
+# tagdemo-make.test - try building in the ../tagdemo subdirectory
+
+# Test script header.
+need_prefix=no
+if test -z "$srcdir"; then
+ srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
+ test "$srcdir" = "$0" && srcdir=.
+ test "${VERBOSE+set}" != "set" && VERBOSE=yes
+fi
+. $srcdir/defs || exit 1
+
+if test -f ../tagdemo/Makefile; then :
+else
+ echo "You must run tagdemo-conf.test before running $0" 1>&2
+ exit 77
+fi
+
+# Change to our build directory.
+cd ../tagdemo || exit 1
+
+# Do the actual build.
+echo "Making in ../tagdemo"
+$make || exit 1
+exit 0
--- /dev/null
+#! /bin/sh
+# tagdemo-conf.test - try configuring the ../tagdemo subdirectory
+
+# Test script header.
+need_prefix=yes
+if test -z "$srcdir"; then
+ srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
+ test "$srcdir" = "$0" && srcdir=.
+ test "${VERBOSE+set}" != "set" && VERBOSE=yes
+fi
+. $srcdir/defs || exit 1
+
+# Maybe we have a VPATH build, in which case, create a new subdir.
+test -d ../tagdemo || mkdir ../tagdemo
+
+# Change to our build directory.
+cd ../tagdemo || exit 1
+
+# Possibly clean up the distribution.
+if test -f Makefile; then
+ echo "= Running $make distclean in ../tagdemo"
+ $make distclean
+fi
+rm -f config.cache
+
+# Configure the demonstration.
+echo "= Configuring in ../tagdemo (prefix=$prefix) with --disable-static"
+CONFIG_SITE=/dev/null ${CONFIG_SHELL-/bin/sh} $srcdir/../tagdemo/configure --srcdir=$srcdir/../tagdemo --prefix=$prefix --disable-static || exit 1
+
+if egrep '^build_old_libs=no' libtool > /dev/null &&
+ egrep '^build_libtool_libs=yes' libtool > /dev/null; then :
+else rm -f Makefile && exit 77
+fi
+
+exit 0
--- /dev/null
+#! /bin/sh
+# tagdemo-conf.test - try configuring the ../tagdemo subdirectory
+
+# Test script header.
+need_prefix=yes
+if test -z "$srcdir"; then
+ srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
+ test "$srcdir" = "$0" && srcdir=.
+ test "${VERBOSE+set}" != "set" && VERBOSE=yes
+fi
+. $srcdir/defs || exit 1
+
+# Maybe we have a VPATH build, in which case, create a new subdir.
+test -d ../tagdemo || mkdir ../tagdemo
+
+# Change to our build directory.
+cd ../tagdemo || exit 1
+
+# Possibly clean up the distribution.
+if test -f Makefile; then
+ echo "= Running $make distclean in ../tagdemo"
+ $make distclean
+fi
+rm -f config.cache
+
+# Configure the demonstration.
+echo "= Configuring in ../tagdemo (prefix=$prefix) with --disable-shared"
+CONFIG_SITE=/dev/null ${CONFIG_SHELL-/bin/sh} $srcdir/../tagdemo/configure --srcdir=$srcdir/../tagdemo --prefix=$prefix --disable-shared || exit 1
+
+if egrep '^build_old_libs=yes' libtool > /dev/null &&
+ egrep '^build_libtool_libs=no' libtool > /dev/null; then :
+else rm -f Makefile && exit 77
+fi
+
+exit 0