--- libltdl/m4/libtool.m4 | 33 +++++++++++++++++++++++++++++---- 1 files changed, 29 insertions(+), 4 deletions(-)
This patch is needed so that patch 8/9 (Paolo's 8/8) will work. With the recent change to how XSI override functions are replaced, you can't rely on those functions being present in the configure script as well as in the libtool script. So, since Paolo's patch causes func_stripname to be used in the configure script (when configuring cross only), this fix takes the simplistic approach of providing a similar, but differently named, function for func_stripname for the use of configure itself. The implementation is taken from the non-XSI libtool version. diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4 index c24d0f7..b16491d 100644 --- a/libltdl/m4/libtool.m4 +++ b/libltdl/m4/libtool.m4 @@ -6705,6 +6705,30 @@ AC_LANG_POP ])# _LT_LANG_CXX_CONFIG +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# # +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +# func_strip_suffix prefix name +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose @@ -6713,6 +6737,7 @@ AC_LANG_POP # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= @@ -6787,12 +6812,12 @@ if AC_TRY_EVAL(ac_compile); then # Expand the sysroot to ease extracting the directories later. case $p in - -L*) func_stripname '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac case $p in - =*) func_stripname '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test "$pre_test_object_deps_done" = no; then case ${prev} in -- 1.7.1