From: Eric Blake Date: Fri, 12 Oct 2007 20:41:35 +0000 (+0000) Subject: Deal with Autoconf 2.62's semantic change in m4_append. X-Git-Tag: release-2-1b~61 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5b560bdf3f3a665b2b166338900109bc35318b48;p=thirdparty%2Flibtool.git Deal with Autoconf 2.62's semantic change in m4_append. * libltdl/m4/ltsugar.m4 (lt_append): Replace broken versions of m4_append. (lt_if_append_uniq): Don't require separator to be overquoted, and avoid broken m4_append. (lt_dict_add): Fix typo. * libltdl/m4/libtool.m4 (_LT_DECL): Don't overquote separator. --- diff --git a/ChangeLog b/ChangeLog index b3a2868d3..ddd626d2f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2007-10-12 Eric Blake + + Deal with Autoconf 2.62's semantic change in m4_append. + * libltdl/m4/ltsugar.m4 (lt_append): Replace broken versions of + m4_append. + (lt_if_append_uniq): Don't require separator to be overquoted, and + avoid broken m4_append. + (lt_dict_add): Fix typo. + * libltdl/m4/libtool.m4 (_LT_DECL): Don't overquote separator. + 2007-10-12 Ralf Wildenhues * libltdl/config/ltmain.m4sh: Also sanitize `LANGUAGE'. diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4 index 85582221f..14324ec58 100644 --- a/libltdl/m4/libtool.m4 +++ b/libltdl/m4/libtool.m4 @@ -318,7 +318,7 @@ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [[, ]], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) diff --git a/libltdl/m4/ltsugar.m4 b/libltdl/m4/ltsugar.m4 index c095fdfab..fe9942827 100644 --- a/libltdl/m4/ltsugar.m4 +++ b/libltdl/m4/ltsugar.m4 @@ -1,13 +1,13 @@ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 3 ltsugar.m4 +# serial 4 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) @@ -46,6 +46,22 @@ m4_define([lt_cdr], m4_define([lt_unquote], $1) +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of @@ -67,16 +83,16 @@ m4_define([lt_combine], # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], - [m4_bmatch($3[]m4_defn([$1])$3, $3[]m4_re_escape([$2])$3, - [$5], - [m4_append([$1], [$2], [$3])$4])], - [m4_append([$1], [$2], [$3])$4])]) + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], -[m4_define([$1($2)], [$4])]) +[m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)