Есть ли флаг «Keep-идя» для скриптов конфигурации? - PullRequest
2 голосов
/ 13 марта 2011

Для программы make есть флаг, который заставляет компиляцию идти как можно дальше, показывая как можно больше ошибок.

С make(1):

   -k, --keep-going
        Continue  as  much  as  possible after an error.  While the target
        that failed, and those that depend on it, cannot  be  remade,  the
        other dependencies of these targets can be processed all the same.

Мне было интересно, можно ли что-нибудь сделать, чтобы получить такое же поведение из ./configure скриптов.

Я пытался ./configure Pidgin установить его из источника. Но скрипт configure продолжал вызывать у меня проблемы с зависимостями, которые мне не нужны, и мое единственное решение прерываний состояло в том, чтобы предоставить --disable флаги скрипту configure.

Вот почему я хотел бы максимально полно запустить сценарий настройки, чтобы он мог сразу уведомить меня о всех зависимостях. Таким образом, я могу выбрать, какой мне нужно --disable, а какой установить, за один проход, вместо того, чтобы запускать скрипт конфигурации для каждой неудовлетворенной зависимости.

Возможно ли это?

Ответы [ 2 ]

3 голосов
/ 13 марта 2011

autoconf не имеет понятия зависимостей, поэтому человек, создающий входные данные autoconf, должен сделать это для себя, и это будет очень болезненно. И причина, по которой autoconf не пытается это сделать, заключается в том, что, хотя зависимости компиляции в Makefile, как правило, простые, вычисление зависимостей сборки может быть сложным - и даже когда они просты, это нужно сделать в m4, поэтому это будет кошмар. (m4 легко для компьютеров, но тяжело для людей.)

2 голосов
/ 13 марта 2011

Я считаю, что это невозможно.Если автор configure.ac решит использовать exit из сценария, мы мало что можем с этим поделать.Обычным способом (с использованием AC_MSG_ERROR и др.) Тоже выполняется вызов exit (здесь рассмотрим функцию as_fn_exit.) Однако вы можете попробовать взломать скрипт конфигурации и изменить вызовы на exit на что-тоэто не уходит.Но будьте осторожны, что логика может быть полностью нарушена ...

...