Как я выхожу из текста в autoconf/m4?

Следующий код из моего configuration.ac файла не работает (отметьте вложенные квадратные скобки с [default=no]):

AC_ARG_ENABLE(debug,
    [  --enable-debug          build with debugging support [default=no].],
    [DEBUG="$enableval"],
    [DEBUG="no"]
)

Как я могу выйти из тех скобок?

11
задан user278429 22 February 2010 в 04:04
поделиться

2 ответа

Нашел! Из этого учебного пособия:

Аргументы M4 цитируются с помощью [и]. Невозможно избежать этого, однако у вас есть несколько вариантов, если вы хотите вставить [или]:

  1. Используйте `Quadrigaph '. @ <: @ дает вам [и @:> @ дает вам].
  2. Сбалансируйте цитаты. M4 превратит [[]] в []. Остерегайтесь использовать это в аргументах макросов. Иногда вам также нужно использовать двойные кавычки ([[[]]]).
  3. Измените кавычки с помощью: changequote (<<, >>), чтобы изменить кавычки на << и >>. Документация autoconf (на мой взгляд, справедливо) предостерегает от (чрезмерного) использования этого, поскольку это может привести к неожиданным результатам.
  4. По возможности избегайте [и]. Это мой личный выбор.

Мой новый код:

AC_ARG_ENABLE(debug,
    AS_HELP_STRING(
        [--enable-debug],
        [build with debugging symbols @<:@default=no@:>@]),
    [enable_debug="$enableval"],
    [enable_debug="no"]
)
20
ответ дан 3 December 2019 в 03:04
поделиться

используйте AC_HELP_STRING

0
ответ дан 3 December 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: