mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-03-19 15:50:25 +08:00
*** empty log message ***
This commit is contained in:
parent
23bd3ca76a
commit
7f28c91f91
14
ChangeLog
14
ChangeLog
@ -1,8 +1,22 @@
|
||||
Thu Aug 28 20:58:56 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
|
||||
|
||||
* ltmain.sh.in (echo): Change test to one that uses printf.
|
||||
This works on AIX, which has the same problems that Solaris does,
|
||||
but no working echo program.
|
||||
|
||||
Wed Aug 27 09:54:21 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
|
||||
|
||||
* ltmain.sh.in (link): Make sure that compile_command and
|
||||
finalize_command are always evaled. Quote any unknown linker
|
||||
flags we need to pass through.
|
||||
(compile): Use quoting for flags we pass.
|
||||
(echo): I hate Sun! The /usr/bin/echo on Solaris handles
|
||||
backslash sequences, which makes it impossible to do backslash
|
||||
quoting using echo and sed. So, we search for an echo that obeys
|
||||
the `echo '\t'` = '\t' equality. Then we use `$echo' everywhere
|
||||
in ltmain.sh.
|
||||
Put tabs back into the ${IFS= } sequences. Emacs untabify is
|
||||
libtool bane.
|
||||
|
||||
* ltconfig.in: Quote all variable values that may contain
|
||||
metacharacters creating the libtool script. This provides
|
||||
|
2
NEWS
2
NEWS
@ -5,6 +5,8 @@ New in 1.0b:
|
||||
* Suppress duplicate compiler output during `compile' mode.
|
||||
* New `execute' mode to support debugging uninstalled libtool
|
||||
libraries and executables.
|
||||
* New quoting code to robustly handle any metacharacters passed in
|
||||
arguments to libtool commands.
|
||||
* Deleted `dlname' mode. Dlopen applications should only use the
|
||||
runtime search method described in (libtool)Finding the dlname.
|
||||
* Experimental support for dynamically loaded modules, even on
|
||||
|
8
TODO
8
TODO
@ -1,6 +1,14 @@
|
||||
For next public release:
|
||||
************************
|
||||
|
||||
* #@%$ing SUN makes their Solaris /usr/bin/echo always interpret
|
||||
backslashes, so:
|
||||
var='\n'
|
||||
newvar=`echo "$var"`
|
||||
test "$var" = "$newvar"
|
||||
returns false. We need to detect this, and use the other
|
||||
echo (/usr/ucb/echo).
|
||||
|
||||
* Document `execute' mode, and the experimental nature of -dlopen and
|
||||
-dlpreopen.
|
||||
|
||||
|
458
ltmain.sh.in
458
ltmain.sh.in
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,13 @@
|
||||
Thu Aug 28 20:58:30 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
|
||||
|
||||
* quote.test (echo): Change test to version that uses printf.
|
||||
Be less strict about return results.
|
||||
|
||||
Wed Aug 27 23:22:06 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
|
||||
|
||||
* quote.test (echo): Add the test for a non-backslash-mangling
|
||||
echo.
|
||||
|
||||
Tue Aug 26 13:39:40 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
|
||||
|
||||
* quote.test: New torture test for libtool metacharacter quoting.
|
||||
|
@ -13,8 +13,34 @@ fi
|
||||
# Do the torture test.
|
||||
status=0
|
||||
|
||||
echo=echo
|
||||
if test X`$echo '\t'` = 'X\t'; then :
|
||||
else
|
||||
# The Solaris and AIX default echo program unquotes backslashes.
|
||||
# This makes it impossible to quote backslashes using
|
||||
# echo "$something" | sed 's/\\/\\\\/g'
|
||||
# So, we emulate echo with printf '%s\n'
|
||||
echo='printf %s\n'
|
||||
if test X`$echo '\t'` = 'X\t'; then :
|
||||
else
|
||||
# Oops. We have no working printf. Try to find a not-so-buggy echo.
|
||||
echo=echo
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
save_PATH="$PATH"
|
||||
PATH="$PATH":/usr/ucb
|
||||
for dir in $PATH; do
|
||||
if test -f $dir/echo && test X`$dir/echo '\t'` = 'X\t'; then
|
||||
echo="$dir/echo"
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
PATH="$save_PATH"
|
||||
fi
|
||||
fi
|
||||
|
||||
for mode in compile link install; do
|
||||
echo "= $mode mode"
|
||||
$echo "== $mode mode"
|
||||
|
||||
# Unfortunately, without an array data type, it is nearly impossible
|
||||
# to protect libtool from metacharacters in filenames. So, we just
|
||||
@ -42,28 +68,28 @@ for mode in compile link install; do
|
||||
esac
|
||||
|
||||
# Trivial.
|
||||
echo "TRYING: no quoting"
|
||||
$echo "= trying: no quoting"
|
||||
result=`$libtool -n --mode=$mode $preargs "${flag}test" $postargs` || status=1
|
||||
case "$result" in
|
||||
*"$preargs ${flag}test $postargs"*)
|
||||
echo "PASSED: $result"
|
||||
*"$preargs ${flag}test "*)
|
||||
$echo "= passed: $result"
|
||||
;;
|
||||
*)
|
||||
echo "FAILED: $result"
|
||||
$echo "= failed: $result"
|
||||
status=1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Metacharacters that should be backslashified.
|
||||
for mchar in \\ \" \$; do
|
||||
echo "TRYING: \\$mchar quoting"
|
||||
$echo "= trying: \\$mchar quoting"
|
||||
result=`$libtool -n --mode=$mode $preargs "${flag}${mchar}test${mchar}" $postargs` || status=1
|
||||
case "$result" in
|
||||
*"$preargs ${flag}\\${mchar}test\\${mchar} $postargs"*)
|
||||
echo "PASSED: $result"
|
||||
*"$preargs ${flag}\\${mchar}test\\${mchar} "*)
|
||||
$echo "= passed: $result"
|
||||
;;
|
||||
*)
|
||||
echo "FAILED: $result"
|
||||
$echo "= failed: $result"
|
||||
status=1
|
||||
;;
|
||||
esac
|
||||
@ -73,14 +99,14 @@ for mode in compile link install; do
|
||||
for mchar in "[" "]" "~" "#" "^" "&" "*" "(" ")" "{" "}" "|" ";" "<" ">" "?" \
|
||||
"'" " " " "; do
|
||||
|
||||
echo "TRYING: \"$mchar\" quoting"
|
||||
$echo "= trying: \"$mchar\" quoting"
|
||||
result=`$libtool -n --mode=$mode $preargs "${flag}${mchar}test${mchar}" $postargs` || status=1
|
||||
case "$result" in
|
||||
*"$preargs \"${flag}${mchar}test${mchar}\" $postargs"*)
|
||||
echo "PASSED: $result"
|
||||
*"$preargs \"${flag}${mchar}test${mchar}\" "*)
|
||||
$echo "= passed: $result"
|
||||
;;
|
||||
*)
|
||||
echo "FAILED: $result"
|
||||
$echo "= failed: $result"
|
||||
status=1
|
||||
;;
|
||||
esac
|
||||
|
Loading…
x
Reference in New Issue
Block a user