У меня есть минимальный configure.ac файл:AUTORECONF игнорирует AC_CONFIG_MACRO_DIR
AC_INIT([phmf], [0.1])
AM_INIT_AUTOMAKE
AC_OUTPUT([Makefile])
Использование самого последней версии autoconf
2,69 на нем (что 2012 кстати) я получаю следующее предупреждение:
$ autoreconf -iv
autoreconf: running: aclocal -I m4
aclocal-1.15: warning: couldn't open directory 'm4': No such file or directory
Это привело меня к предположению, что поиск «m4» просматривается, потому что это поведение по умолчанию autoreconf
. Так что я попытался переписать значение по умолчанию, добавив следующий макрос:
AC_CONFIG_MACRO_DIR([.])
Но это было бесполезно - я все еще получаю такое же предупреждение. Является ли это ошибкой или мне нужно сделать что-то еще, чтобы предотвратить включение каталога «m4» для aclocal
?
Редактировать: У меня нет никаких скриптов m4 в моем проекте. И я также согласен с тем, что я действительно не хочу устанавливать каталог макросов в корневую директорию моего проекта. Поэтому более подходящая конфигурация будет:
AC_CONFIG_MACRO_DIR()
, потому что я не хочу, чтобы включить что-либо, то вызываемая команда должна быть только
aclocal
без каких-либо параметров.
Действительно, если вы не отправляете какие-либо макросы m4 с вашим проектом и только помещаете их в каталог m4 , тогда лучше всего вставить 'mkdir -p m4' в ваш' autogen.sh'. – ptomato
Хорошо, если бы я написал свой собственный autogen.sh, я мог бы отказаться от 'autoreconf' и использовать свою собственную цепочку команд, например' aclocal && autoheader && autoconf && automake --add-missing', которая не нуждается в пустом и бесполезный каталог «m4». –