* config/ltmain.m4sh (func_mode_link), tests/objectlist.test:

Make sure the argument to `-objectlist' may contain spaces.
This commit is contained in:
Ralf Wildenhues 2004-11-22 15:43:44 +00:00
parent 83eaf5a14d
commit 3e437f3043
5 changed files with 26 additions and 9 deletions

View File

@ -1,3 +1,8 @@
2004-11-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* config/ltmain.m4sh (func_mode_link), tests/objectlist.test:
Make sure the argument to `-objectlist' may contain spaces.
2004-11-19 Gary V. Vaughan <gary@gnu.org>
* config/m4general.m4sh, config/mailnotify.m4sh,

View File

@ -2292,7 +2292,7 @@ func_mode_link ()
if test -f "$arg"; then
save_arg=$arg
moreargs=
for fil in `cat $save_arg`
for fil in `cat "$save_arg"`
do
# moreargs="$moreargs $fil"
arg=$fil

6
m4/libtool.m4 vendored
View File

@ -4120,11 +4120,11 @@ _LT_EOF
;;
solaris*)
_LT_TAGVAR(no_undefined_flag, $1)=' -z text'
_LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
if test "$GCC" = yes; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -z text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$ECHO "local: *; };" >> $lib.exp~
$CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
$CC -shared -z text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)

View File

@ -27,6 +27,9 @@ case "$host" in
hppa*|x86_64*|s390*)
func_skip "$host doesn't like non-PIC shared libs"
;;
*-solaris*|*-sunos*)
func_skip "libtool does not build non-PIC shared libs on $host_os"
;;
esac
func_rmprefixdir

View File

@ -1,6 +1,6 @@
#! /bin/sh
# objectlist.test - make sure that a nonexisting objectlist file is
# properly mentioned
# properly mentioned and that the argument may contain spaces.
# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
@ -28,10 +28,19 @@
linkresult=`$LIBTOOL -n --mode=link $CC -objectlist nonexistant 2>&1`
test $? -eq 0 && exit $EXIT_FAILURE
echo ".$linkresult."
echo "$linkresult" | ${EGREP} "nonexistant" >/dev/null 2>&1 && {
func_msg "$progname: error message contains -objectlist argument as expected"
exit $EXIT_SUCCESS
}
} || exit $EXIT_FAILURE
exit $EXIT_FAILURE
objlist="object list with spaces"
: > "$objlist"
linkresult=`$LIBTOOL -n --mode=link $CC -o a.out -objectlist "$objlist" 2>&1`
rm -f "$objlist"
echo "$linkresult" | ${EGREP} "spaces" >/dev/null 2>&1 && {
func_msg "$progname: -objectlist with spaces in filename not recognized."
exit $EXIT_FAILURE
}
exit $EXIT_SUCCESS