>From 429a01a004b55c62a5782948283d3783da96f636 Mon Sep 17 00:00:00 2001 From: Peter Rosin Date: Sun, 5 Sep 2010 17:50:34 +0200 Subject: [PATCH 1/7] 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. Signed-off-by: Peter Rosin --- ChangeLog | 16 ++++++++++++++++ Makefile.am | 3 ++- configure.ac | 1 + doc/libtool.texi | 8 ++++++++ libltdl/config/ltmain.m4sh | 12 ++++++++++++ libltdl/m4/libtool.m4 | 20 +++++++++++++++++++- tests/testsuite.at | 5 ++++- 7 files changed, 62 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 448393f..a740192 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2010-09-05 Peter Rosin + + 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. + 2010-09-02 Ralf Wildenhues 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/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..0633a57 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -6801,6 +6801,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..2cccd47 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 () diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4 index 666130d..fa46813 100644 --- a/libltdl/m4/libtool.m4 +++ b/libltdl/m4/libtool.m4 @@ -7718,5 +7718,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 -- 1.7.1