ускорить autoconf / настроить большой проект - PullRequest
9 голосов
/ 13 июля 2011

У меня большой проект autoconf / automake, разбитый на компоненты с помощью AC_CONFIG_SUBDIRS. Есть ли способ заставить autoconf / configure работать быстрее? Возможно, делать subdir параллельно или кэшировать результаты многократного использования?

Я мог бы легко написать скрипт сборки, который бы собирал компоненты параллельно, но предпочел бы не добавлять вторичную точку поддержки структуры сборки.

Ответы [ 2 ]

7 голосов
/ 14 июля 2011

Вы можете кешировать результаты между несколькими configure (несколько прогонов одного и того же configure или рекурсивным подпунктом configure), используя функцию configure cache * . Просто запустите

./configure -C

Однако вы должны помнить об удалении кэша при изменении конфигурации вашей системы (например, после установки новых пакетов, которые не были найдены при предыдущем запуске configure). Если вы используете некоторые сторонние макросы, вам также может потребоваться исправить некоторые из них, чтобы должным образом кешировать их результаты (распространенной ошибкой является принятие какого-либо решения о конфигурации во время теста, который может быть пропущен, если результат этот тест кэшируется).

Если вы хотите разделить кеш между несколькими проектами, вы можете настроить его в config.site.

4 голосов
/ 07 мая 2013

Я имею в виду конфигурацию parallel , которая выполняет параллельные проверки, наилучшим образом используя многоядерный хост. Вероятно, autoconf должен сгенерировать bash-скрипт, который можно сделать векторизованным / конвейерным, чтобы сделать это возможным.

...