annotate src/opus-1.3/m4/ltsugar.m4 @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 7aeed7906520
children
rev   line source
Chris@69 1 # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
Chris@69 2 #
Chris@69 3 # Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
Chris@69 4 # Foundation, Inc.
Chris@69 5 # Written by Gary V. Vaughan, 2004
Chris@69 6 #
Chris@69 7 # This file is free software; the Free Software Foundation gives
Chris@69 8 # unlimited permission to copy and/or distribute it, with or without
Chris@69 9 # modifications, as long as this notice is preserved.
Chris@69 10
Chris@69 11 # serial 6 ltsugar.m4
Chris@69 12
Chris@69 13 # This is to help aclocal find these macros, as it can't see m4_define.
Chris@69 14 AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
Chris@69 15
Chris@69 16
Chris@69 17 # lt_join(SEP, ARG1, [ARG2...])
Chris@69 18 # -----------------------------
Chris@69 19 # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
Chris@69 20 # associated separator.
Chris@69 21 # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
Chris@69 22 # versions in m4sugar had bugs.
Chris@69 23 m4_define([lt_join],
Chris@69 24 [m4_if([$#], [1], [],
Chris@69 25 [$#], [2], [[$2]],
Chris@69 26 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
Chris@69 27 m4_define([_lt_join],
Chris@69 28 [m4_if([$#$2], [2], [],
Chris@69 29 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
Chris@69 30
Chris@69 31
Chris@69 32 # lt_car(LIST)
Chris@69 33 # lt_cdr(LIST)
Chris@69 34 # ------------
Chris@69 35 # Manipulate m4 lists.
Chris@69 36 # These macros are necessary as long as will still need to support
Chris@69 37 # Autoconf-2.59, which quotes differently.
Chris@69 38 m4_define([lt_car], [[$1]])
Chris@69 39 m4_define([lt_cdr],
Chris@69 40 [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
Chris@69 41 [$#], 1, [],
Chris@69 42 [m4_dquote(m4_shift($@))])])
Chris@69 43 m4_define([lt_unquote], $1)
Chris@69 44
Chris@69 45
Chris@69 46 # lt_append(MACRO-NAME, STRING, [SEPARATOR])
Chris@69 47 # ------------------------------------------
Chris@69 48 # Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
Chris@69 49 # Note that neither SEPARATOR nor STRING are expanded; they are appended
Chris@69 50 # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
Chris@69 51 # No SEPARATOR is output if MACRO-NAME was previously undefined (different
Chris@69 52 # than defined and empty).
Chris@69 53 #
Chris@69 54 # This macro is needed until we can rely on Autoconf 2.62, since earlier
Chris@69 55 # versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
Chris@69 56 m4_define([lt_append],
Chris@69 57 [m4_define([$1],
Chris@69 58 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
Chris@69 59
Chris@69 60
Chris@69 61
Chris@69 62 # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
Chris@69 63 # ----------------------------------------------------------
Chris@69 64 # Produce a SEP delimited list of all paired combinations of elements of
Chris@69 65 # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
Chris@69 66 # has the form PREFIXmINFIXSUFFIXn.
Chris@69 67 # Needed until we can rely on m4_combine added in Autoconf 2.62.
Chris@69 68 m4_define([lt_combine],
Chris@69 69 [m4_if(m4_eval([$# > 3]), [1],
Chris@69 70 [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
Chris@69 71 [[m4_foreach([_Lt_prefix], [$2],
Chris@69 72 [m4_foreach([_Lt_suffix],
Chris@69 73 ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
Chris@69 74 [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
Chris@69 75
Chris@69 76
Chris@69 77 # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
Chris@69 78 # -----------------------------------------------------------------------
Chris@69 79 # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
Chris@69 80 # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
Chris@69 81 m4_define([lt_if_append_uniq],
Chris@69 82 [m4_ifdef([$1],
Chris@69 83 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
Chris@69 84 [lt_append([$1], [$2], [$3])$4],
Chris@69 85 [$5])],
Chris@69 86 [lt_append([$1], [$2], [$3])$4])])
Chris@69 87
Chris@69 88
Chris@69 89 # lt_dict_add(DICT, KEY, VALUE)
Chris@69 90 # -----------------------------
Chris@69 91 m4_define([lt_dict_add],
Chris@69 92 [m4_define([$1($2)], [$3])])
Chris@69 93
Chris@69 94
Chris@69 95 # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
Chris@69 96 # --------------------------------------------
Chris@69 97 m4_define([lt_dict_add_subkey],
Chris@69 98 [m4_define([$1($2:$3)], [$4])])
Chris@69 99
Chris@69 100
Chris@69 101 # lt_dict_fetch(DICT, KEY, [SUBKEY])
Chris@69 102 # ----------------------------------
Chris@69 103 m4_define([lt_dict_fetch],
Chris@69 104 [m4_ifval([$3],
Chris@69 105 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
Chris@69 106 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
Chris@69 107
Chris@69 108
Chris@69 109 # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
Chris@69 110 # -----------------------------------------------------------------
Chris@69 111 m4_define([lt_if_dict_fetch],
Chris@69 112 [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
Chris@69 113 [$5],
Chris@69 114 [$6])])
Chris@69 115
Chris@69 116
Chris@69 117 # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
Chris@69 118 # --------------------------------------------------------------
Chris@69 119 m4_define([lt_dict_filter],
Chris@69 120 [m4_if([$5], [], [],
Chris@69 121 [lt_join(m4_quote(m4_default([$4], [[, ]])),
Chris@69 122 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
Chris@69 123 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
Chris@69 124 ])