The following code from my configuration.ac file does not work (note the nested square brackets with [default=no]):
AC_ARG_ENABLE(debug,
    [  --enable-debug          build with debugging support [default=no].],
    [DEBUG="$enableval"],
    [DEBUG="no"]
)
How can I escape those brackets?
Found it! From this tutorial:
M4 arguments are quoted with [ and ]. There is NO WAY to escape these, however, you have several options if you wish to insert ['s or ]'s:
- Use a `Quadrigraph'. @<:@ gives you [ and @:>@ gives you ].
- Balance your quotes. M4 will turn [[]] in to []. Beware of using this in arguments to macros. Sometimes, you need to double quote as well ([[[]]]).
- Change the quoting using: changequote(<<,>>) to change the quoting to << and >>. The autoconf documentation (rightly, in my opinion) warns against the (over) use of this, since it can lead to unexpected results.
- Avoid [ and ] where ever possible. This is my personal choice.
My new code is therefore:
AC_ARG_ENABLE(debug,
    AS_HELP_STRING(
        [--enable-debug],
        [build with debugging symbols @<:@default=no@:>@]),
    [enable_debug="$enableval"],
    [enable_debug="no"]
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With