From ffe5419c05437e3e08e2d9580de29371dace19cf Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 6 Sep 2010 15:34:58 +0200 Subject: Use [ and ] as quote characters instead of ` and ' --- build/meta/common.m4 | 62 ++++++++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) (limited to 'build/meta/common.m4') diff --git a/build/meta/common.m4 b/build/meta/common.m4 index 54be556..bb4fcc4 100644 --- a/build/meta/common.m4 +++ b/build/meta/common.m4 @@ -3,32 +3,25 @@ # copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC # license : GNU GPL v2; see accompanying LICENSE file -# Quote character literals. -# -m4_changequote([, ]) -m4_define([m4_oquote],`) -m4_define([m4_cquote],') -m4_changequote(`, ') - # m4_strip(STRING) # ---------------- # Expands into STRING with tabs and spaces singled out into a single # space, and removing leading and trailing spaces. # -m4_define(`m4_strip', -`m4_patsubst(m4_patsubst(` $1 ', `[ ]+', ` '), `^ \(.*\) $', ```\1''')') +m4_define([m4_strip], +[m4_patsubst(m4_patsubst([ $1 ], [[ ]+], [ ]), [^ \(.*\) $], [[[\1]]])]) # m4_normalize(STRING) # -------------------- # Apply m4_strip to STRING. # -m4_define(`m4_normalize', `m4_strip(`$1')') +m4_define([m4_normalize], [m4_strip([$1])]) # m4_split(STRING, [REGEXP]) # -------------------------- # Split STRING into an m4 list of quoted elements. The elements are -# quoted with ' and '. Beginning spaces and end spaces *are kept*. +# quoted with ] and ]. Beginning spaces and end spaces *are kept*. # Use m4_strip to remove them. # # REGEXP specifies where to split. Default is [\t ]+. @@ -36,41 +29,48 @@ m4_define(`m4_normalize', `m4_strip(`$1')') # If STRING is empty, the result is an empty list. # -m4_define(`m4_split', -`m4_ifelse(`$1', `', `', - `$2', ` ', `m4_ifelse(m4_index(`$1', ` '), `-1', ```$1''', - `_$0(`$1', `$2', `, ')')', - `$2', `', `_$0(`$1', `[ ]+', `, ')', - `_$0(`$1', `$2', `, ')')') +m4_define([m4_split], +[m4_ifelse([$1], [], [], + [$2], [ ], [m4_ifelse(m4_index([$1], [ ]), [-1], [[[$1]]], + [_$0([$1], [$2], [, ])])], + [$2], [], [_$0([$1], [[ ]+], [, ])], + [_$0([$1], [$2], [, ])])]) -m4_define(`_m4_split', `m4_patsubst(`$1', `$2', `$3')') +m4_define([_m4_split], [m4_patsubst([$1], [$2], [$3])]) # Simple foreach implementation. The list elements are expected to # be fully expanded. # -m4_define(`m4_foreach', `m4_ifelse(`$2', `', `', - `m4_pushdef(`$1')_$0(`$1', `$3', `', $2)m4_popdef(`$1')')') -m4_define(`_m4_foreach', `m4_ifelse(`$#', `3', `', - `m4_define(`$1', `$4')$2`'$0(`$1', `$2', - m4_shift(m4_shift(m4_shift($@))))')') +m4_define([m4_foreach], [m4_ifelse([$2], [], [], + [m4_pushdef([$1])_$0([$1], [$3], [], $2)m4_popdef([$1])])]) +m4_define([_m4_foreach], [m4_ifelse([$#], [3], [], + [m4_define([$1], [$4])$2[]$0([$1], [$2], + m4_shift(m4_shift(m4_shift($@))))])]) # m4_foreach_w(VARIABLE, LIST, EXPRESSION) # ---------------------------------------- # Like m4_foreach, but the list is whitespace separated. # -m4_define(`m4_foreach_w', -`m4_foreach(`$1', m4_split(m4_normalize(`$2'), ` '), `$3')') +m4_define([m4_foreach_w], +[m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])]) + +# m4_strip_nl(STRING) +# ---------------------------------------- +# Remove newlines +# +m4_define([m4_strip_nl], [m4_patsubst([$1], [ +], [])]) # Enable/disable quoting. # -m4_define(`m4_equote', `m4_changequote(`,')') -m4_define(`m4_dquote', `m4_changequote(`')') +m4_define([m4_equote], [m4_changequote([,])]) +m4_define([m4_dquote], [m4_changequote([])]) # # -m4_define(`__env_impl__', `m4_esyscmd(`echo -n $'`$1')') -m4_define(`__env__', `m4_equote()__env_impl__(`$1')`'m4_dquote()') +m4_define([__env_impl__], [m4_esyscmd([echo -n $$1])]) +m4_define([__env__], [m4_equote()__env_impl__([$1])[]m4_dquote()]) -m4_define(`__value_impl__', `__env_impl__(`$1')') -m4_define(`__value__', `m4_equote()__value_impl__(`$1')`'m4_dquote()') +m4_define([__value_impl__], [__env_impl__([$1])]) +m4_define([__value__], [m4_equote()__value_impl__([$1])[]m4_dquote()]) -- cgit v1.1