The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Доступна система сборки Meson 0.42, на которую переходит sys..., opennews (??), 15-Авг-17, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


27. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Michael Shigorinemail (ok), 16-Авг-17, 07:24 
> Тут скорее не make, а связка autotools+make. meson - аналог autotools.
> autotools - по сути нечто подобное sh-скриптам, там тормоза будут, понятное дело.

Там тормоза не от скриптов, а от тестов.  Если "обойтись" без сборки и запуска тестов, результат быстро скатится к "работает только на linux/intel, ну, может, ещё freebsd/arm" (хотя куда же без винды и макоси, как я мог забыть).

> А если ещё учесть, какое количество костылей туда обычно добавляется для
> совместимости со старыми версиями...

Здесь бы хорошо смотрелась парочка примеров, как мне кажется. :)

Ответить | Правка | Наверх | Cообщить модератору

41. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +2 +/
Сообщение от anonymous yet another (?), 16-Авг-17, 08:47 
> Если "обойтись" без сборки и запуска тестов, результат быстро скатится к "работает только на linux/intel, ну, может, ещё freebsd/arm"

Результаты этих тестов в подавляющем большинстве случаев не используются внутри проекта. А время на них потрачено много.

Ну и: автор либо знает как выкручиваться и выкручивается (о, я на OS/360! значит, ... ), либо все "и так работает", либо "платформа не поддерживается". --- в любом случае смысл в этих тестах в целом отсутствует.

Ответить | Правка | Наверх | Cообщить модератору

91. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –2 +/
Сообщение от пох (?), 16-Авг-17, 15:20 
> Результаты этих тестов в подавляющем большинстве случаев не используются внутри проекта.

точнее, они используются, но там и так, куда их авторскрипты напихают - то есть там, где и без них бы все работало.

> Ну и: автор либо знает как выкручиваться и выкручивается (о, я на
> OS/360! значит, ... )

значит, можно было обойтись просто #ifdef'ом - причем раз уж он потрудился разобраться в тонкостях платформы, значит уж точно в курсе, как ее определить подобным образом - и ifdef'ов уже понатыкал, только не штатных компиляторных, а имени configure.

> , либо все "и так работает", либо "платформа не поддерживается". --- в любом случае
> смысл в этих тестах в целом отсутствует.

остается еще банальная лень вручную писать скрипты, умеющие --with-чтото и --enable-както, если проект таки предназначен для сборки разными способами и в разных окружениях - проще заставить autoconf нагенерить. Ну а что при этом он еще тонны мусора протестирует и нагенерит - неизбежное зло. Это и есть, пожалуй, 99% всех реальных причин использования автотулзов.
(ну и еще почему-то - паническая боязнь сделать user-editable makefile, что-вы, что-вы, это ж немодно - юзер привык ключики в командной строке копипастить)

проекты с самопальной configure без ненужых тестов попадаются раз на сотню, проекты без configure с банальной правкой удобочитаемого makefile - раз на тысячу. И когда потом надо пересобрать чуть по-другому, у тебя остается этот файл, а не config.status невменяемый, или феноменальная память всех ключиков, использованных прошлый раз.

Ответить | Правка | Наверх | Cообщить модератору

92. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от user (??), 16-Авг-17, 15:48 
>user-editable makefile

В простейших случаях можно сделать несколько целей, например min/max/default.

Ответить | Правка | Наверх | Cообщить модератору

93. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от user (??), 16-Авг-17, 15:50 
>паническая боязнь сделать user-editable makefile

1. могут быть конфликты при обновлении
2. если хочешь отправить свои патчи, оттуда придётся это выколупывать

Ответить | Правка | К родителю #91 | Наверх | Cообщить модератору

96. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от пох (?), 16-Авг-17, 16:29 
> 1. могут быть конфликты при обновлении

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

> если хочешь отправить свои патчи, оттуда придётся это выколупывать

тогда это фиговые патчи - раз ты патчил специфический вариант сборки, ты запросто мог сломать неспецифический. А для тестирования - что configure перезапускать в отдельной помойке, что makefile сказать revert. (а, ну да, тестировать же немодно, фигак-фигак, в CI/CT, если что, через 17 минут откатит как было. Это, что характерно, в системе, настраиваемой через makefile ;)

Ответить | Правка | Наверх | Cообщить модератору

54. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –2 +/
Сообщение от пох (?), 16-Авг-17, 10:18 
> Там тормоза не от скриптов, а от тестов.

которые, кстати, не нужны.

