From: Pavel Raiskup Date: Tue, 20 Jan 2015 15:35:11 +0000 (+0000) Subject: libtool.m4: typofix, subst last '$' with quadrigraph X-Git-Tag: v2.4.6~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=edb4ff8bb662849b7f51de9693caa32ae9a3f855;p=thirdparty%2Flibtool.git libtool.m4: typofix, subst last '$' with quadrigraph * m4/libtool.m4 (_LT_LIBTOOL_TAG_VARS): Encase the configure/libtool shared function into parseable borders; for testing purposes. (func_munge_path_list): Typo s/$/@S|@/. * tests/configure-funcs.at: New testcase. * Makefile.am (TESTSUITE_AT): Mention new testcase. * NEWS: Update. Signed-off-by: Gary V. Vaughan --- diff --git a/Makefile.am b/Makefile.am index 888f5cb0c..13dfc63a6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -652,6 +652,7 @@ testsuite = $(tests_dir)/testsuite # that it can check for previous failures and skip if necessary. TESTSUITE = tests/testsuite TESTSUITE_AT = tests/testsuite.at \ + tests/configure-funcs.at \ tests/libtoolize.at \ tests/libtool.at \ tests/demo.at \ diff --git a/NEWS b/NEWS index c58dd9bdd..c382c7025 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,8 @@ NEWS - list of user-visible changes between releases of GNU Libtool - Fix a race condition in ltdl dryrun test that would cause spurious random failures of that test. + - LT_SYS_SEARCHPATH is munged correctly. + * Noteworthy changes in release 2.4.5 (2015-01-19) [stable] diff --git a/m4/libtool.m4 b/m4/libtool.m4 index f796d7bcd..18d0193e1 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -748,13 +748,14 @@ _LT_LIBTOOL_TAG_VARS _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" -## -------------------------------------- ## -## Shell functions shared with configure. ## -## -------------------------------------- ## + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE _LT_PREPARE_MUNGE_PATH_LIST _LT_PREPARE_CC_BASENAME +# ### END FUNCTIONS SHARED WITH CONFIGURE + _LT_EOF case $host_os in @@ -2256,7 +2257,7 @@ func_munge_path_list () x) ;; *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \$@S|@1\" + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ;; x:*) eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" diff --git a/tests/configure-funcs.at b/tests/configure-funcs.at new file mode 100644 index 000000000..89682a4dd --- /dev/null +++ b/tests/configure-funcs.at @@ -0,0 +1,70 @@ +# configure-functions.at -- shared shell functions. -*- Autotest -*- +# +# Copyright (C) 2015 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([Functions shared with configure and libtool.]) + +m4_define([_AT_FUNC_SETUP], [dnl +AT_SETUP([$1 works])dnl +_lt_bin=$abs_top_builddir/libtool +re_begincf='^# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE' +re_endcf='^# ### END FUNCTIONS SHARED WITH CONFIGURE' + +$ECHO '#!/bin/sh' > "$1" +$ECHO '#: ${SED=sed}' >> "$1" +$ECHO '#: ${ECHO=echo}' >> "$1" + +sed "1,/$re_begincf/d;/$re_endcf/,\$d" < "$_lt_bin" >> "$1" +]) + +_AT_FUNC_SETUP([func_munge_path_list]) + +cat <<\EOF >> func_munge_path_list +for orig in "/usr/lib" " /lib /usr/lib "; do + $ECHO "'$orig':" + for path in "/p1:" "/p3:/p2:" ":/a1" ":/a2:/a3" "/p4::/a4" "/p6:/p5::/a5:/a6"; do + old=$orig + func_munge_path_list orig "$path" || exit 1 + $ECHO "munge ($path) = $orig" + done +done +EOF +chmod +x func_munge_path_list + +AT_CHECK([ECHO="$ECHO" SED="$SED" ./func_munge_path_list], [0], +['/usr/lib': +munge (/p1:) = /p1 /usr/lib +munge (/p3:/p2:) = /p3 /p2 /p1 /usr/lib +munge (:/a1) = /p3 /p2 /p1 /usr/lib /a1 +munge (:/a2:/a3) = /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 +munge (/p4::/a4) = /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 +munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 /a5 /a6 +' /lib /usr/lib ': +munge (/p1:) = /p1 /lib /usr/lib @&t@ +munge (/p3:/p2:) = /p3 /p2 /p1 /lib /usr/lib @&t@ +munge (:/a1) = /p3 /p2 /p1 /lib /usr/lib /a1 +munge (:/a2:/a3) = /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 +munge (/p4::/a4) = /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4 +munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4 /a5 /a6 +], []) + +AT_CLEANUP