141 lines
4.6 KiB
Diff
141 lines
4.6 KiB
Diff
From d901235239e11d34453147c7ebf109546caca8bc Mon Sep 17 00:00:00 2001
|
|
From: Pavel Raiskup <praiskup@redhat.com>
|
|
Date: Sat, 13 Dec 2014 10:59:37 +0100
|
|
Subject: [PATCH] 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.
|
|
---
|
|
Makefile.am | 1 +
|
|
m4/libtool.m4 | 9 ++++---
|
|
tests/configure-funcs.at | 70 ++++++++++++++++++++++++++++++++++++++++++++++++
|
|
3 files changed, 76 insertions(+), 4 deletions(-)
|
|
create mode 100644 tests/configure-funcs.at
|
|
|
|
diff --git a/Makefile.am b/Makefile.am
|
|
index 888f5cb..13dfc63 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/m4/libtool.m4 b/m4/libtool.m4
|
|
index 41dd20a..2b33082 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 0000000..eab84a0
|
|
--- /dev/null
|
|
+++ b/tests/configure-funcs.at
|
|
@@ -0,0 +1,70 @@
|
|
+# configure-functions.at -- Linking and loading. -*- Autotest -*-
|
|
+#
|
|
+# Copyright (C) 2014 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)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
|
|
--
|
|
2.1.0
|
|
|