> Если "обойтись" без сборки и запуска тестов, результат быстро скатится к "работает
> только на linux/intel, ну, может, ещё freebsd/arm"

Миша, а ты много видел auto-хернь-прожектов, работающих сами по себе - ну вот хотя бы на всем перечисленном?
Лично я - ни одного, во всяком случае, сложнее hello.c (которому они и не нужны).

Зато отлично помню раннюю версию mono - там был мало того что autotools, причем непременно еще руками требовалось создать ему правильное окружение и запускать каким-то хитрым образом - так оно еще и работало...уп-с, только и исключительно под линуксом (и то не всяким). А для любой другой системы выдавало "а вот напишите-ка с нуля этак тыщ пятнадцать строчек кода, а то мы что-то нишмагли". Спрашивается - а зачем вы притащили в проект всю эту скриптовую пакость, если оно у вас все равно на единственной системе работает?

Напрашивающийся ответ - неумение таки пользоваться банальным инструментарием в виде make, компилятора и линкера, и непонимание, как вообще это делают - вероятнее всего, из-за привычек, сформированных visual c.

а по-настоящему (то есть решает реально существующие проблемы, а не тупo вываливается с ошибкой) autotools нужны дай Б-г одному проекту из ста. И там это тоже - экономия получаса времени разработчика, один раз, ценой сотен часов ожидания пока оно протестирует.

вот интересно, что там авто-тулзы делали в systemd - который существует на единственной платформе?

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

74. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –2 +/
Сообщение от user (??), 16-Авг-17, 12:51 
А зачем каждый раз собирать тесты?
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

94. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –3 +/
Сообщение от user (??), 16-Авг-17, 15:52 
минусуют те, кто никогда не собирал софт, потому что в дистрибутиве он отсутствует/древний/кривой
Ответить | Правка | Наверх | Cообщить модератору

97. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от пох (?), 16-Авг-17, 16:30 
> минусуют те, кто никогда не собирал софт, потому что в дистрибутиве он
> отсутствует/древний/кривой

или те кто знают, как работает configure и "зачем собирать тесты". (не, минус не мой)

Ответить | Правка | Наверх | Cообщить модератору

100. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +2 +/
Сообщение от Аноним (-), 16-Авг-17, 18:17 
Затем, что имелись в виду не тесты, а проверки способностей компилятора/системы/библиотек. Каждый раз их _тебе_ собирать, впрочем, не обязательно: просто не запускай ещё раз ./configure.
Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

101. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от yet another anonymous (?), 16-Авг-17, 18:36 
> Затем, что имелись в виду не тесты, а проверки способностей компилятора/системы/библиотек. ...

Есть наблюдение, что в подавляющем большинстве случаев, результаты этих тестов или не используются или бесполезны. А вот вреда от них (ну, по крайней мере, проблем) огребается весьма прилично.

И таки да, уговаривать сборку на первоосновах (make) сильно проще, чем с наслоениями в виде autotools/CMake/SCons/btjam/.... Теперь ещё meson до кучи.

Ответить | Правка | Наверх | Cообщить модератору

126. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от Mihail Zenkov (ok), 18-Авг-17, 10:37 
> А зачем каждый раз собирать тесты?

Меня это тоже всегда удивляло. Как-то решил разобраться в этом вопросе глубже и нашел:
https://www.gnu.org/software/automake/manual/html_node/confi...
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/a...
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/a...

То есть можно один раз прогнать configure и сохранить результаты тестов. Тогда при последующих запусках configure будут исполняться только те тесты, для которых нет результатов.

Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

83. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +2 +/
Сообщение от Andrey Mitrofanov (?), 16-Авг-17, 14:11 
> сборки и запуска тестов, результат быстро скатится к "работает только на
> linux/intel,

То есть Поттеринг -- как дома.  Good!

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

111. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от ayava (?), 16-Авг-17, 22:42 
>> Тут скорее не make, а связка autotools+make. meson - аналог autotools.
>> autotools - по сути нечто подобное sh-скриптам, там тормоза будут, понятное дело.
> Там тормоза не от скриптов, а от тестов.  Если "обойтись" без
> сборки и запуска тестов, результат быстро скатится к "работает только на
> linux/intel, ну, может, ещё freebsd/arm" (хотя куда же без винды и
> макоси, как я мог забыть).
>> А если ещё учесть, какое количество костылей туда обычно добавляется для
>> совместимости со старыми версиями...
> Здесь бы хорошо смотрелась парочка примеров, как мне кажется. :)

Мишка, тыж сможешь по-джедайски ускорить сборку месы хотя-б на процетов 20?

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру