Allow special characters in source file names. Will break unless

`-o target' is also given, which must not contain special characters.
En passant, fix source file quoting broken for cygwin/MSVC.
This commit is contained in:
Per Bothner 2005-03-12 08:49:04 +00:00 committed by Ralf Wildenhues
parent c523f9b268
commit 85ad7692fb
3 changed files with 24 additions and 5 deletions

View File

@ -1,3 +1,15 @@
2005-03-06 Per Bothner <per@bothner.com>,
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Allow special characters in source file names. Will break unless
`-o target' is also given, which must not contain special characters.
En passant, fix source file quoting broken for cygwin/MSVC.
* ltmain.m4sh (func_mode_compile): Use new variable qsrcfile
for quoted source file name for compile $command. Fix missing
quotes for _c_o lockfile.
* NEWS: Update.
2005-03-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* config/ltmain.m4sh (func_mode_link): Reword double negation in

2
NEWS
View File

@ -8,6 +8,8 @@ New in 2.1b: 2005-??-??; CVS version 2.1a, Libtool team:
* Shell optimizations which break use of the stdin file descriptor in libtool.
* `libtoolize --install' now also installs `install-sh'.
* Support (mostly) for DragonFly BSD.
* Allow shell special characters like `$' in source file names, but not
in object names, to enhance GCJ support.
New in 1.9h: 2004-??-??; CVS version 1.9g, Libtool team:
* Libtool versions can now be parallel installed, except that only one

View File

@ -1249,6 +1249,9 @@ func_mode_compile ()
esac
done
func_quote_for_eval "$libobj"
test "X$libobj" != "X$func_quote_for_eval_result" \
&& func_fatal_error "libobj name \`$libobj' may not contain shell special characters."
func_basename "$obj"
objname="$func_basename_result"
func_dirname "$obj" "/" ""
@ -1315,12 +1318,14 @@ compiler."
$opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
$ECHO $srcfile > "$lockfile"
$ECHO "$srcfile" > "$lockfile"
fi
if test -n "$fix_srcfile_path"; then
eval srcfile=\"$fix_srcfile_path\"
fi
func_quote_for_eval "$srcfile"
qsrcfile=$func_quote_for_eval_result
$opt_dry_run || $RM "$libobj" "${libobj}T"
@ -1342,10 +1347,10 @@ EOF
fbsd_hideous_sh_bug=$base_compile
if test "$pic_mode" != no; then
command="$base_compile $srcfile $pic_flag"
command="$base_compile $qsrcfile $pic_flag"
else
# Don't build PIC code
command="$base_compile $srcfile"
command="$base_compile $qsrcfile"
fi
func_mkdir_p "$xdir$objdir"
@ -1409,9 +1414,9 @@ EOF
if test "$build_old_libs" = yes; then
if test "$pic_mode" != yes; then
# Don't build PIC code
command="$base_compile $srcfile"
command="$base_compile $qsrcfile"
else
command="$base_compile $srcfile $pic_flag"
command="$base_compile $qsrcfile $pic_flag"
fi
if test "$compiler_c_o" = yes; then
command="$command -o $obj"