[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Libtool branch, master, updated. v2.2.10-158-gd243a1e
From: |
Peter Rosin |
Subject: |
[SCM] GNU Libtool branch, master, updated. v2.2.10-158-gd243a1e |
Date: |
Mon, 06 Sep 2010 08:42:59 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".
The branch, master has been updated
via d243a1ec536d9e154c6dfca271352fe991d854c2 (commit)
via 742873613de1d661db060d4124438cf937832202 (commit)
via 4dcbe4358349feeab91ac386047840c86a0009c2 (commit)
via 375a576d095b69bfeb11d5b560201d65ce70e132 (commit)
from 0f052db3b89835904b95d8336b2491e7b8eef8f7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d243a1ec536d9e154c6dfca271352fe991d854c2
Author: Peter Rosin <address@hidden>
Date: Mon Sep 6 10:40:25 2010 +0200
Use func_to_tool_file instead of fix_srcfile_path.
* libltdl/config/ltmain.m4sh (func_mode_compile): Replace the
fix_srcfile_path hook with a call to func_to_tool_file.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin,mingw,pw32]
[cegcc]: Drop fix_srcfile_path.
* doc/libtool.texi (libtool script contents): Likewise.
* NEWS: Mention that fix_srcfile_path has been replaced.
Signed-off-by: Peter Rosin <address@hidden>
commit 742873613de1d661db060d4124438cf937832202
Author: Peter Rosin <address@hidden>
Date: Mon Sep 6 10:39:10 2010 +0200
Convert file names to toolchain format in $NM and $AR @files.
* libltdl/config/ltmain.m4sh (func_mode_link): When listing
symbols and when creating archives using command files (or
response files), make sure that both the name of the command
file and the content are made up of file names in a format
appropriate for the tool. Fixes stresstest.at on MSYS when
run with low command line length.
Signed-off-by: Peter Rosin <address@hidden>
commit 4dcbe4358349feeab91ac386047840c86a0009c2
Author: Peter Rosin <address@hidden>
Date: Mon Sep 6 10:38:34 2010 +0200
Convert file names to toolchain format when linking.
* libltdl/config/ltmain.m4sh (func_mode_link): When exporting
symbols and when linking using command files (or response
files), make sure that both the name of the command file and
the content are made up of file names in a format appropriate
for the tool. Fixes problems in stresstest.at on MSYS when run
with low command line length.
Signed-off-by: Peter Rosin <address@hidden>
commit 375a576d095b69bfeb11d5b560201d65ce70e132
Author: Peter Rosin <address@hidden>
Date: Mon Sep 6 08:23:52 2010 +0200
Add file name conversion from $build to toolchain.
* configure.ac: Ensure to_tool_file_cmd is available to Makefile.
* libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): Add
cache variable lt_cv_to_tool_file_cmd that describes how to
convert file names from $build to toolchain format.
* libltdl/config/ltmain.m4sh (func_to_tool_file): New function
that utilizes the above.
* Makefile.am: Ensure to_tool_file_cmd is included in
TEST_ENVIRONMENT so that it is passed to (old testsuite) tests.
* testsuite.at: Ensure to_tool_file_cmd is passed as a variable
setting on the configure line for (new testsuite) tests.
* doc/libtool.texi (libtool script content): Update with
to_tool_file_cmd description.
(Cygwin to MinGW Cross): Update to mention lt_cv_to_tool_file_cmd.
Signed-off-by: Peter Rosin <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 41 +++++++++++++++++++++++++++++++++++++++++
Makefile.am | 3 ++-
NEWS | 2 ++
configure.ac | 1 +
doc/libtool.texi | 30 ++++++++++++++++++++++++------
libltdl/config/ltmain.m4sh | 40 ++++++++++++++++++++++++++++++----------
libltdl/m4/libtool.m4 | 23 +++++++++++++++++++----
tests/testsuite.at | 5 ++++-
8 files changed, 123 insertions(+), 22 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 448393f..f177fdc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,44 @@
+2010-09-06 Peter Rosin <address@hidden>
+
+ Use func_to_tool_file instead of fix_srcfile_path.
+ * libltdl/config/ltmain.m4sh (func_mode_compile): Replace the
+ fix_srcfile_path hook with a call to func_to_tool_file.
+ * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin,mingw,pw32]
+ [cegcc]: Drop fix_srcfile_path.
+ * doc/libtool.texi (libtool script contents): Likewise.
+ * NEWS: Mention that fix_srcfile_path has been replaced.
+
+ Convert file names to toolchain format in $NM and $AR @files.
+ * libltdl/config/ltmain.m4sh (func_mode_link): When listing
+ symbols and when creating archives using command files (or
+ response files), make sure that both the name of the command
+ file and the content are made up of file names in a format
+ appropriate for the tool. Fixes stresstest.at on MSYS when
+ run with low command line length.
+
+ Convert file names to toolchain format when linking.
+ * libltdl/config/ltmain.m4sh (func_mode_link): When exporting
+ symbols and when linking using command files (or response
+ files), make sure that both the name of the command file and
+ the content are made up of file names in a format appropriate
+ for the tool. Fixes problems in stresstest.at on MSYS when run
+ with low command line length.
+
+ Add file name conversion from $build to toolchain.
+ * configure.ac: Ensure to_tool_file_cmd is available to Makefile.
+ * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): Add
+ cache variable lt_cv_to_tool_file_cmd that describes how to
+ convert file names from $build to toolchain format.
+ * libltdl/config/ltmain.m4sh (func_to_tool_file): New function
+ that utilizes the above.
+ * Makefile.am: Ensure to_tool_file_cmd is included in
+ TEST_ENVIRONMENT so that it is passed to (old testsuite) tests.
+ * testsuite.at: Ensure to_tool_file_cmd is passed as a variable
+ setting on the configure line for (new testsuite) tests.
+ * doc/libtool.texi (libtool script content): Update with
+ to_tool_file_cmd description.
+ (Cygwin to MinGW Cross): Update to mention lt_cv_to_tool_file_cmd.
+
2010-09-02 Ralf Wildenhues <address@hidden>
tests: avoid spurious test failure due to library mode on HP-UX.
diff --git a/Makefile.am b/Makefile.am
index 48fbf73..dcd0876 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -518,7 +518,8 @@ TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)"
CFLAGS="$(CFLAGS)" \
F77="$(F77)" FFLAGS="$(FFLAGS)" \
FC="$(FC)" FCFLAGS="$(FCFLAGS)" \
GCJ="$(GCJ)" GCJFLAGS="$(GCJFLAGS)" \
- lt_cv_to_host_file_cmd="$(to_host_file_cmd)"
+ lt_cv_to_host_file_cmd="$(to_host_file_cmd)" \
+ lt_cv_to_tool_file_cmd="$(to_tool_file_cmd)"
BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir="$(abs_top_srcdir)" \
LIBTOOLIZE="$(abs_top_builddir)/libtoolize" \
diff --git a/NEWS b/NEWS
index 688bdca..8cf68b9 100644
--- a/NEWS
+++ b/NEWS
@@ -25,6 +25,8 @@ New in 2.2.12 2010-08-??: git version 2.2.11a, Libtool team:
- Autoconf 2.62 and Automake 1.11.1 or newer are now required for
bootstrapping Libtool. For using Libtool in your own projects,
Autoconf 2.59 and Automake 1.9.6 should still work.
+ - The fix_srcfile_path variable has been replaced by a more thorough
+ mechanism triggered by the to_tool_file_cmd variable.
* Changes in supported systems or compilers:
diff --git a/configure.ac b/configure.ac
index aaa946f..d36adde 100644
--- a/configure.ac
+++ b/configure.ac
@@ -203,6 +203,7 @@ LT_LANG(Windows Resource)
# Ensure the correct file name (and path) conversion function
# is available to the test suite.
AC_SUBST([to_host_file_cmd])dnl
+AC_SUBST([to_tool_file_cmd])dnl
## --------------------------- ##
## Work out which tests to run ##
diff --git a/doc/libtool.texi b/doc/libtool.texi
index 573536e..5a76e26 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -6230,6 +6230,16 @@ relative file names are used in the build system, and
non-Windows-supported
Unix idioms such as symlinks and mount points are avoided, this scenario should
work.
+If you must use absolute file names, you will have to force Libtool to convert
+file names for the toolchain in this case, by doing the following before you
+run configure:
+
address@hidden
address@hidden lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32}
address@hidden example
address@hidden lt_cv_to_tool_file_cmd
address@hidden func_convert_file_cygwin_to_w32
+
In the @emph{lying} Cygwin to MinGW cross compile case, you lie to the
build system:
@@ -6247,14 +6257,18 @@ running under @emph{Cygwin} and not MinGW. In this
case, libtool does
that you are performing a native MinGW build. However, as described in
(@pxref{Native MinGW File Name Conversion}), that scenario triggers an ``MSYS
to Windows'' file name conversion. This, of course, is the wrong conversion
-since we are actually running under Cygwin. To force the correct file name
-conversion in this situation, you should do the following @emph{before}
+since we are actually running under Cygwin. Also, the toolchain is expecting
+Windows file names (not Cygwin) but unless told so Libtool will feed Cygwin
+file names to the toolchain in this case. To force the correct file name
+conversions in this situation, you should do the following @emph{before}
running configure:
@example
@kbd{export lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32}
address@hidden lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32}
@end example
@cindex lt_cv_to_host_file_cmd
address@hidden lt_cv_to_tool_file_cmd
@cindex func_convert_file_cygwin_to_w32
Note that this relies on internal implementation details of libtool, and
@@ -6532,10 +6546,6 @@ specific directory.
Same as @code{finish_cmds}, except the commands are not displayed.
@end defvar
address@hidden fix_srcfile_path
-Expression to fix the shell variable @samp{$srcfile} for the compiler.
address@hidden defvar
-
@defvar global_symbol_pipe
A pipeline that takes the output of @code{NM}, and produces a listing of
raw symbols followed by their C names. For example:
@@ -6801,6 +6811,14 @@ Linker flag (passed through the C compiler) used to
generate thread-safe
libraries.
@end defvar
address@hidden to_tool_file_cmd
+If the toolchain is not native to the build system (e.g.@: if you are using
+some Unix to drive the scripting together with a Windows toolchain running
+in Wine) this variable describes how to convert file names from the format
+used by the build system to the format used by the toolchain. Normally set
+to @samp{func_convert_file_noop}.
address@hidden defvar
+
@defvar version_type
The library version numbering type. One of @samp{libtool},
@samp{freebsd-aout}, @samp{freebsd-elf}, @samp{irix}, @samp{linux},
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index c31f788..e5867b6 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -873,6 +873,18 @@ func_to_host_file ()
# end func_to_host_file
+# func_to_tool_file ARG
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result.
+func_to_tool_file ()
+{
+ $opt_debug
+ $to_tool_file_cmd "$1"
+ func_to_tool_file_result=$func_to_host_file_result
+}
+# end func_to_tool_file
+
+
# func_convert_file_noop ARG
# Copy ARG to func_to_host_file_result.
func_convert_file_noop ()
@@ -1364,9 +1376,8 @@ compiler."
func_append removelist " $lockfile"
trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
- if test -n "$fix_srcfile_path"; then
- eval srcfile=\"$fix_srcfile_path\"
- fi
+ func_to_tool_file "$srcfile"
+ srcfile=$func_to_tool_file_result
func_quote_for_eval "$srcfile"
qsrcfile=$func_quote_for_eval_result
@@ -7325,11 +7336,13 @@ EOF
save_libobjs=$libobjs
save_output=$output
output=${output_objdir}/${output_la}.nm
- libobjs=$nm_file_list_spec$output
+ func_to_tool_file "$output"
+ libobjs=$nm_file_list_spec$func_to_tool_file_result
func_append delfiles " $output"
func_verbose "creating $NM input file list: $output"
for obj in $save_libobjs; do
- $ECHO "$obj"
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
done > "$output"
eval cmd=\"$cmd1\"
func_show_eval "$cmd" 'exit $?'
@@ -7474,10 +7487,13 @@ EOF
echo 'INPUT (' > $output
for obj in $save_libobjs
do
- $ECHO "$obj" >> $output
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
done
echo ')' >> $output
func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$func_to_tool_file_result
elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" &&
test "X$file_list_spec" != X; then
output=${output_objdir}/${output_la}.lnk
func_verbose "creating linker input file list: $output"
@@ -7491,10 +7507,12 @@ EOF
fi
for obj
do
- $ECHO "$obj" >> $output
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
done
func_append delfiles " $output"
- output=$firstobj\"$file_list_spec$output\"
+ func_to_tool_file "$output"
+ output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
else
if test -n "$save_libobjs"; then
func_verbose "creating reloadable object files..."
@@ -8306,9 +8324,11 @@ EOF
func_verbose "using command file archive linking..."
for obj in $oldobjs
do
- $ECHO "$obj"
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
done > $output_objdir/$libname.libcmd
- oldobjs=" $archiver_list_spec$output_objdir/$libname.libcmd"
+ func_to_tool_file "$output_objdir/$libname.libcmd"
+ oldobjs=" $archiver_list_spec$func_to_tool_file_result"
cmds=$old_archive_cmds
else
# the command line is too long to link in one step, link in parts
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index 666130d..132dd2c 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -5036,7 +5036,6 @@ _LT_EOF
_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
# FIXME: Should let the user specify the lib program.
_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
- _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
;;
esac
@@ -5571,8 +5570,6 @@ _LT_TAGDECL([], [inherit_rpath], [0],
to runtime path list])
_LT_TAGDECL([], [link_all_deplibs], [0],
[Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [fix_srcfile_path], [1],
- [Fix the shell variable $srcfile for the compiler])
_LT_TAGDECL([], [always_export_symbols], [0],
[Set to "yes" if exported symbols are required])
_LT_TAGDECL([], [export_symbols_cmds], [2],
@@ -7718,5 +7715,23 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd
AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
[0], [convert $build file names to $host format])dnl
-])# _LT_PATH_CONVERSION_FUNCTIONS
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/tests/testsuite.at b/tests/testsuite.at
index c646c5d..ea13ec9 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -37,7 +37,7 @@ for tool in ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF;
do
done
export ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF
eval `$LIBTOOL --config | grep '^EGREP='`
-eval `$LIBTOOL --config | $EGREP
'^(host|host_os|host_alias|build|build_alias|to_host_file_cmd)='`
+eval `$LIBTOOL --config | $EGREP
'^(host|host_os|host_alias|build|build_alias|to_host_file_cmd|to_tool_file_cmd)='`
configure_options=--prefix=/nonexistent
if test -n "$host_alias"; then
configure_options="$configure_options --host $host_alias"
@@ -48,6 +48,9 @@ fi
if test -n "$to_host_file_cmd"; then
configure_options="$configure_options
lt_cv_to_host_file_cmd=$to_host_file_cmd"
fi
+if test -n "$to_tool_file_cmd"; then
+ configure_options="$configure_options
lt_cv_to_tool_file_cmd=$to_tool_file_cmd"
+fi
if (FOO=bar; unset FOO) >/dev/null 2>&1; then
unset=unset
else
hooks/post-receive
--
GNU Libtool
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Libtool branch, master, updated. v2.2.10-158-gd243a1e,
Peter Rosin <=