blob: 261110c0dddd527d9d1b4b9cf45927b2a6037612 [file] [log] [blame]
# SYNOPSIS
#
# MHD_APPEND_FLAG_TO_VAR([VARIABLE-TO-EXTEND], [FLAG-TO-APPEND])
#
# DESCRIPTION
#
# This macro sets VARIABLE-TO-EXTEND to the value of VARIABLE-TO-EXTEND with
# appended FLAG-TO-APPEND. If current value of VARIABLE-TO-EXTEND and
# FLAG-TO-APPEND are both non-empty strings then space is added between them.
#
# Example usage:
#
# MHD_APPEND_FLAG_TO_VAR([my_CFLAGS], [-Wall])
#
#
# LICENSE
#
# Copyright (c) 2022 Karlson2k (Evgeny Grin) <k2k@narod.ru>
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved. This file is offered as-is, without any
# warranty.
#serial 2
AC_DEFUN([MHD_APPEND_FLAG_TO_VAR],[dnl
m4_ifblank([$1],[m4_fatal([$0: First macro argument must not be empty])])dnl
m4_bmatch([$1], [\$], [m4_fatal([$0: First macro argument must not contain '$'])])dnl
m4_bmatch([$1], [,], [m4_fatal([$0: First macro argument must not contain ','])])dnl
m4_bmatch(_mhd_norm_expd([$1]), [\s],dnl
[m4_fatal([$0: First macro argument must not contain whitespaces])])dnl
m4_pushdef([varExtd],_mhd_norm_expd([$1]))dnl
m4_bmatch([$2],[\$],dnl
[dnl The second parameter is a variable value
AS_IF([test -z "_mhd_norm_expd([$2])"],dnl
[varExtd="${varExtd}"],dnl
[test -z "${varExtd}"],dnl
[varExtd="_mhd_norm_expd([$2])"],dnl
[varExtd="${varExtd} _mhd_norm_expd([$2])"])
],dnl
[dnl The second parameter is not a variable value
m4_ifnblank(_mhd_norm_expd([$2]),dnl
[AS_IF([test -z "${varExtd}"],[varExtd="_mhd_norm_expd([$2])"],[varExtd="${varExtd} _mhd_norm_expd([$2])"])
],dnl
[m4_n([varExtd="${varExtd}"])])])dnl m4_ifnblank m4_bmatch
m4_popdef([varExtd])dnl
])dnl AC_DEFUN