1.3, little Bobby tables (?), 12:50, 09/12/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
старый, добрый, ламповый автоконф. Но и на солнце есть пятна, например можно было в config.log указывать строчку, где именно описывается вызов непрошедшего теста. Сэкономило б чутка времени при анализе окружения.
| |
|
2.17, Аноним (17), 16:06, 09/12/2020 [^] [^^] [^^^] [ответить]
| –8 +/– |
Кто хотел сэкономить время, те уже давно пользуются вменяемыми билд-системами, с которыми не надо продираться через три слоя автогенерированных скриптов под шеллы семидесятого года.
| |
|
3.18, пох. (?), 16:57, 09/12/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Кто хотел сэкономить время, те уже давно пользуются вменяемыми билд-системами
а что "вменяемые" работают только под "новым стандартом" - так это неважно, код этих экономных тоже только в нем и работает, причем только с еще недонаписанными распоследними версиями ВСЕГО.
В целом, согласен, зачем бы им автоконф?
> с которыми не надо продираться через три слоя автогенерированных скриптов под шеллы
> семидесятого года.
через них не надо "продираться", они просто делают свою работу. При условии что ты умеешь делать свою.
autoconf это немного не про твое неумение писать мэйкфайлы, это про портируемый софт, который вы теперь писать разучились.
| |
|
|
5.22, Аноним (22), 17:42, 09/12/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
С такими желаниями вокруг тебя скоро никого, кроме альтернативно ориентированных, не останется.
| |
5.30, пох. (?), 19:26, 09/12/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
дык, я и говорю - нах он не нужен тот автоконф.
Ты еще забыл уточнить,конечно, что кроме (по тексту) самых наираспоследних версий, а кто не спрятался - сам виноват. А то можно посмотреть, к примеру, _правильное_ применение gnu autoconf в не то что linux-only, а при сборке драйвера ядра - ага, ZoL.
Но это совершенно неправильный, конечно, драйвер - "с 2.6.32 по 5.+", кто ж так пишет, кроме полных лохов-неудачников?!
А 99% реальных применений автоконфа - --with-ненужно или --enable-ненужно. Где автоконф тоже ненужно, совершенно.
| |
5.33, заминированный тапок (ok), 20:19, 09/12/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Так ничего, кроме GNU/Linux не осталось.
так кроме GNU/Linux ничего не нужно.
а под портируемостью подразумевается поддержка разных аппаратных архитектур, а ненужных ОСей
| |
|
6.44, пох. (?), 12:35, 10/12/2020 [^] [^^] [^^^] [ответить] | –1 +/– | Угу, угу - обоих двух - amd64 и aarch64 Мозги при этом включать вообще не понад... большой текст свёрнут, показать | |
|
7.48, заминированный тапок (ok), 12:54, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
> (а то ж можно додуматься, что на какой-нибудь платформе твоих любимых готовых
> библиотечек - опаньки, а вообще ж нет. И не предвидится. Да
> ты ж модный пацан, не то что некоторые лохи, умеющие и
> в такое - нет, так заменим менее эффективным своим кодом, зато
> кроссплатформенным - ты просто скажешь "фуфуфу, фуфло ваша платформа, купите мак,
> как у всех!")
> Хорошо бы в код еще пометочку какую сразу ставить, чтоб отличать подобные
> поделки от нормального софта с первого взгляда. А, ну да, ну
> да - уже ж поставлено. Использует не autotools и не самодельную
> им замену, написанную из разумных соображений - в помойку.
чё за х*ню я только что прочитал? О_О
какой-то текстовый артхаус
| |
|
|
5.76, qwerty123 (??), 00:47, 12/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
>Так ничего, кроме GNU/Linux не осталось.
Как минимум, *BSD & производные OpenSolaris.
И не нуно про количество, "миллионы мух не дадут соврать"
| |
|
4.20, Аноним (20), 17:37, 09/12/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> через них не надо "продираться", они просто делают свою работу. При условии что ты умеешь делать свою.
Хреново делают только. Особенно если у тебя пачка библиотек, и приходится иметь дело с libtool. Там вообще тушите свет, сливайте воду.
| |
|
|
6.39, Ordu (ok), 07:47, 10/12/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Тем, что он, внизапна, требует компиляции.
И как это влияет на портируемость?
> ахринеть, да )))
Что-то я не вижу в зависимостях ничего непортируемого.
| |
|
7.46, пох. (?), 12:38, 10/12/2020 [^] [^^] [^^^] [ответить]
| +4 +/– |
> И как это влияет на портируемость?
они реально такие т*пые :-(
> Что-то я не вижу в зависимостях ничего непортируемого.
Приступай к портированию. Вот как ВЕСЬ этот мусор спортируешь на какую-нибудь необычную платформу - сможешь начать портировать собственно свой хеловрот из трех строк, который без него не собирается, потому что ты не умеешь в мэйкфайлы.
| |
|
8.49, Ordu (ok), 13:02, 10/12/2020 [^] [^^] [^^^] [ответить] | –1 +/– | Что это за платформа, куда весь этот мусор ещё не спортировали Кому она сдала... текст свёрнут, показать | |
|
|
10.65, Ordu (ok), 04:47, 11/12/2020 [^] [^^] [^^^] [ответить] | +/– | На 64мб рамы Да там ты не то, что cmake, даже и компилятор запускать не захочеш... большой текст свёрнут, показать | |
|
|
|
9.80, пох. (?), 17:01, 12/12/2020 [^] [^^] [^^^] [ответить] | +/– | с урезанием части зависимостей - скомпилируешь, есть их у меня Только такой cma... текст свёрнут, показать | |
|
|
|
6.43, topin89 (ok), 11:02, 10/12/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
> И это не говоря про отсутствие жесткого триплета при конфигурировании - никогда
> не знаешь, есть ли автозависимости, и если есть, откуда оно их
> цепануло
Можно подетальнее. Я не знаю, что значит "жесткий триплет при конфигурировании" и на что это влияет.
| |
6.51, Аноним (20), 19:51, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
> И это не говоря про отсутствие жесткого триплета при конфигурировании - никогда не знаешь, есть ли автозависимости, и если есть, откуда оно их цепануло
Триплет ему подавай… Тулчейн определи как доке описано, и не будет ничего цеплять откуда не надо.
| |
|
|
8.68, Аноним (20), 15:06, 11/12/2020 [^] [^^] [^^^] [ответить] | +/– | Это файлик такой man cmake-toolchains В нём всего лишь определяют несколько пе... текст свёрнут, показать | |
|
9.69, Аноним (20), 15:07, 11/12/2020 [^] [^^] [^^^] [ответить] | +/– | Но вообще можешь с тем же успехом эти переменные и из командной строки передать ... текст свёрнут, показать | |
|
|
|
6.85, Аноним (85), 12:01, 18/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
Не то чтобы я cmake защищал, мне он самому не очень нравится по многим причинам, но...
1) даже рекурсивный трэш из ldd на моей системе 28 строчек вместо ваших 60, но его для оценки использовать вообще неправильно, потому что:
2) давайте всё-таки смотреть прямые зависимости. B readelf -d cmake их в 3-4 раза меньше (читать NEEDED)
| |
|
5.37, slepnoga (ok), 01:10, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
head -1 /usr/bin/autoconf
#! /bin/sh
такие дела, да: из депенсов по __максимуму__
sh, perl, m4
| |
|
6.45, пох. (?), 12:36, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
самое главное что для _сборки_ проекта (в том числе и модифицированного по месту) они _вообще_ не нужны.
Нужен только примерно баш-совместимый шелл.
| |
6.52, Аноним (20), 19:52, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
> из депенсов по __максимуму__
> sh, perl, m4
Perl-то ты где там нашёл?
| |
|
7.57, slepnoga (ok), 22:51, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
Где там? с готовым configure он не нужен, согласен ;)
А если по полной - попробуй без miniperl, сообщиш результат
| |
|
|
5.55, Аноним (64), 20:58, 10/12/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Чем вам CMake непортируемый?
Не портируемый он тем, что он никогда не умел и всё ещё не умеет определять какие флаги нужны сишному компилятору на HP-UX и на AIX для безопасного использования потоков. По сути, он ничего кроме gcc -pthread и не знает. Модуль FindThreads.cmake - никчёмная ерунда.
| |
5.73, Аноним (73), 19:37, 11/12/2020 [^] [^^] [^^^] [ответить] | +/– | CMake 3 14 0 available for download Robert Maynard on March 14, 2019 Support for... большой текст свёрнут, показать | |
|
4.35, topin89 (ok), 23:17, 09/12/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Всё это замечательно, но на практике с autoconf было сушественно больше мороки, чем с CMake.
> а что "вменяемые" работают только под "новым стандартом" - так это неважно, код этих экономных тоже только в нем и работает, причем только с еще недонаписанными распоследними версиями ВСЕГО.
Ну внезапно, если есть возможность пользоваться последними стандартами -- ими и пользуются. Да и то, большинство библиотек работает на предыдущем стандарте, или стандарте на два поколения назад, для той самой совместимости. Или поддерживает оба стандарта, но старый в ограниченном режиме
> через них не надо "продираться", они просто делают свою работу. При условии что ты умеешь делать свою.
Конфиги автоконфа write-only что-ли?
> autoconf это немного не про твое неумение писать мэйкфайлы, это про портируемый софт, который вы теперь писать разучились.
Да как сказать, на CMake портируемый на Винду софт попроще писать получается. Да и под Андроид тоже.
Да и вообще, autoconf так себе система конфигурации, лучшее в ней то, что она была одной из первых.
Если не поставил gettext какой-нибудь -- падает с ошибкой, по которой никак не понять, что происходит. Если это такой стандартный инструмент, что не требует проверки на наличие, какого хрена его нет в зависимостях? В CMake всё в комплекте, а что нет, как правило ищется через find_package и если не находится, хотя бы ясно, чего не хватает.
Да и вообще, autoconf скрипт, который умеет делать autoreconf не в папке с кодом -- это редкость. Блин, да банально сделать configure, способным собирать вне папки с кодом не у всех выходит. И думай потом, где нагенерено, а где реальный код.
Я видел только одно преимущество -- генерация хелпа для ./configure. Вроде как такое можно сделать и для CMakeLists.txt, но на практике пока не встречал
| |
|
5.38, slepnoga (ok), 01:12, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
>стандартный инструмент, что не требует проверки на наличие,
Хоспади, ну собирайте своих котиков, плееры и мордокниги чем хотите - все равно bootstrap нового arch'a не для смузихлебов
| |
|
6.42, topin89 (ok), 10:59, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
>>стандартный инструмент, что не требует проверки на наличие,
> Хоспади, ну собирайте своих котиков, плееры и мордокниги чем хотите - все
> равно bootstrap нового arch'a не для смузихлебов
А по существу можно?
А главное, что за дихотомия такая? Если инструмент сложный -- то это тру, если проще с той же функциональностью, но новее -- то сразу для смузихлёбов. Так можно что угодно объявить ненужным, даже C (Есть же B или асм).
Да и не такой уж CMake и новый, 20 лет уже.
| |
|
7.60, slepnoga (ok), 23:07, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
>если проще с той же функциональностью
нет той же функциональности с точки зрения мантайнера дистра, для пейсателя-смузихлеба да, цмаке одназначна проще, ибо УМВР достигается быстрее. Ну а как только овер 5 опций сборки - смузихлеб начинает в цмаке хардкодить или писать sh скрипты, ибо падать нормально на конфигуре при ненайденных опциях цмаке просто так не может - это же надо вручную говорить. Вобщем кто на что заточен - кто то то на УМВР с хер знает откуда подтенутыми либами ( где нашли, там и подтянули) и хрен переопределишь дирами, а кто то умеет на тулчейне с статик кросс sh+tinylibc собрать glibc.
Для примерчика - https://github.com/libguestfs/libguestfs/blob/master/configure.ac
чето пока никто цмаке не осилил для этого проекта, хотя ужо скоро 10 лет, как мне грозились сделать цмаке всякие смузики. Но как доходит до mixed sources - тут вообще тушите свет, сливай воду ))))))))))))))))))))
| |
|
|
5.50, пох. (?), 15:30, 10/12/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Конфиги автоконфа write-only что-ли?
в целом да - написал один раз и забыл. Как оно и должно было быть.
> Да как сказать, на CMake портируемый на Винду софт попроще писать получается.
Не, не попроще. Потому что его писать приходится. Что с cmake, что без cmake. Я, если что, пытался тут. Нихрена cmake за меня не написал, представь себе! И я изрядно не рад был выяснять, как в нем вручную обойти проблему нетипичных зависимостей (вместо того чтоб возиться с сишным кодом, ради которого все затевалось) - и, честно говоря, голый мэйкфайл я бы для такого проекта быстрее написал.
Ну а что ms всосала cmake со всеми нужными деталями прямо в visual c, так что модному-современному "разработчику" вообще надо ответить на вопрос "откуда git clone" и оно все волшебным образом ему соберется - ну так ей тоже хотелось как попроще, а не чтоб ты мог писать переносимый код. Винда и новыйстандарт, и хватит всем.
> Если это такой стандартный инструмент, что не требует проверки на наличие, какого хрена его
> нет в зависимостях?
вопрос к майнтейнеру твоего дистрибутива. Зависимости ему полагалось бы написать.
> В CMake всё в комплекте
собранном тебе MS. А что не в комплекте - то не работает.
Вообще, чтоб ты в курсе был, у cmake есть свои стопиццот опций сборки. Правда, большую часть их трогать нельзя, потому что соберется, но собрать ничего не сможет.
Забавно, что пара из них порождала циклические зависимости.
| |
5.53, Аноним (20), 19:58, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Я видел только одно преимущество -- генерация хелпа для ./configure. Вроде как такое можно сделать и для CMakeLists.txt, но на практике пока не встречал
В смысле? В option() в обязательном порядке прописывается строка справки. Выводится по cmake -LH.
| |
|
6.59, topin89 (ok), 23:05, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
>> Я видел только одно преимущество -- генерация хелпа для ./configure. Вроде как такое можно сделать и для CMakeLists.txt, но на практике пока не встречал
> В смысле? В option() в обязательном порядке прописывается строка справки. Выводится по
> cmake -LH.
Как я и говорил, редко встречал на практике. То что в принципе можно, это да
| |
|
5.56, Аноним (64), 21:08, 10/12/2020 [^] [^^] [^^^] [ответить] | +/– | В моей практике с cmake-ом было СУЩЕСТВЕННО больше мороки на UNIX-ах, чем с auto... большой текст свёрнут, показать | |
|
6.61, topin89 (ok), 23:10, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
> я бы хотел
> ясно проартикулировать: то что какой-то автотулзовый проект не поддерживает out-of-source
> билд - это проблема конкретно этого проекта, а не автотулзов. Так
> же как бывают cmake-овские проекты, в которых out-of-source билды сломаны, несмотря
> на то, что написано в документации к самому cmake-у...
Всё так, но по ощущениям, большинство autotools-проектов строго in-source и большинство cmake-проектов как мининум поддерживают out-of-source. К минимум, для CMake нужно постараться, чтобы out-of-source _не_ поддерживался. Честно говоря, не знаю как именно в autoconf, но по ощущениям, нужно постараться как раз ради поддержки. Поправьте, если ошибаюсь.
| |
|
7.63, Аноним (64), 03:25, 11/12/2020 [^] [^^] [^^^] [ответить] | +1 +/– | Я бы сказал, что в в автотулзах как раз всё просто srcdir, abs_srcdir, top_srcd... большой текст свёрнут, показать | |
|
|
|
|
3.26, Аноним (-), 19:01, 09/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
> уже давно пользуются вменяемыми билд-системами, с которыми не надо продираться
> через три слоя автогенерированных скриптов под шеллы семидесятого года.
Да, там три слоя фекалий другого типа хомячков, а когда что-то ломается то вообще логов нет. Не говоря о том что build-deps более другие. В сабже configure по минимуму вообще послать может на системе с posix shell и более нифига. И это уже начало.
| |
|
4.47, пох. (?), 12:39, 10/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
А зачем тебе их логи? Когда что-то сломается в модном мезоне или еще какой ереси - ты вряд ли сможешь это починить.
| |
4.54, Аноним (20), 20:01, 10/12/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Да, там три слоя фекалий другого типа хомячков, а когда что-то ломается то вообще логов нет.
Ну не обязательно же речь о meson, чего ты?
| |
|
|
|
1.6, Аноним (6), 13:29, 09/12/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
>Обеспечена совместимость с выпущенными в 2011 году стандартами C и C++.
Не прошло и 10 лет!!!
| |
1.7, Zenitur (ok), 13:44, 09/12/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Помню, когда прекратилась поддержка CentOS 5, в Firefox сразу перешли на GTK3 и PulseAudio. Сейчас, когда прекратилась поддержка CentOS 6, Autoconf 2.70 вышел. Эх, а ведь 2.69 это целая эпоха.
| |
|
|
3.27, Аноним (-), 19:01, 09/12/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну, как раз вовремя же. Пусть теперь шляпа сама это и опакечивает, если ей надо.
| |
|
|
1.8, Аноним (20), 13:57, 09/12/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Обеспечена совместимость с выпущенными в 2011 году стандартами C и C++.
Сверил календарь.
| |
1.31, anonymous (??), 20:11, 09/12/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Лично я считаю, что должна быть сквозная интеграция от сборщика до дистрибутива. Единый софт должен собирать софт, клепать артефакты, паковать их в пакеты дистрибутива и накатывать куда скажут.
Чтобы любые зависимостей на всей длине цепочек могли решаться системно. Чтобы цикл от пуша до тестирования (как софта самого по себе так и пакета в целом) до публикации был как можно корче и безболезненнее.
| |
|
2.34, Led (ok), 22:48, 09/12/2020 [^] [^^] [^^^] [ответить]
| +6 +/– |
...и всё это при том, чтоб в школу не ходить, уроки не учить, а весь день смотреть мультики и прочие тиктоки...
| |
|
1.40, Аноним (40), 09:13, 10/12/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Добавлена поддержка повторяемых сборок, результат которых будет одинаковым на разных системах.
Reproduction на 100% решалось устоновкой переменной среды и добавлением нескольких опций к gcc.
Не удивлюсь если работавшую как швейцарские часики reproduction (одно из требований безопасности) сегодня сломали.
| |
|
2.74, Аноним (-), 19:56, 11/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
Интереса ради - почему не kconfig тогда уже сразу вместо двух нажатий клавиш для добавления опций сборки в автоконф ?
| |
2.75, Аноним (75), 21:27, 11/12/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Брать лучше последнюю версию.
Интересно, как этим пользоваться во фряхе, если первой строчкой в README говорится о том что фряшная версия bmake, сопровождением которой занимается sjg не годится? Еще один bmake ставить?
| |
|
3.81, пох. (?), 17:19, 12/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Интересно, как этим пользоваться во фряхе, если первой строчкой в README говорится
да никак, "мы поддерживаем только новыйстандарт, а не эти ваши юникс-совместимые ненужно-системы!"
| |
|
4.83, vle (ok), 21:15, 12/12/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Интересно, как этим пользоваться во фряхе, если первой строчкой в README говорится
> да никак, "мы поддерживаем только новыйстандарт, а не эти ваши юникс-совместимые ненужно-системы!"
Ирония, конечно, понятна, но список поддеживаемых платформ у mk-configure
сильно шире, чем "новыйстандарт". На всем этом mk-c регулярно тестируется.
| |
|
3.82, vle (ok), 21:13, 12/12/2020 [^] [^^] [^^^] [ответить]
| +/– |
>> Брать лучше последнюю версию.
> Интересно, как этим пользоваться во фряхе, если первой строчкой в README говорится
> о том что фряшная версия bmake, сопровождением которой занимается sjg не
> годится? Еще один bmake ставить?
На сколько мне известно SJG занимается портированием bmake на все, что движется.
При чем тут FreeBSD? Но вообще, с некоторых пор mk-configure работает с родным
FreeBSD-шным make-ом, посколько его заменили NetBSD-шным. Несколько лет назад.
| |
|
|
|