]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
libtool.m4: typofix, subst last '$' with quadrigraph
authorPavel Raiskup <praiskup@redhat.com>
Tue, 20 Jan 2015 15:35:11 +0000 (15:35 +0000)
committerGary V. Vaughan <gary@gnu.org>
Tue, 20 Jan 2015 16:08:18 +0000 (16:08 +0000)
* 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 <gary@gnu.org>
Makefile.am
NEWS
m4/libtool.m4
tests/configure-funcs.at [new file with mode: 0644]

index 888f5cb0c50d35dc044af8927001e045185f3766..13dfc63a669e6e0acb5f3b3a22c2f16fb9804a7f 100644 (file)
@@ -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 c58dd9bdd7150bae92c561d9ea953ed69ba56501..c382c70252210d97876cf439e0effa527b67e8c6 100644 (file)
--- 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]
 
index f796d7bcdf2b7cd9a10f0cc16a95bc45864ae82d..18d0193e14146cb576a244da340b380ae97c973e 100644 (file)
@@ -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 (file)
index 0000000..89682a4
--- /dev/null
@@ -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