autoconf: modernize and modularize
[tftp-hpa.git] / autoconf / m4 / pa_add_langflags.m4
blob05c3114f1bde895a1e55dd213cfa6788e6295423
1 dnl --------------------------------------------------------------------------
2 dnl PA_ADD_LANGFLAGS(flag...)
3 dnl
4 dnl Attempt to add the option in the given list to each compiler flags
5 dnl (CFLAGS, CXXFLAGS, ...), if it doesn't break compilation.
6 dnl --------------------------------------------------------------------------
7 m4_defun([_PA_LANGFLAG_VAR],
8 [m4_case([$1],
9  [C], [CFLAGS],
10  [C++], [CXXFLAGS],
11  [Fortran 77], [FFLAGS],
12  [Fortran], [FCFLAGS],
13  [Erlang], [ERLCFLAGS],
14  [Objective C], [OBJCFLAGS],
15  [Objective C++], [OBJCXXFLAGS],
16  [Go], [GOFLAGS],
17  [m4_fatal([PA_ADD_LANGFLAGS: Unknown language: $1])])])
19 AC_DEFUN([PA_ADD_LANGFLAGS],
20 [m4_pushdef([_pa_langflags],m4_dquote($1))dnl
21 m4_set_foreach(_PA_LANG_SEEN_SET,[_pa_lang],dnl
22 [_pa_flag_found=no
23  m4_foreach_w([_pa_flag], _pa_langflags,
24  [AS_IF([test $_pa_flag_found = no],
25   [PA_ADD_FLAGS(_PA_LANGFLAG_VAR(_pa_lang),_pa_flag,[],[_pa_flag_found=yes])])
26   ])])
27 m4_popdef([_pa_langflags])])