diff --git a/ChangeLog b/ChangeLog index 9bd7071099a..d4970f6fc79 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2008-03-16 Ralf Wildenhues + + Backport from upstream Libtool: + + 2007-10-12 Eric Blake + + Deal with Autoconf 2.62's semantic change in m4_append. + * 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. + * libtool.m4 (_LT_DECL): Don't overquote separator. + 2008-03-13 David Edelsohn * config.rpath: Add AIX 6 support. diff --git a/libtool.m4 b/libtool.m4 index e86cd0249b1..26a039a5a45 100644 --- a/libtool.m4 +++ b/libtool.m4 @@ -319,7 +319,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/ltsugar.m4 b/ltsugar.m4 index fc51dc7e896..dd4f871ee96 100644 --- a/ltsugar.m4 +++ b/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. # # 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,20 @@ 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. 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 m4 mistakenly expanded SEPARATOR. +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,10 +81,10 @@ 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)