Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Configure: передача параметра и значение параметра по умолчанию

#c #компиляция #autoconf #autotools


Необходимо, чтобы в файле configure.ac была переменная "XXX". При этом, необходимо,
чтобы у нее было значение по умолчанию и возможность установить значение, при вызове
./configure. Т.е., чтобы можно было сделать что-то такое:
если вызывается ./configure
используется значение XXX по умолчанию (пусть будет "ааа")
если вызывается ./configure XXX="bbb"
значение XXX становится "bbb"
Никак не пойму, как для этого необходимо описать файл configure.ac
    


Ответы

Ответ 1



FOO=${FOO:-foo} AC_DEFINE_UNQUOTED([FOO_MACRO],[$FOO],["Desriprion"]) Судя по всему всё что не раскрывается макросом из configure.ac просто поадает в скрипт ./configure. Поэтому для установки переменных можно использовать обычный синтаксис POSIX sh. Можно также задавать значение прямо в макросе, хотя в этом случае есть свои подводные камни с интерпретацией кавычек. AC_DEFINE_UNQUOTED([FOO_MACRO],[${FOO:-foo}],["Desriprion"]) Также ИМХО хорошим тоном будет объявить эту переменную AC_ARG_VAR.

Комментариев нет:

Отправить комментарий