Подтвердить что ты не робот

Альтернативы Autoconf и Autotools?

Я очень часто являюсь пользователем GNU Autotools (в основном Autoconf, время от времени Libtool). Я работаю над проектом, в котором переносимость будет решающим моментом. Тем не менее, остальная часть команды просто не комфортно работает с m4. Я получил этот в моем почтовом ящике не один, а четыре человека:

m4 is NOT lisp, dammit!

В любом случае, возможно, кто-то может порекомендовать что-то на основе Python или PHP? Я работаю над концом C гораздо большего дерева; Я могу быть уверен, что Python или PHP 5 будут присутствовать, поскольку они являются необходимыми условиями.

4b9b3361

Ответ 1

Я слышал хорошие вещи о CMake, который пытается решить те же проблемы. Здесь - статья в википедии

Ответ 2

Я беру на себя риск быть замедленным, но, признаюсь, что, к сожалению, нет никакой реальной замены для autotools. CMake, SCons, bjam хороши, но когда дело доходит до серьезной работы... совершенно очевидно, что autotools превосходят, а не потому, что CMake не может сделать то же самое, а потому, что с этим гораздо сложнее сделать это.

Например, CMake, самая популярная альтернатива autotools, имеет следующие недостатки:

  • Нет поддержки gettext. Это может быть реальной проблемой, когда вам нужно управлять большим количеством переводов и переведенным исходным кодом.
  • Нет поддержки для цели удаления. Очень неприятно узнать, что вы не можете удалить установленную вами программу.
  • Нет автоматической сборки как общих, так и статических библиотек.
  • Документация очень ограничена и плоха.

И так далее.

Есть много других моментов. К сожалению, нет реального высококачественного заменителя для автотелов. С другой стороны, если вы разрабатываете Windows и Visual Studio, то вы не можете использовать autotools, и вам нужно выбрать CMake, который предоставляет такие инструменты.

Ответ 3

У меня был хороший успех с SCons. Он построен с помощью Python, а скрипты сборки - это сами скрипты Python, что дает большую выразительную силу. На веб-сайте:

SCons - это инструмент для создания программного обеспечения с открытым исходным кодом, то есть инструмент построения следующего поколения. Подумайте о том, что SCons является улучшенной кросс-платформенной заменой классической утилиты Make со встроенной функциональностью, подобной autoconf/automake и кэшам компилятора, например ccache. Короче говоря, SCons - это более простой, надежный и быстрый способ создания программного обеспечения.

Ответ 4

Существует множество альтернативных генераторов Makefile и систем сборки:

Также доступен, но не строго ориентирован на C/С++:

  • Premake
  • Ant (для Java)
  • Rake (для Ruby)
  • (Определенно больше, я просто не знаю их всех...)

Но после перечисления этих всех, autotools имеет большое преимущество, не требуя никакой другой зависимости для конечного пользователя. Конфигурация script генерируется разработчиком только один раз и не требует ничего специального в конце пользователя, так как это оболочка script. Инструменты, перечисленные выше, должны быть установлены до того, как кто-либо сможет создать ваш источник, и у них даже могут быть зависимости сами.

Ответ 5

Как просто использовать Make и pkg-config?

Вот вам Makefile template, чтобы вы начали.

Меньше людей больше.

Ответ 6

Еще одна автозамена - mk-configure. Документы можно найти здесь

Ответ 7

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

Ответ 8

В Mozilla создается версия создания python - pymake - которая, предположительно, поддерживает межплатформенное использование.

Ответ 9

Для создания программного обеспечения C/С++ из ANT или maven вам может быть интересно terp. Он включает переносимую задачу компилятора С++, которая работает со многими компиляторами С++ на многих платформах.