Научите меня automake, пожалуйста

yolki

говорят, это совсем просто. но нужно начать. Как езда на велосипеде.
кратенький FAQ на три-четыре действия - с чего начать.
если бы меня спросили про svn - я бы рассказал про svn co, svn ci, svn ls, svn status.

apl13

если бы меня спросили про svn - я бы рассказал про svn co, svn ci, svn ls, svn status.
Тогда начни с info automake. :angel:

yolki

там слишком многа буков и написано про всё.
у меня проблема - я допилил некоторую приблуду (добавил своих файлов теперь надо грамотно их куда-то дописать и обновить makefile-ы и configure.
куда, что дописать, чем обновлять?

Werdna

говорят, это совсем просто. но нужно начать. Как езда на велосипеде.
кратенький FAQ на три-четыре действия - с чего начать.
Не используй автотулзы, используй cmake.
cmake прекрасен.

doublemother

+1, но он допиливает уже существующий проект.

ava3443

Кто бы подкинул ссылку на tutorial по теме "как подключить и использовать autoconf+libtool, но без automake"? Или даже просто "libtool без automake" (к самому autoconf пока вопросов вроде нет)

Werdna

+1, но он допиливает уже существующий проект.
Перевести на cmake, сильно жизнь станет проще.

doublemother

Ядро линукса переведи :)

procenkotanya

А можешь подкинуть хорошую документацию для cmake?
Может ли кто-нибудь подкинуть хорошую документацию для SCons?

Werdna

Ядро линукса переведи :)
Парень влип... :)

Werdna

А можешь подкинуть хорошую документацию для cmake?
Ты знаешь, я кроме сайта cmake'а ничего не смотрел.
Есть специалист по cmake — .
А я аскетично люблю писать, без пафоса.

doublemother

Понимаешь, помимо гигантских проектов типа ядра линукса есть еще куча всего, что cmake не поддерживает. Например, для PHP у него есть только некий FindPHP4, а PHP5 он вообще не знает. И модуль пхпшный ты так какбе хрен соберешь. При этом можно написать на m4 конфиг в 10-15 строк и всё отлично соберется автомейком.
Такие дела.

pitrik2

Например, для PHP у него есть только некий FindPHP4, а PHP5 он вообще не знает.
и чо?
пишешь свой фандер
делов-то

doublemother

свой файндер, своё описание линковки, дефайны... и только потом те же 10-15 строк CMakeLists.
Только зачем, если можно пропустить этот этап, обойдясь уже имеющимися и заточенными под пхп макросами m4
Да, а еще модули пхп умеют такое интересное явление, как компиляция не только отдельным расширением, а еще и линковка в ядро при сборке самого пхп. Под это не забудь тоже CMake-макросов написать. И не забыть, что нифига не выйдет, потому что пхп собирается как раз тем же автомейком, который рассчитывает на то, что линкуемые модули тоже собираются автомейком и их подключение соотвественно делается как "./configure --with-modulename".
Таким образом, компиляция модуля к любой произвольной программе внезапно может свестись к переводу на цмейк системы сборки ядра этой программы (см. перевод ядра линукс на цмейк). Из действительно крупных проектов я знаю только кеды, использующие CMake, все остальные, как правило динозавры и тяготеют ко всем этим автоконф-автомейк. Что делает удобным использовать CMake только в автономных проектах. Ну или переводить на него всё, чем приходится пользоваться. Пианист этим уже занялся?

Ivan8209

> Может ли кто-нибудь подкинуть хорошую документацию для SCons?
"Никогда не пей эту гадость."
Это самая худшая система сборки из относительно известных.
---
...Я работаю...

Barbie29

что ты всякую каку пишешь? у человека может внутреннее желание заняться реверсинженерингом

Barbie29

студентота червей и вирусов пишет не из подражания наверное. А на галеры тыщу загони, и всё равно тыщапервый упираться будет, хотя грести оно для прогресса полезнее чем червирус какой-нибудь.

slonishka

а какая система сборки хороша (субъективно)?
существует ли система сборки, приятная во всех отношениях?
какую систему сборки ты бы обозвал plan9-way?

Ivan8209

На мой взгляд, реальной удобной альтернативы bmake с набором скриптов (пока?) нет.
То, что предлагает GNU для сборки вне дерева исходников, это просто неудобно.
Вдобавок погнутый make настолько погнут, что только для декларативного описания
проекта (LIB=c00l, SRCS=c00l_init.c c00l_fini.c c00l_doit.c, CPPFLAGS, CFLAGS и т.д.)
нужна кодогенерация (automake) либо какие-то головокружительные финты, чтобы
повторить то, что сделано в bmake (см. latex-mk). Необходимость кодогенерации,
вообще говоря, уже давно проблема: народ очень часто пишет свои правила только
потому, что не знает, как заставить automake делать то, что надо. Соответственно,
делают ошибки.
В целом же, ничего нового не придумали и, по нескольким разным причинам,
навряд ли сделают это в ближайшее время.
Есть мысли (подпольные, поскольку не очень ортодоксальные что
bmake можно попытаться "выпрямить," заставив его делать меньше
chdir-fchdir и всеобщей "перловщины."
---
"Верить в наше время нельзя никому --- порой даже самому себе.
Мне, правда, верить можно..."
Оставить комментарий
Имя или ник:
Комментарий: