Я работаю над переходом проекта с scons на autotools, так как я, кажется, автоматически генерирует много функций, которые раздражают писать в SConscript (например, make uninstall
).Есть ли недостатки в использовании Makefile.am над setup.py?
Проект в основном основан на C++, но также включает в себя некоторые модули, написанные на python. После многого чтения autotools я могу, наконец, создать общую библиотеку, скомпилировать и связать с ней исполняемый файл и установить файлы заголовков C++. Прекрасный. Теперь наступает их часть python. Включив AM_PYTHON_PATH в configure.ac, я также устанавливать питон модули с Makefile.am файлов, таких как
autopy_PYTHON=autopy/__init__.py autopy/noindent.py autopy/auto.py submoda_PYTHON=autopy/submoda/moda.py autopy/submoda/modb.py autopy/submoda/modc.py autopy/submoda/__init__.py submodb_PYTHON=autopy/submodb/moda.py autopy/submodb/modb.py autopy/submodb/modc.py autopy/submodb/__init__.py
autopydir=$(pythondir)/autopy submodadir=$(pythondir)/submoda submodbdir=$(pythondir)/submodb
dist_bin_SCRIPTS=scripts/script1 scripts/script2 scripts/script3
Это, кажется, чтобы поместить все мои модули и скрипты в соответствующих местах, но мне интересно, правильно ли это, потому что способ установки модулей python, по-видимому, осуществляется через скрипт setup.py через distutils. У меня есть setup.py скрипты внутри модулей python, и scons вызывал их, пока я не пошел с помощью autotools. Один метод предпочтительнее другого? Должен ли я все еще использовать setup.py при создании с помощью autotools? Я хотел бы понять, как люди обычно разрешают сборки с помощью C++ и модулей python с использованием autotools. У меня есть много других вопросов по автотесту, но я сохраню их позже.
Autotools просто ужасно. Я даже не могу начать ... Вот пример: http://voices.canonical.com/jussi.pakkanen/2011/09/13/autotools/ – Zulan
Hah. Да, я уже это читал. На прошлой неделе я много читал. Пока я не ненавижу autotools хотя (по крайней мере, после первых нескольких дней вытягивания волос), я ненавижу нашу нынешнюю реализацию scons. – jonthalpy
Считаете ли вы использование cmake? Я не говорю, что это противоречит, есть вещи, которые я, честно говоря, тоже не люблю о cmake. Но по моему опыту cmake намного менее болезненен, чем autotools, он в основном просто работает, и не сложно найти полезную информацию, если у вас есть проблемы. Я определенно не могу сказать это для autotools. –