Алексей Махоткин

домашняя страница

Autoconf

Go to the first, previous, next, last section, table of contents.


Выдача сообщений

@anchor{Printing Messages}

Скрипты configure должны сообщать пользователям различную информацию. Следующие макросы различными способами выдают сообщения. Аргументы для каждого из макросов помещаются в двойные кавычки, используемые командным процессором, так что в этих аргументах будет выполняться подстановка переменных и специальных символов. Вы можете напечатать сообщение, содержащее запятую, поместив сообщение в кавычки, используемые программой m4:

AC_MSG_RESULT([never mind, I found the BASIC compiler])

Все эти макросы являются надстройками над командой echo. Скрипты configure должны крайне редко использовать команду echo для выдачи сообщения пользователю. Использование этих макросов позволяет легко изменить способ, каким выдается каждый из типов сообщений; такие изменения можно будет внести в определение макроса, и все вызовы этого макроса изменят свой вид автоматически.

Macro: AC_MSG_CHECKING (feature-description)
Уведомляет пользователя о том, что configure проверяет конкретную возможность. Этот макрос печатает сообщение, которое начинается с `checking ’ и заканчивается `…’ без перехода на новую строку. Вслед за вызовом этого макроса следует использовать макрос AC_MSG_RESULT, который выдает результат проверки и символ перевода строки. Аргумент feature-description должен содержать что-нибудь типа `понимает ли компилятор Fortran комментарии в стиле C++’ или `for c89’.

Этот макрос ничего не выводит, если configure запущен с ключами `–quiet’ или `–silent’.

Macro: AC_MSG_RESULT (result-description)
Уведомляет пользователя о результатах проверки. Аргумент result-description почти всегда содержит значение переменной кэша для данного теста, обычно равно `yes’, `no’ или имени файла. Этот макрос должен вызываться после вызова AC_MSG_CHECKING и аргумент result-description по смыслу должен дополнять сообщение выданное вызовом AC_MSG_CHECKING.

Этот макрос ничего не выводит, сели configure запущен с ключами `–quiet’ или `–silent’.

Macro: AC_MSG_ERROR (error-description)
Уведомляет пользователя об ошибке, которая препятствует работе configure. Этот макрос печатает сообщение об ошибке в стандартный поток вывода и заканчивает работу configure с ненулевым статусом. Аргумент error-description должен содержать что-то подобное `неправильное значение $HOME для \$HOME’.

Macro: AC_MSG_WARN (problem-description)
Уведомляет пользователя configure о возможной проблеме. Этот макрос выдает сообщение в стандартный поток сообщений об ошибках; после этого configure продолжает свое выполнение, так что макросы, вызвавший AC_MSG_WARN должен предоставить действия по умолчанию для ситуаций, о которых он выдавал предупреждения. Аргумент problem-description должен содержать что-то подобное `кажется ln -s создает жесткие ссылки’.

Следующие два макроса являются устаревшими и являются альтернативой для макросов AC_MSG_CHECKING и AC_MSG_RESULT.

Macro: AC_CHECKING (feature-description)
Этот макрос подобен AC_MSG_CHECKING, за исключением того, что он выдает символ перевода строки после вывода feature-description. Он в основном полезен для выдачи общего описания группы проверок, например:
AC_CHECKING(if stack overflow is detectable)

Macro: AC_VERBOSE (result-description)
Этот макрос подобен AC_MSG_RESULT, за исключением того, что его вызов следует за вызовом AC_CHECKING, а не AC_MSG_CHECKING; выдаваемое им сообщение начинается с символа табуляции. Этот макрос считается устаревшим.


Go to the first, previous, next, last section, table of contents.

Comments