libtool-commit
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]