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