1.1, Аноним (-), 17:35, 29/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
Удивительно что оно ещё развивается, да ещё и ломая совместимость, в то время как ни один новый проект в здравом уме не будут собирать этой пакостью, когда есть cmake, и нужно оно только для поддержки легаси.
Для статистики (из FreeBSD портов):
2010-12-31: autotools: 5106, cmake: 268
2012-12-29: autotools: 4899, cmake: 450
буквально вот вчера обновили supertuxkart, который тоже перешел с autocrap на cmake.
| |
|
2.2, Аноним (-), 17:56, 29/12/2012 [^] [^^] [^^^] [ответить]
| +9 +/– |
> Для статистики (из FreeBSD портов):
Учитывая религиозную ненависть FreeBSD к GNU - не показатель.
| |
|
3.6, Аноним (-), 18:49, 29/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
Во-первых, не надо свои тараканы на других переносить, никакой ненависти нет.
Во-вторых, для тех кто в танке: в портах находится сторонее ПО под любыми лицензиями.
| |
|
4.57, Аноним (-), 06:47, 01/01/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Во-первых, не надо свои тараканы на других переносить, никакой ненависти нет.
Оно и заметно - из-за любви переходят на компилер который генерит более паршивый код.
| |
|
|
2.3, Andrey Mitrofanov (?), 17:59, 29/12/2012 [^] [^^] [^^^] [ответить]
| +7 +/– |
> 2010-12-31: autotools: 5106, cmake: 268
> 2012-12-29: autotools: 4899, cmake: 450
>с autocrap на cmake.
За джва года cmake стал ещё лучше! Был в 20 раз хуже, теперь только в 10!! Ура?
| |
|
3.7, Аноним (-), 18:50, 29/12/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> 2010-12-31: autotools: 5106, cmake: 268
>> 2012-12-29: autotools: 4899, cmake: 450
>>с autocrap на cmake.
> За джва года cmake стал ещё лучше! Был в 20 раз хуже,
> теперь только в 10!! Ура?
cmake всегда был лучше. А статистика показывает что не только новые проекты избегают autocrap, но и старые с него сваливают ударными темпами.
| |
|
4.9, Алексей (??), 20:09, 29/12/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
А у вас осталась запасная пара розовых очки для детекта ударных темпов?
| |
4.11, Crazy Alex (ok), 20:50, 29/12/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
>>> 2010-12-31: autotools: 5106, cmake: 268
>>> 2012-12-29: autotools: 4899, cmake: 450
>>>с autocrap на cmake.
>> За джва года cmake стал ещё лучше! Был в 20 раз хуже,
>> теперь только в 10!! Ура?
> cmake всегда был лучше. А статистика показывает что не только новые проекты
> избегают autocrap, но и старые с него сваливают ударными темпами.
Угу. Только вменяемого лога от него добиться, если что-то пошло не так - то ещё удовольствие. И список конкретных тестов, которые оно провело, и их результатов - тоже так просто не видно. В отличие от autotools, в которых всё нагляднее некуда.
| |
|
5.16, Аноним (-), 22:55, 29/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
Видел ваши опусы в треде о GnuTLS, постыдились бы ламерствовать дальше. Всё там видно, загляните в CMakeFiles/. И в читабельном формате, в отличие от простыни мусора от autocrap.
| |
|
6.31, Аноним (-), 03:16, 30/12/2012 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Видел ваши опусы в треде о GnuTLS, постыдились бы ламерствовать дальше. Всё
> там видно, загляните в CMakeFiles/. И в читабельном формате, в отличие
> от простыни мусора от autocrap.
Да у человека GNU головного мозга. Будет до пены у рта защищать даже autocrap.
| |
|
7.33, Crazy Alex (ok), 03:33, 30/12/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
да будь он десять раз крап - если из его вывода я вижу, где что сломалось, а CMake выводит тупое сообщение, что проблема есть, и ноль деталей - мне такого счастья не надо. И красот его тоже не нужно. Тупо лог всего, что запускалось, со строками запуска.
| |
|
|
9.59, Аноним (-), 07:03, 01/01/2013 [^] [^^] [^^^] [ответить] | –1 +/– | Да уж Мало того что cmake и его проверки глючные, так еще и въезжать что ему не... текст свёрнут, показать | |
|
|
7.58, Аноним (-), 07:01, 01/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Да у человека GNU головного мозга. Будет до пены у рта защищать даже autocrap.
На практике автокрап получше cmake-а работает. Cmake вообще горбатый и регулярно валится так что хрен поймешь чего не хватило. Автокрап по крайней мере нормально информирует что не так и по минимуму пошлет на любой системе где есть шелл. А вот cmake - и зависимостей для взлета больше, и детектирование чего не хватило жутко горбатое. И остальные "убийцы" - не лучше.
| |
|
6.32, Crazy Alex (ok), 03:30, 30/12/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
Вы того, заканчивайте вещества употреблять.
Во-первых, вы меня с кем-то совершенно сурово попутали. Я в том треде не писал, насколько я помню.
Во-вторых - что я где увижу, какой, к чертям, "другой формат", если мне нужно видеть, на чем сломался билд - то есть вывод того, что из мейк-файлов запущено было? А CMake этого не выводит. Скорее всего можно как-то заставить, но подход автотулзов, когда вывод, который должен быть в консоли, там и есть, мне нравится гораздо больше.
| |
|
7.54, cmp (??), 00:34, 31/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
Полностью согласен, через раз cmake тереят -ld параметр линковки, в автоконфе в таких случаях даже лезть никуда не надо, уже помню какие функции откуда линкуются, просто из шелла последнюю команду запускаю с добавлением -ld и снова make и делов-то; в этой пестрой уйне я по 2-3 часа затупляю в ее конфиги чтобы понять какого хера ей надо, откуда она извлекает пути к библиотекам, где флаги копиляции менять, а кэширование ее тотальное это просто песня- не собралось с первого раза, пересобирай, а то и перераспаковывай, короче прозрачности 0.
| |
|
|
|
|
3.17, Аноним (-), 22:56, 29/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
> За джва года cmake стал ещё лучше! Был в 20 раз хуже,
> теперь только в 10!! Ура?
Митрофанушка как всегда на коне, браво!
| |
|
4.64, Аноним (-), 19:38, 01/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Митрофанушка как всегда на коне, браво!
Ну а кто виноват что тут кормят хорошо? :)
| |
|
|
2.5, Аноним (-), 18:12, 29/12/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Для статистики (из FreeBSD портов):
Опрос по статистике пакетов ubuntu показал, что 100% пакетов используют инфраструктуру Launchpad.
| |
|
3.8, Аноним (-), 18:53, 29/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Для статистики (из FreeBSD портов):
> Опрос по статистике пакетов ubuntu показал, что 100% пакетов используют инфраструктуру
> Launchpad.
Что сказать-то хотели? FreeBSD порты всего лишь используют систему сборки апстрима, соотсвтственно просто отражают использование систем сборки на некоторой выборке программных пакетов. Для совсем безграмотных - выборка никак не зависит от лицензии.
Можете посмотреть в portage или AUR - там будет то же самое.
| |
|
4.10, Crazy Alex (ok), 20:47, 29/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
Не знаю как там целиком в портаже - но в том, что у меня на машине, отношение autotools/cmake навскидку примерно 20 к 1. Если не круче.
| |
|
5.19, Аноним (-), 22:59, 29/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Не знаю как там целиком в портаже - но в том, что
> у меня на машине, отношение autotools/cmake навскидку примерно 20 к 1.
> Если не круче.
И? Вы как митрофанушка, оцениваете популярность инструментов по общей доле? Если бы autocrap работал, cmake чтобы набрать столько же проектов сколько используют autocrap понадобилось бы столько же времени сколько лет autocrap'у, и это нормально, потому что не за чем трогать работающие вещи. Но что парадоксально, с autocrap драпают сотрями проектов в год. Почему, как вы думаете?
| |
|
6.21, all_glory_to_the_hypnotoad (ok), 23:14, 29/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Если бы autocrap работал, cmake чтобы набрать столько же проектов сколько используют autocrap понадобилось бы столько же времени сколько лет autocrap'у
у аутокрапа в своё время было одно преимущество - оно было единственной системой сборки продолжительное время, потому на нём почти все более-менее древние проекты.
А сейчас уходить с autotools'ов можно не только на cmake, да и существенно лучшей замены аутотулзам всё ещё нет. cmake это аналогичное насилование make файлов, со своими минусами и с совсем небольшим кол-вом фичь.
Не будет у cmake никогда такой же популярности, как у autotools. В относительно ближайшее время появятся полные альтернативы системам на make файлах и весь апстрим будет уже переходить на них.
> Но что парадоксально, с autocrap драпают сотрями проектов в год.
2 по сравнению с 1 даёт +100 %, однако единица остаётся единицой несмотря на 100 %
| |
|
7.24, Аноним (-), 00:03, 30/12/2012 [^] [^^] [^^^] [ответить] | +2 +/– | Только scons - не система сборки, а кривой скрипт на питоне, waf - то же самое,... большой текст свёрнут, показать | |
|
|
9.30, Аноним (-), 03:15, 30/12/2012 [^] [^^] [^^^] [ответить] | +/– | Пустые слова В чём адхочность и костыльность Что вам не нравится в FindBoost c... текст свёрнут, показать | |
|
8.70, vle (ok), 01:21, 03/01/2013 [^] [^^] [^^^] [ответить] | +/– | Легковесных альтернатив больше, чем может показаться mk-configure, например Ав... текст свёрнут, показать | |
8.75, arisu (ok), 04:24, 03/01/2013 [^] [^^] [^^^] [ответить] | +/– | http msteveb github com autosetup да, это не полная замена но вполне замен... текст свёрнут, показать | |
|
|
|
|
|
|
|
3.25, Аноним (-), 00:06, 30/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
> cmake тот же самый крап, но немного более адекватный. И таки да,
> 4899 смотрит на ваши 450 как на гогно
Нет, на гoвно смотрит +200 и рост в два раза cmake на -200 аутокрапа. Но вы можете фапать на накопленную критическую массу.
| |
|
4.60, Аноним (-), 07:07, 01/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Сама идея генерить make файлы порочна.
Чтобы не генерить - должно околеть напрочь вообще все кроме 1-2 видов архитектур и систем. Что тоже порочно по смыслу.
| |
|
5.69, тот ещё (?), 14:13, 02/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Сама идея генерить make файлы порочна.
> Чтобы не генерить - должно околеть напрочь вообще все кроме 1-2 видов
> архитектур и систем. Что тоже порочно по смыслу.
Скорее наоборот: генережка make-файлов необходима только одной системе --- W., ибо только на ней отсутствует возможность нормального скриптования.
| |
|
6.71, vle (ok), 01:23, 03/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
>>> Сама идея генерить make файлы порочна.
>> Чтобы не генерить - должно околеть напрочь вообще все кроме 1-2 видов
>> архитектур и систем. Что тоже порочно по смыслу.
> Скорее наоборот: генережка make-файлов необходима только одной
> системе --- W., ибо только
> на ней отсутствует возможность нормального скриптования.
Люто плюсую, черт побери! Кодогенерация для систем
сборки -- чистой воды идиотизм.
| |
|
|
|
|
2.23, Аноним (-), 23:45, 29/12/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Удивительно что оно ещё развивается, да ещё и ломая совместимость, в то
> время как ни один новый проект в здравом уме не будут
> собирать этой пакостью, когда есть cmake, и нужно оно только для
> поддержки легаси.
> Для статистики (из FreeBSD портов):
> 2010-12-31: autotools: 5106, cmake: 268
> 2012-12-29: autotools: 4899, cmake: 450
Странно было бы другого ожидать. cmake - как глоток чистого воздуха, и аналогов ему сейчас нет.
| |
|
3.65, Аноним (-), 19:40, 01/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Странно было бы другого ожидать. cmake - как глоток чистого воздуха,
Глоток выхлопных газов когда что-то не прокатило и фиг поймешь по его выводу чего именно.
| |
|
2.37, ip1981 (ok), 11:55, 30/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
Пф. Я всегда предпочитаю Autotools. Любой специалист в здравом уме понимает, что Autotools - отличный инструмент, и только неосиляторы-наколенники исходят на говно.
| |
|
3.76, arisu (ok), 04:27, 03/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Любой специалист в здравом уме понимает, что Autotools — отличный инструмент
как хорошо, что я не работаю с такими «специалистами в здравом уме».
| |
|
|
1.15, Mr. Cake (?), 22:37, 29/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
I saw a book entitled "Die GNU Autotools" and I thought "My feelings exactly". Turns out the book was in German. ©
| |
1.18, anonymous (??), 22:57, 29/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
autotools, IMNSHO, были и остаются ярким примером over-engineering.
- только unix-подобные системы
- HAVE_SOMETHING в коде даже если и использовались, то там все равно писалась
ветка под конкретную систему (т.е. многочисленные тесты гонялись
впустую, решение всё равно сводилось к выбору на основе 'uname -a')
- самосовместимость autotools ниже плинтуса --- очень редкие версии
вытерпят друг друга
| |
|
2.22, all_glory_to_the_hypnotoad (ok), 23:22, 29/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
> - только unix-подобные системы
и где же здесь 'over-engineering' ?
> HAVE_SOMETHING в коде даже если и использовались...
и здесь? Это же просто результат лютого быдлокода на m4 скриптах.
autotools были первой популярной системой сборки, развивались стихийно на коленках, примерно как сейчас php. Никто особо не задумывался над архитектурой проекта и его юзабилити, со временем маленький ком дерьма стал большим. Весь фокус.
от over-engineering'а в них разве что потуги GNUшников делать свои проекты работоспособными на широком круге ОС, не только на юниксоподобных, прошу заметить.
| |
|
3.27, anonymous (??), 01:33, 30/12/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
> и где же здесь 'over-engineering' ?
Частично принято ;)
Там огромное количество бесполезных тестов. Ну, и 'friends' --- всякие libtools до кучи.
| |
|
4.77, arisu (ok), 04:36, 03/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Там огромное количество бесполезных тестов.
не «бесполезных», а «бесполезных, потому что устарели». что, конечно, не отменяет основного — их бесполезности.
| |
|
|
|
|
2.36, Главные Редакторы (?), 11:32, 30/12/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
Согласен. Зачем куча инструментов, освоить которые, а потом ещё использовать, гораздо сложнее, чем создать список *.c файлов, откомпилировать и слинковать? При том, что эти инструменты постоянно пытаются убежать от обратной совместимости.
Представьте себе ситуацию, в которой пианист пытается научиться играть на пианино, которое всё время меняет форму, размер и положение клавиш, высоту сиденья и положение педали. Мало того, разработчики этого чуда пианино придумали замечательную фичу: чем чаще нажимается та или иная клавиша, тем ближе она располагается к указательному пальцу. Более того, было решено в каждой новой версии пианино автоматически удалять с клавиатуры клавиши, которые в предыдущих двух и более подходов пианиста к пианино не нажимались.
| |
|
3.38, Crazy Alex (ok), 12:58, 30/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
Вот нарвётесь на какие-нибудь неочевидные зависимости - поймёте. Ну там - файлы include с одинаковыми именами, но по сути - разные (от разных версий библиотеки или вообще от разных библиотек). Или на библиотеки, собранные с разными флагами, из которых вам подходятдалеко не все. Или на компиляторы, которым надо скармливать разные флаги. Или когда на разных платформах библиотека предосталяет разный функционал, причём кое-где ещё и бажный (канонический пример - poll/select/kqueue/epoll)... Да вагон вариантов. Оно да, на локалхосте "чисто для себя" и обойтись можно. Если не думать, что софтина должна собираться у кого-то другого.
| |
|
4.42, anonymous (??), 14:09, 30/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Вот нарвётесь на какие-нибудь неочевидные зависимости - поймёте.
Поддерживаю Главных Редакторов.
Сделать "из первых принципов" гораздо проще и быстрее, чем прорываться через наслоения autotool'зов.
Ну, и таки да, нарывался --- уговорить "неочевидные" вещи в auto... --- тройная работа (сделать неочевидную вещь, разобраться, куда ее можно подоткнуть в autotools, сделать с autotools). Причем разобраться в autotools --- самое трудоемкое.
| |
|
5.55, Crazy Alex (ok), 04:37, 31/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
Оно мерзкое в написании, согласен, и осваивается паршиво и-за отсуствия высокоуровневого описания. Но из того, что видел - самое удобное потом в пользовании. Особенно - если надо разрулить какие-то проблема
| |
|
4.68, pavlinux (ok), 01:02, 02/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Вот нарвётесь на какие-нибудь неочевидные зависимости - поймёте.
Если майнтейнер PupkinLinux решил запихуть хедеры <sys/> и <asm/> в /usr/include/mysystem, /usr/include/assembler
а библиотеки в /usr/lib-pupkin/64bit, это его личные сексуальные проблемы, для нормальных существуют стандарты!
| |
4.72, vle (ok), 01:31, 03/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Вот нарвётесь на какие-нибудь неочевидные зависимости - поймёте. Ну там - файлы
> include с одинаковыми именами, но по сути - разные (от разных
> версий библиотеки или вообще от разных библиотек). Или на библиотеки, собранные
> с разными флагами, из которых вам подходятдалеко не все. Или
> на компиляторы, которым надо скармливать разные флаги. Или когда на разных
> платформах библиотека предосталяет разный функционал, причём кое-где ещё и бажный (канонический
> пример - poll/select/kqueue/epoll)... Да вагон вариантов. Оно да, на локалхосте "чисто
> для себя" и обойтись можно. Если не думать, что софтина должна
> собираться у кого-то другого.
Все перечисленное не убеждает лично меня, что для решения этих
проблем нужно было написать такое г., как autotools.
Вот https://github.com/cheusov/mk-configure
Типичный код пишется на порядок проще. Сложный написать возможно
и тоже несложно. Примеры -- рядом, если любопытно.
И autoconf и, тем более, automake изначально имели отвратительный дизайн.
libtool -- единственное из этой тройки, что хоть как-то оправдано,
да и то с натяжкой.
| |
|
|
|
1.40, ip1981 (ok), 13:23, 30/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
И вообще, уважаемые коллеги.
Ни одна система сборки не "должна собирать на любой системе".
Система сборки - это прежде всего язык, которым автор программы пользуется, чтобы описать, что он хочет для своей программы.
И autotools тут - великий и могучий язык.
Если забыть про макросы и Makefile.am, то autotools прекрасен уже тем, что позволяет прямо на месте спуститься на уровень shell и plain makefile, немедленно прямо в confugure.ac или Makefile.am. (примерно как php в html или наоборот.).
А если вы видели плохие пакеты с autotools, так это не проблема autotools, а тем программистов руками, которые их понаписали.
Тысячи их! https://twitter.com/i/#!/ip1981/media/slideshow?url=pic.twitter.com%2F3OZhHZvy
| |
|
2.43, anonymous (??), 14:12, 30/12/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ю
> Если забыть про макросы и Makefile.am, то autotools прекрасен уже тем, что
> позволяет прямо на месте спуститься на уровень shell и plain makefile,
Аааа, собственно, зачем мне еще слой m4, если 'спуститься на уровень shell' проще просто из make'а?
| |
|
3.44, ip1981 (ok), 14:23, 30/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Ю
>> Если забыть про макросы и Makefile.am, то autotools прекрасен уже тем, что
>> позволяет прямо на месте спуститься на уровень shell и plain makefile,
> Аааа, собственно, зачем мне еще слой m4, если 'спуститься на уровень shell'
> проще просто из make'а?
Потому что вы плохо знаете shell и особенности различных операционных систем и реализация всевозможных функций, макросов, утилит?
Да и причёт тут m4? Это всего лишь язык, на котором написаны макросы. Или в cmake FindPackage() - дар божий?
| |
|
4.48, anonymous (??), 15:06, 30/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Ю
>>> Если забыть про макросы и Makefile.am, то autotools прекрасен уже тем, что
>>> позволяет прямо на месте спуститься на уровень shell и plain makefile,
>> Аааа, собственно, зачем мне еще слой m4, если 'спуститься на уровень shell'
>> проще просто из make'а?
> Потому что вы плохо знаете shell и особенности различных операционных систем и
> реализация всевозможных функций, макросов, утилит?
Из чего был сделан такой вывод?
> Да и причёт тут m4? Это всего лишь язык, на котором написаны
> макросы.
Я не вижу, какую проблему мне решает наличие ещё одного слоя на m4.
Например, вполне сравнимый по мощности и возможносям язык макросов реализован в GNU Make Utility.
> Или в cmake FindPackage() - дар божий?
Я этого не говорил. CMake лучше autotools только в одном: им можно пользоваться и на off-topic'е.
| |
|
5.49, ip1981 (ok), 15:32, 30/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
Уважаемый, вы в курсе, что ни m4, ни перл не нужны для сборки пакета, использующего autotools?
configure - чистый shell, Makefile.in - чистый makefile (без GNU extentions, если разработчик не идиот). configure подставляет значения в Makefile.in. Всё.
| |
|
6.50, anonymous (??), 15:40, 30/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Уважаемый, вы в курсе, что ни m4, ни перл не нужны для
> сборки пакета, использующего autotools?
> configure - чистый shell, Makefile.in - чистый makefile (без GNU extentions, если
> разработчик не идиот). configure подставляет значения в Makefile.in. Всё.
А, так Вы на уровне (./configure && make && sudo make install). На этом уровне все едино.
| |
|
|
|
3.45, ip1981 (ok), 14:26, 30/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
Вообще, система сборки нужна для более или менее серьёзного, многоплатформенного, пакета. Для поделок не нужен даже make - достаточно gcc *.c -o foo.
| |
3.46, ip1981 (ok), 14:30, 30/12/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ю
>> Если забыть про макросы и Makefile.am, то autotools прекрасен уже тем, что
>> позволяет прямо на месте спуститься на уровень shell и plain makefile,
> Аааа, собственно, зачем мне еще слой m4, если 'спуститься на уровень shell'
> проще просто из make'а?
Как бы это ни пафосно звучало, autotools предоставляет свободу и разработчику, и пользователю. Всегда можно сделать *нестандартную вешь*.
| |
|
|
1.41, ip1981 (ok), 13:45, 30/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Перепишите на cmake/scons/gyp/wtf:
(@<:@@:>@ == [], квадратные кавычки заняты autoconf)
AC_MSG_CHECKING([whether YAML::Node has operator@<:@@:>@ for char*])
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$YAMLCPP_CFLAGS"
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM(
[#include <yaml.h>],
[YAML::Node doc; doc@<:@(char *)"test"@:>@;]
)],
[AC_MSG_RESULT([yes])
AC_DEFINE(YAML_NODE_HAS_OPERATOR_NONCONST_CHAR, [1], [Define if YAML::Node has operator@<:@@:>@ for char*])],
[AC_MSG_RESULT([no])]
)
CPPFLAGS="$save_CPPFLAGS"
| |
|
2.52, all_glory_to_the_hypnotoad (ok), 19:35, 30/12/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> (@<:@@:>@ == [], квадратные кавычки заняты autoconf)
> И autotools тут - великий и могучий язык.
зашибись какой великий и могучий. Настолько могучий, что к твоему примеру нужно в два раза больше коментов написать с объяснением что это такое и как оно работает.
только упоротый на всю голову autotools'ы может называть отличным инструментом.
| |
|
1.53, Аноним (53), 00:28, 31/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Ребята не надо меряться пиписьками. Тоже самое можно предложить и Вам: переписать CMake на Autotools.
На Cmake переходят не потому, что он такой хороший, а из-за обратной совместимости. Разработчику навряд ли захочется переписывать сборочные файлы (которые уже мхом поросли, и никто не помнит, что там вообще было) только потому, что ребята из GNU всталь не с той ноги.
| |
|
2.56, ip1981 (ok), 15:12, 31/12/2012 [^] [^^] [^^^] [ответить]
| +/– |
Дело же не в переписывании, а том, как это реализовать на других системах сборки.
| |
|
3.61, thelamon (ok), 18:54, 01/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
Правда в том, что не всегда всякие....вычурные фишки _нужно_ реализовывать в других системах сборки. KDE юзает cmake и счастлив, например. nginx юзает самописные чеки и не менее счастлив, V8 && MongoDB юзают scons и тоже счастливы.
Лично мне не нравятся autotools-ы, хотя не могу сказать, что CMake столь уж прекрасен в написании - но там есть некоторая высокоуровневость и понятность :)
| |
|
4.63, ip1981 (ok), 19:24, 01/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Правда в том, что не всегда всякие....вычурные фишки _нужно_ реализовывать в других
> системах сборки. KDE юзает cmake и счастлив, например. nginx юзает самописные
> чеки и не менее счастлив, V8 && MongoDB юзают scons и
> тоже счастливы.
И не надо путать *нужно* и *возможно*. Не нужно - не делай. В том числе не пиши свою мега систему сборки.
Вот совету людей, собаку съевших, http://wiki.debian.org/UpstreamGuide
| |
|
|
6.67, ip1981 (ok), 20:59, 01/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> Вот совету людей, собаку съевших, http://wiki.debian.org/UpstreamGuide
> На Демьяне свет клином не сошёлся.
Вот именно. Существует множество систем, компиляторов, компоновщиков, библиотек, структур файловых систем и проч. А GNU, в силу отсутствия собственной ОС, имеют систему сборки Autotool, которая и делает GNU страшно портируемой.
| |
|
7.74, vle (ok), 01:45, 03/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
>>> Вот совету людей, собаку съевших, http://wiki.debian.org/UpstreamGuide
>> На Демьяне свет клином не сошёлся.
> Вот именно. Существует множество систем, компиляторов,
> компоновщиков, библиотек, структур
> файловых систем и проч. А GNU, в силу отсутствия собственной ОС,
> имеют систему сборки Autotool, которая и делает GNU страшно портируемой.
Страшно дерьмовой он ее делает. Надо людям-осиляторам ознакомиться
все-таки с альтернативными подходами, тогда мир станет
больше, красивее и разнообразнее ;-)
| |
|
|
|
|
|
|
|