проверьте версию automake / autoconf в скрипте настройки - PullRequest
4 голосов
/ 23 января 2010

Я пытаюсь отредактировать скрипт настройки, который будет выполнять этот фрагмент кода, если он выше версии Automake x.xx, а если нет, он выполняет другой фрагмент кода.

Итак, мне нужна версия 1.10 или выше, тогда, когда это так, я хочу сделать это:

m4_rename_force([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])

И, в противном случае:

m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])

Так что я бы предположил, что это будет выглядеть примерно так (в configure.in):

if test GET_AUTOMAKE_VERSION >= 1.10; then
    m4_rename_force([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
else
    m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) 
fi

Кроме того, я должен проверить версию autoconf или automake? Возможно оба?

Ответы [ 2 ]

4 голосов
/ 31 января 2010

Нет смысла проверять версию automake во время настройки. Сценарий конфигурирования запускается долго после automake и может выполняться на коробке, на которой не установлена ​​automake. Напишите свой файл configure.ac (не configure.in), чтобы использовать современный automake. Разработчик, который запускает autoconf для генерации скрипта configure, должен установить современную automake. Пользователю, который запускает скрипт настройки, вообще не нужно устанавливать какие-либо автоинструменты.

1 голос
/ 23 января 2010

Для тестирования версии autoconf, я думаю, что-то подобное будет работать.

m4_version_prereq ( 1.10, 
     m4_rename_force([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]), 
     m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) 
)

Я не знаю, как сделать то же самое для automake.

...