Вам не нужно ничего делать в configure.ac
, чтобы включить внеурочный сбор . Вам просто нужно не делать ничего плохого. Правильный пакет с автоохлаждением будет строить в дереве или вне дерева.
Произнесите autotooled пакет находится в ./foobar
и вы сделали свою autotooling правильно, так что:
cd foobar
./configure
make
make distcheck
все работает успешно. Тогда одинаково:
mkdir foobar_build
cd foobar_build
../foobar/configure
make
make distcheck
также будет работать точно так же, за исключением того, что все артефакты, созданные с помощью сценария configure
и make
будет ./foobar_build
вместо ./foobar
.
Вы не можете получить autoreconf
генерировать файлы, которые это создает вне дерева (в configure
сценарий и друзей), потому что они должны быть включены в распределения тарболла производимого make dist
(например foobar-1.0.tar.gz
) , конечный пользователь из autotooled пакета не должен иметь или понимать Autotools: они просто должны быть в состоянии:
- клона, или скачать и извлечь
- настроить
- сделать
- как корень, сделать установку
по той же причине configure
сценария и друзья должны быть в репозитории источника управления , по крайней мере, в ветви освобождения, которую вы публикуете для клонирования, .
Большое спасибо Майку, это действительно прояснило мое мнение. – Constantine