Следующий код из моего configuration.ac файла не работает (отметьте вложенные квадратные скобки с [default=no]):
AC_ARG_ENABLE(debug,
[ --enable-debug build with debugging support [default=no].],
[DEBUG="$enableval"],
[DEBUG="no"]
)
Как я могу выйти из тех скобок?
Нашел! Из этого учебного пособия:
Аргументы M4 цитируются с помощью [и]. Невозможно избежать этого, однако у вас есть несколько вариантов, если вы хотите вставить [или]:
- Используйте `Quadrigaph '. @ <: @ дает вам [и @:> @ дает вам].
- Сбалансируйте цитаты. M4 превратит [[]] в []. Остерегайтесь использовать это в аргументах макросов. Иногда вам также нужно использовать двойные кавычки ([[[]]]).
- Измените кавычки с помощью: changequote (<<, >>), чтобы изменить кавычки на << и >>. Документация autoconf (на мой взгляд, справедливо) предостерегает от (чрезмерного) использования этого, поскольку это может привести к неожиданным результатам.
- По возможности избегайте [и]. Это мой личный выбор.
Мой новый код:
AC_ARG_ENABLE(debug,
AS_HELP_STRING(
[--enable-debug],
[build with debugging symbols @<:@default=no@:>@]),
[enable_debug="$enableval"],
[enable_debug="no"]
)