xref: /aosp_15_r20/external/ethtool/m4/ax_append_flag.m4 (revision 1b481fc3bb1b45d4cf28d1ec12969dc1055f555d)
1*1b481fc3SMaciej Żenczykowski# ===========================================================================
2*1b481fc3SMaciej Żenczykowski#      https://www.gnu.org/software/autoconf-archive/ax_append_flag.html
3*1b481fc3SMaciej Żenczykowski# ===========================================================================
4*1b481fc3SMaciej Żenczykowski#
5*1b481fc3SMaciej Żenczykowski# SYNOPSIS
6*1b481fc3SMaciej Żenczykowski#
7*1b481fc3SMaciej Żenczykowski#   AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE])
8*1b481fc3SMaciej Żenczykowski#
9*1b481fc3SMaciej Żenczykowski# DESCRIPTION
10*1b481fc3SMaciej Żenczykowski#
11*1b481fc3SMaciej Żenczykowski#   FLAG is appended to the FLAGS-VARIABLE shell variable, with a space
12*1b481fc3SMaciej Żenczykowski#   added in between.
13*1b481fc3SMaciej Żenczykowski#
14*1b481fc3SMaciej Żenczykowski#   If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
15*1b481fc3SMaciej Żenczykowski#   CFLAGS) is used.  FLAGS-VARIABLE is not changed if it already contains
16*1b481fc3SMaciej Żenczykowski#   FLAG.  If FLAGS-VARIABLE is unset in the shell, it is set to exactly
17*1b481fc3SMaciej Żenczykowski#   FLAG.
18*1b481fc3SMaciej Żenczykowski#
19*1b481fc3SMaciej Żenczykowski#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION.
20*1b481fc3SMaciej Żenczykowski#
21*1b481fc3SMaciej Żenczykowski# LICENSE
22*1b481fc3SMaciej Żenczykowski#
23*1b481fc3SMaciej Żenczykowski#   Copyright (c) 2008 Guido U. Draheim <[email protected]>
24*1b481fc3SMaciej Żenczykowski#   Copyright (c) 2011 Maarten Bosmans <[email protected]>
25*1b481fc3SMaciej Żenczykowski#
26*1b481fc3SMaciej Żenczykowski#   This program is free software: you can redistribute it and/or modify it
27*1b481fc3SMaciej Żenczykowski#   under the terms of the GNU General Public License as published by the
28*1b481fc3SMaciej Żenczykowski#   Free Software Foundation, either version 3 of the License, or (at your
29*1b481fc3SMaciej Żenczykowski#   option) any later version.
30*1b481fc3SMaciej Żenczykowski#
31*1b481fc3SMaciej Żenczykowski#   This program is distributed in the hope that it will be useful, but
32*1b481fc3SMaciej Żenczykowski#   WITHOUT ANY WARRANTY; without even the implied warranty of
33*1b481fc3SMaciej Żenczykowski#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
34*1b481fc3SMaciej Żenczykowski#   Public License for more details.
35*1b481fc3SMaciej Żenczykowski#
36*1b481fc3SMaciej Żenczykowski#   You should have received a copy of the GNU General Public License along
37*1b481fc3SMaciej Żenczykowski#   with this program. If not, see <https://www.gnu.org/licenses/>.
38*1b481fc3SMaciej Żenczykowski#
39*1b481fc3SMaciej Żenczykowski#   As a special exception, the respective Autoconf Macro's copyright owner
40*1b481fc3SMaciej Żenczykowski#   gives unlimited permission to copy, distribute and modify the configure
41*1b481fc3SMaciej Żenczykowski#   scripts that are the output of Autoconf when processing the Macro. You
42*1b481fc3SMaciej Żenczykowski#   need not follow the terms of the GNU General Public License when using
43*1b481fc3SMaciej Żenczykowski#   or distributing such scripts, even though portions of the text of the
44*1b481fc3SMaciej Żenczykowski#   Macro appear in them. The GNU General Public License (GPL) does govern
45*1b481fc3SMaciej Żenczykowski#   all other use of the material that constitutes the Autoconf Macro.
46*1b481fc3SMaciej Żenczykowski#
47*1b481fc3SMaciej Żenczykowski#   This special exception to the GPL applies to versions of the Autoconf
48*1b481fc3SMaciej Żenczykowski#   Macro released by the Autoconf Archive. When you make and distribute a
49*1b481fc3SMaciej Żenczykowski#   modified version of the Autoconf Macro, you may extend this special
50*1b481fc3SMaciej Żenczykowski#   exception to the GPL to apply to your modified version as well.
51*1b481fc3SMaciej Żenczykowski
52*1b481fc3SMaciej Żenczykowski#serial 7
53*1b481fc3SMaciej Żenczykowski
54*1b481fc3SMaciej ŻenczykowskiAC_DEFUN([AX_APPEND_FLAG],
55*1b481fc3SMaciej Żenczykowski[dnl
56*1b481fc3SMaciej ŻenczykowskiAC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF
57*1b481fc3SMaciej ŻenczykowskiAS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])])
58*1b481fc3SMaciej ŻenczykowskiAS_VAR_SET_IF(FLAGS,[
59*1b481fc3SMaciej Żenczykowski  AS_CASE([" AS_VAR_GET(FLAGS) "],
60*1b481fc3SMaciej Żenczykowski    [*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])],
61*1b481fc3SMaciej Żenczykowski    [
62*1b481fc3SMaciej Żenczykowski     AS_VAR_APPEND(FLAGS,[" $1"])
63*1b481fc3SMaciej Żenczykowski     AC_RUN_LOG([: FLAGS="$FLAGS"])
64*1b481fc3SMaciej Żenczykowski    ])
65*1b481fc3SMaciej Żenczykowski  ],
66*1b481fc3SMaciej Żenczykowski  [
67*1b481fc3SMaciej Żenczykowski  AS_VAR_SET(FLAGS,[$1])
68*1b481fc3SMaciej Żenczykowski  AC_RUN_LOG([: FLAGS="$FLAGS"])
69*1b481fc3SMaciej Żenczykowski  ])
70*1b481fc3SMaciej ŻenczykowskiAS_VAR_POPDEF([FLAGS])dnl
71*1b481fc3SMaciej Żenczykowski])dnl AX_APPEND_FLAG
72