+2005-03-15 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.in (compile mode): Use new variable qsrcfile
+ for quoted source file name for compile $command. Fix missing
+ quotes for _c_o lockfile.
+ * NEWS: Update.
+
2005-03-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [linux]: Remove MAIN_
NEWS - list of user-visible changes between releases of GNU Libtool
New in 1.5.15a: 2005-??-??; CVS version 1.5.15a, Libtool team:
+* Allow shell special characters like `$' in source file names, but not
+ in object names, to enhance GCJ support.
* Bug Fixes.
\f
New in 1.5.14: 2005-02-12; CVS version 1.5.13a, Libtool team:
esac
done
+ qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
+ case $qlibobj in
+ *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+ qlibobj="\"$qlibobj\"" ;;
+ esac
+ if test "X$libobj" != "X$qlibobj"; then
+ $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
+ exit $EXIT_FAILURE
+ fi
objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$obj"; then
$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
+ qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
+ case $qsrcfile in
+ *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+ qsrcfile="\"$qsrcfile\"" ;;
+ esac
$run $rm "$libobj" "${libobj}T"
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
if test ! -d "${xdir}$objdir"; then
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"