The OpenNET Project / Index page

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



"Доступна система сборки Meson 0.42, на которую переходит sys..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от opennews (??) on 15-Авг-17, 23:57 
Состоялся (https://github.com/mesonbuild/meson/releases) релиз сборочной системы Meson 0.42 (http://mesonbuild.com/), использующей вместо утилиты make инструментарий Ninja (https://www.opennet.ru/opennews/art.shtml?num=29525). Ключевыми целями развития Meson  является обеспечение высокой производительности в сочетании с  удобством и простотой использования. Создатели Meson придерживаются принципа, что каждый момент, который разработчики  тратят на написание правил сборки или отладку тратятся впустую и лишь оттягивают время до того, как можно будет начать процесс сборки. Код проекта написан на языке Python и поставляется (https://github.com/mesonbuild/meson) под лицензией Apache 2.0.

Основные особенности Meson:


-  Многоплатформенность, поддерживается сборка в Linux, macOS и Windows с использованием GCC, Clang, Visual Studio и других компиляторов;
-  Поддержка сборки проектов на различных языках программирования, включая C, C++, Fortran, Java и Rust;

-  Поддержка кросс-компиляции для различных операционных систем и для запуска на голом оборудовании (bare metal);

-  Оптимизации для максимального ускорения процесса сборки, поддержка инкрементальных сборок;
-  Встроенный многоплатформенный обработчик зависимостей, работающий совместно с пакетами в дистрибутивах (Meson можно использовать для сборки пакетов в дистрибутивах);
-  Поддержка повторяемых сборок, при которых запуск сборки разных окружениях приводит к идентичному результату;

-  Предельно читаемые и дружественные пользователю правила сборки, задаваемые на предметно-ориентированном языке. Например, простейший файл сборки (meson.build) будет выглядеть как:


   project('tutorial', 'c')
   executable('demo', 'main.c')

или более сложный вариант с зависимостью от gtk+-3.0:

   project('tutorial', 'c')
   gtkdep = dependency('gtk+-3.0')
   executable('demo', 'main.c', dependencies : gtkdep)


После выполнения "meson builddir" будет сгенерирован сценарий для утилиты ninja.

Сборочная система Meson c большим интересом была воспринята некоторыми крупными открытыми проектами. Например, проект systemd интегрировал (https://www.opennet.ru/opennews/art.shtml?num=46843) поддержку Meson, которая в одном из следующих выпусков полностью вытеснит сборку на основе Automake. Миграцию на Meson также планирует (https://blogs.gnome.org/mclasen/2017/04/20/meson-considerations/) проект GNOME - выпуске 3.26 некоторые модули уже будут переведены на Meson. Поддержка Meson добавлена в jhbuild, GNOME builder и flatpak-builder, а сам Meson вошёл в состав GNOME SDK.


Более того, вчера объявлено (https://mail.gnome.org/archives/gtk-devel-list/2017-August/m...) о переводе master-ветки GTK+ на сборку с использованием Meson, а сборочные файлы для Autotools удалены. По сравнению с Autotools  время сборки GTK+ сократилось в три раза. На пути перехода на Meson также находится (https://lists.freedesktop.org/archives/mesa-dev/2017-March/1...) проект Mesa - сборка Mesa при помощи Meson оказалась в 4 раза быстрее при первом запуске и в 10 раз быстрее при повторном.


Среди новшеств (http://mesonbuild.com/Release-notes-for-0-42-0.html), появившихся в выпуске Meson 0.42:


-  Возможность создания архивов со сборками на основе кода в репозитории  Mercurial;

-  Поддержка верификации аргументов при вызове любой функции с выводом предупреждения, если аргумент ключевого слова неизвестен;

-  Поддержка  компилятора для преобразования кода Genie (https://wiki.gnome.org/Projects/Genie) на язык Vala;

-  Поддержка Pkgconfig для обработки дополнительных cflags

-  Возможность определения настроек исполняемых контейнеров (crate)  для компилятора языка Rust

-  Поддержка одновременного использования детектора проблем при работе с памятью (AddressSanitizer) и детектора неопределённого поведения
(Undefined Behavior Sanitizer) через указание опции "-Db_sanitize=address,undefined";

-  Экспериментальная поддержка модуля для сборки кода с различными вариантами применения инструкций SIMD (модуль выбирает лучший вариант);

-  Поддержка импорта библиотек для исполняемых файлов на платформе Windows;
-  Добавлен модуль контроля зависимостей для графического API Vulkan

-  Возможность ограничения максимального числа одновременно запускаемых процессов компоновщиков

-  Поддержка MPI  в качестве зависимости

-  Поддержка выборочного исключения файлов или каталогов из команды install_subdir;

-  Доступность всей функциональности Meson через один исполняемый файл (ранее предлагались дополнительные утилиты mesonintrospect, mesonconf и mesontest которые теперь можно вызвать через команды подобные "meson configure"  и "meson test".

URL: https://github.com/mesonbuild/meson/releases
Новость: http://www.opennet.ru/opennews/art.shtml?num=47031

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

Оглавление

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


1. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +2 +/
Сообщение от Аноним (??) on 15-Авг-17, 23:57 
Хипсторы ниосилили make?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –3 +/
Сообщение от Аноним (??) on 16-Авг-17, 00:08 
> Хипсторы ниосилили make?

Скорее `./configure &&`make && make DESTDIR="/I/Wanted/Install/Here" install` слишком "жирный" подход.

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

26. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +6 +/
Сообщение от Michael Shigorin email(ok) on 16-Авг-17, 07:21 
> Скорее `./configure &&`make && make DESTDIR="/I/Wanted/Install/Here" install`
> слишком "жирный" подход.

Ну если запускать всё, что эти два make выведут -- "то я за себя не отвечаю" (ц) Незнайка.  Зачем Вы вписали эти две обратные кавычки?

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

8. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +14 +/
Сообщение от Аноним (??) on 16-Авг-17, 01:12 
Скорее cmake
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

63. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +2 +/
Сообщение от X4asd (ok) on 16-Авг-17, 11:34 
> Скорее cmake

meson и cmake -- это системы для одной и той же целевой ниши.

самые прямые конкуренты.

оба ориентированы на C/C++ (в основном.. а всё остальное собирают плохо).

оба собирают через ninja.

оба выдумыли свой не-тьюрингполный язык описания структур. (даже учитывая что meson написан на Python и они могли бы интерпретировать Python в качестве DSL, но не стали)

выигрыш meson перед cmake в основном оказался в том что в cmake идиотские и совершенно неадекватные ключи командной строки.

ещё можно добавить что meson более дружественна к pkg-config -- а значит и более дружественна к экосистеме программ GNU/Linux

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

67. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +5 +/
Сообщение от user (??) on 16-Авг-17, 12:15 
>ninja

Это тот самый, где "для сборки ninja нужен ninja, возьмите бинарик с нашего сайта"? Пусть сами таким пользуются.

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

77. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 16-Авг-17, 13:05 
Там есть bootstrap.py
Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору

85. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +2 +/
Сообщение от Аноним (??) on 16-Авг-17, 14:32 
> Это тот самый, где "для сборки ninja нужен ninja, возьмите бинарик с нашего сайта"? Пусть сами таким пользуются.

адепты раста и явки недоумевают.

"для сборки rust нужен rust, возьмите бинарник с нашего сайта".
"для сборки jdk нужен jdk, возьмите бинарник с нашего сайта".

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

87. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –3 +/
Сообщение от Тупой on 16-Авг-17, 14:46 
Загрузка ...
Ответить | Правка | ^ к родителю #85 | Наверх | Cообщить модератору

88. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от адепт llvm on 16-Авг-17, 14:59 
моя довольна - для сборки clang C нужен C++ компилятор ;-)

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

108. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 16-Авг-17, 21:17 
> моя довольна - для сборки clang C нужен C++ компилятор ;-)

Тут важно, что 1. подойдёт ЛЮБОЙ С++ компилятор (так что можно использовать тот, к которому есть доверие), 2. C++ компилятор есть практически везде (так что не надо ставить строго определённую версию ОС и софта, а можно воспользоваться уже установленной), 3. C++ компиляторов существует больше одной реализации (так что если одна из них помрёт, clang всё равно можно будет собрать).

В случае с растом и явой эти три пункта неприменимы.

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

109. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от . on 16-Авг-17, 21:27 
> Тут важно, что 1. подойдёт ЛЮБОЙ С++ компилятор

ну, не то чтоб совсем любой, кажется, нужен "любой 11й", что сильно сужает выбор.

С явой и растом в этих рамках все, в общем, то же самое (ну, с явой там есть ньюансы, но мелкие, а главный - что даже воскресив gcj/icedtea/кто там еще в склепе, хрен ты ими соберешь нынешнюю яву в принципе) - раст возможно и соберется другим растом, только, вот... опаньки, нету другого. И, полагаю, никогда и не будет (как и не будет другого Go. D может и будет, хотя тоже верится с трудом).

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

116. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от ayava on 16-Авг-17, 22:59 
>> Тут важно, что 1. подойдёт ЛЮБОЙ С++ компилятор
> ну, не то чтоб совсем любой, кажется, нужен "любой 11й", что сильно
> сужает выбор.
> С явой и растом в этих рамках все, в общем, то же
> самое (ну, с явой там есть ньюансы, но мелкие, а главный
> - что даже воскресив gcj/icedtea/кто там еще в склепе, хрен ты
> ими соберешь нынешнюю яву в принципе) - раст возможно и соберется
> другим растом, только, вот... опаньки, нету другого. И, полагаю, никогда и
> не будет (как и не будет другого Go. D может и
> будет, хотя тоже верится с трудом).

Олдансы передают привет ньюансам.

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

119. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 17-Авг-17, 02:04 
> с явой там есть ньюансы [...] хрен ты ими соберешь нынешнюю яву в принципе
> раст [...] опаньки, нету другого. И, полагаю, никогда и не будет

Я это и имел ввиду. И как вариант, Мозилла, поигравшись с растом и переписав на нём значительную часть файрфокса, в итоге выкинет обоих и будет, как и все, делать открытую шкурку к хрому.

> как и не будет другого Go

Вроже же уже два их: гугловский референсный, и gccgo?

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

124. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от empty on 17-Авг-17, 19:11 
Го и Хаскель туда же
Ответить | Правка | ^ к родителю #85 | Наверх | Cообщить модератору

125. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 17-Авг-17, 21:58 
Разве gcc-go не сишным компилятором собирается?
Ответить | Правка | ^ к родителю #124 | Наверх | Cообщить модератору

127. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от Ordu email(ok) on 18-Авг-17, 11:26 
Ты в курсе, что для сборки gnu make нужен gnu make? В мире тулчейнов -- это нормальная ситуация.
Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору

129. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от пох on 18-Авг-17, 16:05 
> Ты в курсе, что для сборки gnu make нужен gnu make?

не, не нужен - bsd make собирается.

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

134. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 24-Окт-17, 18:26 
Trusting Trust — cтарая проблема.
Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору

70. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 16-Авг-17, 12:39 
> оба собирают через ninja.

cmake работает с разными бекендами, в том числе с make от рождения.

> в cmake идиотские и совершенно неадекватные ключи командной строки

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

> meson более дружественна к pkg-config

cmake тоже прекрасно умеет работать с pkg-config, правда разработчики cmake его почему-то не любят и используют крайне редко.

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

79. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +2 +/
Сообщение от Аноним (??) on 16-Авг-17, 13:07 
>> в cmake идиотские и совершенно неадекватные ключи командной строки
> Попытался вспомнить, когда мне приходилось использовать хоть один ключ кроме -D

Фишка в том, что в cmake практически все настраивается через ключ -D, включая все опции определенные внутри проекта

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

86. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от Аноним (??) on 16-Авг-17, 14:34 
Пользуюсь CMAKE, удобно конечно. Но бывают весьма нетривиальные вещи, иногда проще было бы описать руками процесс сборки.
В частности, некоторые пакеты, подключаются не через стандартные
if(PostgreSQL_FOUND)
include_directories(${PostgreSQL_INCLUDE_DIRS})
link_directories(${PostgreSQL_LIBRARIES})
endif(PostgreSQL_FOUND)
А вот таким способом... :(
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB REQUIRED glib-2.0>=2.40)
pkg_check_modules(GTOP REQUIRED libgtop-2.0>=2.28)
include_directories(${GLIB_INCLUDE_DIRS})
include_directories(${GTOP_INCLUDE_DIRS})
Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

89. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от пох on 16-Авг-17, 15:07 
> Пользуюсь CMAKE, удобно конечно. Но бывают весьма нетривиальные вещи, иногда проще было
> бы описать руками процесс сборки.

руки отвалятся, все так описывать.
> В частности, некоторые пакеты, подключаются не через стандартные
> if(PostgreSQL_FOUND)

здесь у тебя - if. то есть нашли - хорошо, подцепим, не нашли - хрен с ним. Причем все равно, какой, предполагая, что "должен остаться только один"

> А вот таким способом... :(

а вот тут у тебя - REQUIRED, причем определенных версий - то есть с другой мы работать не умеем, а без - вообще не имеем смысла.
И разруливает это не cmake, а pkg_config (который, в идеальном сферическом вакууме, может даже разрулить наличие _одновременно_ в одной системе пяти версий каждого, и выдать тебе правильный набор ключиков, чтобы ты подцепил библиотеки от правильной версии include. Правда, как правило, не работает. При сборке bsd'шных портов я обычно безболезненно выкидываю зависимости от него - все равно не нужен. configure,порожденная автоконфом, умеет в случае его отсутствия фаллбэк на обычный способ поиска)

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

11. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –4 +/
Сообщение от Аноним (??) on 16-Авг-17, 02:17 
Это разработчики systemd, GTK+ и GNOME хипсторы?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

55. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +12 +/
Сообщение от Аноним (??) on 16-Авг-17, 10:20 
А кто они?
Только хипстеры умеют так ломать программы, чтобы обратной совместимости вообще никакой не было.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

69. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +3 +/
Сообщение от user (??) on 16-Авг-17, 12:39 
Они сделали свою обратную совместимость со смузями и покемонами!
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

90. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +4 +/
Сообщение от хипстор on 16-Авг-17, 15:07 
> Они сделали свою обратную совместимость со смузями и покемонами!

последняя версия без спиннера не собирается

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

99. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от Аноним (??) on 16-Авг-17, 17:41 
на какой конечности нужно крутить спинер?
Ответить | Правка | ^ к родителю #90 | Наверх | Cообщить модератору

107. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от user (??) on 16-Авг-17, 20:37 
у покемонов спинер налезет только под квадратики
Ответить | Правка | ^ к родителю #99 | Наверх | Cообщить модератору

16. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 16-Авг-17, 05:34 
*cmake
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

25. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +11 +/
Сообщение от Michael Shigorin email(ok) on 16-Авг-17, 07:19 
Именно.

Что характерно, все эти "предельно читаемые и дружественные пользователю правила сборки, задаваемые на неусложнённом предметно-ориентированном языке" на практике выливаются в то, что для бутстрапа таких поделий оказывается нужен ещё один язык с гораздо более развесистыми, чем make, сборочными зависимостями, а время приходится гробить всего лишь чуточку иным способом -- например, на выявление детских багов подобных "инноваций" (привет, scons!).

И об этом кричит уже одно количество таких поделий.

Ну а gnu make manual читается достаточно легко. :)

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

48. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –6 +/
Сообщение от Аноним (??) on 16-Авг-17, 09:37 
> Ну а gnu make manual читается достаточно легко.

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

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

50. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +5 +/
Сообщение от gogo on 16-Авг-17, 09:45 
Не почитав мануала? Ню-ню...
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

51. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –5 +/
Сообщение от Аноним (??) on 16-Авг-17, 09:58 
Мануалы, которые никак не облегчают порог вхождения и кривую обучения, попутно отбирая самое ценное, что у разработчика есть — время — плохие, негодные, и должны быть преданы огню.
Есть некий сорт снобизма в изыскивании аргументов против систем, облегчающих жизнь разработчика, но в сущности они защищают элитизм и сакральные знания осиливших.
Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

53. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +9 +/
Сообщение от Andrey Mitrofanov on 16-Авг-17, 10:13 
> самое ценное, что у разработчика есть — время — плохие, негодные,
> и должны быть преданы огню.

Короче, "смузи не ждёт", да?

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

61. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –3 +/
Сообщение от Борщдрайвен бигдата on 16-Авг-17, 11:07 
В том числе.
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

57. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +4 +/
Сообщение от Аноним (??) on 16-Авг-17, 10:28 
> Мануалы, которые никак не облегчают порог вхождения и кривую обучения, попутно отбирая самое ценное, что у разработчика есть — время — плохие, негодные, и должны быть преданы огню.

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

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

66. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –4 +/
Сообщение от Борщдрайвен бигдата on 16-Авг-17, 12:00 
…не читатель?
Ну что за привычка, выдумать себе образцово-слабый тезис, и красиво его опровергнуть.

Ещё раз, на пальцах. «Плохие мануалы, отнимающие время и усилия на их вкуривание» не имеют ничего общего с «плохие разработчики, мануалов не читающие», и вот почему.

Если приспичит, и нет альтернатив, придется всё же жрать что дают, и читать многостраничную лабуду, тут без вариантов. Но с наличием альтернативы ситуация меняется.

Со всякими вспомогательными утилитами вида сборочных систем сходная ситуация. Доведу, пожалуй, до абсурда. Можно потратить часы (и даже дни) для заучивания вывода man javac. Можно за пять минут написать build.gradle.

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

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

71. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +5 +/
Сообщение от Аноним (??) on 16-Авг-17, 12:42 
> Плохие мануалы

У GNU make очень хороший мануал.

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

78. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –3 +/
Сообщение от Борщдрайвен бигдата on 16-Авг-17, 13:06 
Если оценивать с точки зрения полноты информации — согласен, он весьма хорош, полон и структурирован.
Но с точки зрения подачи — не всё так радужно.

> read the first few sections of each chapter, skipping the later sections.

Сделай сам себе quickstart. И, если в make ещё куда ни шло, то в https://wiki.debian.org/Packaging совсем всё печально с начальным обучением.

https://xkcd.com/1343

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

84. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +6 +/
Сообщение от Аноним (??) on 16-Авг-17, 14:27 
> которые время тратят на проектирование и написание полезных штук.
> на проектирование

*широченная улыбка*

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

56. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +9 +/
Сообщение от Аноним (??) on 16-Авг-17, 10:26 
Не удержался и плюсанул Шигорину. Куда катится этот мир?
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

2. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +4 +/
Сообщение от Аноним (??) on 16-Авг-17, 00:07 
Объясните, плз., с чего бы это вдруг make так тормозит (судя по предпосылке авторов проекта) ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от Аноним (??) on 16-Авг-17, 07:17 
Тут скорее не make, а связка autotools+make. meson - аналог autotools. autotools - по сути нечто подобное sh-скриптам, там тормоза будут, понятное дело. А если ещё учесть, какое количество костылей туда обычно добавляется для совместимости со старыми версиями...

А касательно make, то это аналог ninja. По работе я пробовал делать сборку одного и того же проекта через make (-j cpus_count+1) и ninja. По ощущениям слегка быстрее ninja, но замеров не проводил.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

126. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от Mihail Zenkov (ok) on 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 on 16-Авг-17, 14:11 
> сборки и запуска тестов, результат быстро скатится к "работает только на
> linux/intel,

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

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

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

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

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

58. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +2 +/
Сообщение от Аноним (??) on 16-Авг-17, 10:38 
> Тут скорее не make, а связка autotools+make. meson - аналог autotools. autotools
> - по сути нечто подобное sh-скриптам, там тормоза будут, понятное дело.

Вы, к Вашемы большому счастью, не имеете ни малейшего понятия, что такое autotools. Шелл-скрипты сами по себе особо не тормозят, да и в make используются они же, только ещё в одной обёртке. А autotools... Это набор макросов и скриптов, обеспечивающий примерно такой workflow: разработчик пишет макросы (частично находит готовые), потом запускает с десяток утилит, которые из этих макросов делают скрипты и подкладывают в дерево исходников ещё пару десятков готовых скриптов, потом всё это даётся пользователю, который уже может сделать ./configure && make. А тормозит оно, потому что сгенерированные в результате configure и Makefile невероятно огромны, к тому же configure для выполнения разных проверок >9000 раз запускает компиляцию мелких тестовых файликов. Профит с этого должен заключаться в переносимости, но на деле вся эта система настолько сложная, что никто не умеет толком ей пользоваться, так что шаг влево, шаг вправо от того окружения, в котором проверяли сборку разработчики, приводит к тому, что всё ломается.

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

4. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +8 +/
Сообщение от Аноним (??) on 16-Авг-17, 00:09 
сколько мегабайт зависимостей надо, чтобы собрать "привет <censored>"?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +12 +/
Сообщение от ZloySergant (ok) on 16-Авг-17, 00:11 
Ага, зашибись.

>The main design point of Meson is that every moment a developer spends writing or debugging build definitions is a second wasted. So is every second spent waiting for the build system to actually start compiling code.

И из ихнего же Фака:

>Why can't I specify target files with a wildcard?
>...
>One of the main requirements of Meson is that it must be fast. This means that a no-op build in a tree of 10 000 source files must take no more than a fraction of a second. This is only possible because Meson knows the exact list of files to check. If any target is specified as a wildcard glob, this is no longer possible. ...
>>The main backend of Meson is Ninja, which does not support wildcard matches either, and for the same reasons.
>>Because of this, all source files must be specified explicitly.

UPD. *сарказм* Хто хочет вручную описывать 10k файлов системе сборки? А придется.

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

17. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +14 +/
Сообщение от виндотролль (ok) on 16-Авг-17, 05:47 
ждем новость «Представлен первый выпуск утилиты automeson для генерации сценариев для системы сборки meson»
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

22. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от Аноним (??) on 16-Авг-17, 06:59 
На самом деле маска на файлы даёт очень не предсказуемые баги на разных этапах работы любой системы сборки. CMake тот же разрешает glob но предупреждает что дальнейшие проблемы чисто ваши.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

44. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от dhamp on 16-Авг-17, 09:17 
>На самом деле маска на файлы даёт очень не предсказуемые баги на разных этапах работы любой системы сборки.

Примеры багов будут или сказания и былины ?

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

122. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от Аноним (??) on 17-Авг-17, 05:56 
Интеграции с IDE. Выполнение макросов/функций/вызов внешних скриптов со списком файлов что получается по маске. Пересборка проекта без clean, сборка отдельных компонентов если в зависимых частях были заюзаны маски и файлы изменены. Туча их.

Если вы спрашиваете примеры значит вы не занимаетесь разработкой. Как наступите на первые грабли приходите доложите.

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

130. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 18-Авг-17, 18:51 
>Пересборка проекта без clean

Чтобы новые файлы подхватились по маске нужно вообще сносить всю builddir и запускать cmake с нуля

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

132. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от dhamp on 19-Авг-17, 11:15 
>>Пересборка проекта без clean
> Чтобы новые файлы подхватились по маске нужно вообще сносить всю builddir и
> запускать cmake с нуля

Вообще то нет.

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

131. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от dhamp on 19-Авг-17, 11:14 
>Интеграции с IDE

QtCreator + cmake - у _меня_ проблем нет.
У всех разное представление о том что должно выполняться в "этой" интеграции c IDE. Так что спорить об этом считаю просто бессмысленным.

>Пересборка проекта без clean, cборка отдельных компонентов если в зависимых частях были заюзаны маски и файлы изменены.

Пересборка без clean не возможна как бы. А досборка изменившихся файлов + линковка выполняется нормально как для all так и для любой другой промежуточной цели.

>Если вы спрашиваете примеры значит вы не занимаетесь разработкой.

Ок, видимо работадатель платит мне за раcпитие чая на работе, вам же сквозь экран монитора лучше видно.

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

33. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +3 +/
Сообщение от YetAnotherOnanym (ok) on 16-Авг-17, 07:52 
> So is every second spent waiting for the build system to actually start compiling code

Гы. Время, пока configure шарится по директориям и ищет либы - это потерянное, а время, пока сс компилирует - не потерянное.

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

40. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 16-Авг-17, 08:45 
> UPD. *сарказм* Хто хочет вручную описывать 10k файлов системе сборки? А придется.

Там предлагается вызывать внешний скрипт для вывод списка файлов, удовлетворяющего определённым условиям. Но при таком подходе вся хвалёная производительность теряется. И вообще, не факт, что Meson существенно быстрее autotools, так как все тесты у них приводятся с запуском ninja, т.е. весь прирост скорости в основном благодаря ninja. С тем же успехом можно cmake с ninja использовать и получить аналогичную производительность.

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

73. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 16-Авг-17, 12:48 
> не факт, что Meson существенно быстрее autotools, так как все тесты
> у них приводятся с запуском ninja, т.е. весь прирост скорости в
> основном благодаря ninja. С тем же успехом можно cmake с ninja
> использовать и получить аналогичную производительность.

Пишешь как будто autotools и cmake работают с одинаковой скоростью.

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

81. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от anonymous (??) on 16-Авг-17, 13:49 
В русском языке нет слов "ихнего".
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

98. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от Александрик on 16-Авг-17, 16:51 
http://slovarozhegova.ru/word.php?wordid=10331
http://ushakovdictionary.ru/word.php?wordid=22275
Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

117. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от ayava on 16-Авг-17, 23:22 
> В русском языке нет слов "ихнего".

В русском языке нет слова "anonymous". Жопа есть, а слова нет )

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

118. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от ayava on 16-Авг-17, 23:25 
> Ага, зашибись.
>>The main design point of Meson is that every moment a developer spends writing or debugging build definitions is a second wasted. So is every second spent waiting for the build system to actually start compiling code.
> И из ихнего же Фака:
>>Why can't I specify target files with a wildcard?
>>...
>>One of the main requirements of Meson is that it must be fast. This means that a no-op build in a tree of 10 000 source files must take no more than a fraction of a second. This is only possible because Meson knows the exact list of files to check. If any target is specified as a wildcard glob, this is no longer possible. ...
>>>The main backend of Meson is Ninja, which does not support wildcard matches either, and for the same reasons.
>>>Because of this, all source files must be specified explicitly.
> UPD. *сарказм* Хто хочет вручную описывать 10k файлов системе сборки? А придется.

Осиль уже sh, а то он с systemd совсем зачах.

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

6. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от Аноним (??) on 16-Авг-17, 00:36 
А если сравнить по скорости c cmake. У него тоже есть генератор для ninja.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +4 +/
Сообщение от Аноним (??) on 16-Авг-17, 01:36 
Да, нечего тут сравнивать. Meson - это хипстерский cmake на питоне. Пройдет время и он либо превратиться в аналог cmake (наберет все его возможности и станет таким же сложным) либо авторы его забросят, либо начнут писать новую, более правильную (и несовместимую) версию.

Тут https://www.youtube.com/watch?v=bsXLMQ6WgIk про то, как нужно использовать cmake в современном стиле, а не в привычном виде а-ля v2.8.12.

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

21. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от Аноним (??) on 16-Авг-17, 06:58 
В текстовом виде есть?
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

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

Вот pdf:
https://github.com/boostcon/cppnow_presentations_2017/blob/m...

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

30. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –7 +/
Сообщение от anonymous (??) on 16-Авг-17, 07:31 
Это все хорошо, но только когда CMake 3.9 появится на Ubuntu 12.04? Ответ - никогда. LTS тормозят внедрение таких подходов.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

32. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 16-Авг-17, 07:36 
Соберите из исходников, там нет никаких сложностей. У меня для этого скрипт написан.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

42. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от anonymous (??) on 16-Авг-17, 08:48 
Если ваш проект только для внутренних нужд - нет проблем. Если проект - библиотека, от которой зависит сборка других проектов, устанавливаемых в систему пользователя, то такой подход не приемлем. С точки зрения пакаджера дистрибутива, конечно же.
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

45. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +2 +/
Сообщение от Andrey Mitrofanov on 16-Авг-17, 09:20 
> Соберите из исходников, там нет никаких сложностей. У меня для этого скрипт
> написан.

Ммм? Скрипт для сборки системы сборки? Мы все умрём.

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

47. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от Аноним (??) on 16-Авг-17, 09:30 
Ну Gentoo довольно давно существует. И не кто там не умер еще
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

52. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +4 +/
Сообщение от Алех on 16-Авг-17, 09:59 
Не бойся! Мы пережили компилятор компилятора, а скрипт сборки системы сборки это фигня
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

43. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от Аноним (??) on 16-Авг-17, 08:57 
А когда появится Meson 0.42 на ubuntu 12.04?
Пока сами не принесете..
cmake кстати собрать не очень сложно. В нем очень мало зависимостей. И он прекрасно работает с cpack. Весь процесс

git clone https://github.com/Kitware/CMake
cd CMake/
mkdir b
cd b
cmake ..
make -j9
cpack -G DEB .
sudo dpkg -i cmake-3.9.20170816-g131af-Linux-x86_64.deb

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

72. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –4 +/
Сообщение от anonymous (??) on 16-Авг-17, 12:48 
Теперь повтори то же на деплое в 1000 установок.
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

75. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 16-Авг-17, 12:52 
Так деплоится-то уже собранный пакет. Хотя зачем cpack — не понимаю, бекпортировать пакет из testing/sid гораздо проще и безопаснее.
Ответить | Правка | ^ к родителю #72 | Наверх | Cообщить модератору

110. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от ayava on 16-Авг-17, 22:39 
12.04 + 5y = ваш дистр протух => под него не появится ничего нового от слова "совсем".
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

7. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –3 +/
Сообщение от Аноним (??) on 16-Авг-17, 01:07 
Если meson нормально осилит кросскомпиляцию, то пусть будет.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от Аноним (??) on 16-Авг-17, 01:20 
Всем вышеотметившимся "кукарекалам":

Я к нему скептически относился, мол хипсторы атакуют, нафик нужно, "комикс_про_14_стандартов.jpg" итд итп

но на практике внезапно оказался удобным

из зависимостей - "только" питон3 + ninja для самой сборки
по использованию нечто среднее между стандартным configure и смаке

конфигурить надо в отдельной директории, а не в самих сырцах
аля meson --prefix=/usr/local итп
опции проекта передаются через -D как в cmake
итого
meson --prefix=/usr/local -Denable-somelib -Ddisable-another-lib

кросскомпиляция искаробочная, работает прекрасно, надо создать файлег с подсказками (хто у нас cc итп) и передать meson-у , тоже типа как у cmake -DCMAKE_TOOLCHAIN_FILE

из минусов:
документации и примеров "маловато будет"

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

23. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –2 +/
Сообщение от Аноним (??) on 16-Авг-17, 07:05 
>[оверквотинг удален]
> конфигурить надо в отдельной директории, а не в самих сырцах
> аля meson --prefix=/usr/local итп
> опции проекта передаются через -D как в cmake
> итого
> meson --prefix=/usr/local -Denable-somelib -Ddisable-another-lib
> кросскомпиляция искаробочная, работает прекрасно, надо создать файлег с подсказками (хто
> у нас cc итп) и передать meson-у , тоже типа как
> у cmake -DCMAKE_TOOLCHAIN_FILE
> из минусов:
> документации и примеров "маловато будет"

/usr/local? Главное чтобы он умел в RPATH генерировать переносимые бинарники не привязанные к конкретному каталогу. Нужно быть мазохистом чтобы отлаживать свой проект в /usr/local.

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

28. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +6 +/
Сообщение от Michael Shigorin email(ok) on 16-Авг-17, 07:27 
> из зависимостей - "только" питон3

Знали бы Вы, сколько копать до возможности сборки этого самого py3 при раскрутке на новой архитектуре... хотя, видимо, догадываетесь, раз кавычки поставили ;-)

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

49. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от Аноним (??) on 16-Авг-17, 09:40 
> Новость о сборочной системе на py3
> сказания о раскрутке оного py3 на новой архитектуре

Сова порвется, не натягивай. Пожалуйста.

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

106. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 16-Авг-17, 20:03 
знаю
у меня свой наколенная недо-ось есть, для малинок
всё кросскомпилится
так что _оба_ питона надо собирать по 2 раза ...
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

112. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от ayava on 16-Авг-17, 22:45 
>> из зависимостей - "только" питон3
> Знали бы Вы, сколько копать до возможности сборки этого самого py3 при
> раскрутке на новой архитектуре... хотя, видимо, догадываетесь, раз кавычки поставили ;-)

Эльбрусы покорять - это вам не комментами плеваться.

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

13. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –2 +/
Сообщение от Аноним (??) on 16-Авг-17, 04:46 
Рукожопы ниосиляторы

pip install Meson
Collecting Meson
  Downloading meson-0.42.0.tar.gz (1.0MB)
    100% |████████████████████████████████| 1.0MB 607kB/s
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-wKfiQB/Meson/setup.py", line 20, in <module>
        from mesonbuild.coredata import version
      File "mesonbuild/coredata.py", line 16, in <module>
        from pathlib import PurePath
    ImportError: No module named pathlib

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

15. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +2 +/
Сообщение от Anonymissimus on 16-Авг-17, 05:30 
Питон версии < 3.4? Ну что поделать, опять мировой заговор рукожопов обломал сурового аналитега
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

133. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +2 +/
Сообщение от Аноним (??) on 28-Авг-17, 08:11 
> Питон версии < 3.4? Ну что поделать, опять мировой заговор рукожопов обломал
> сурового аналитега

Питон как обычно демонстрирует чудеса совместимости. Поэтому теперь до того как собрать программу - придется поставить 2 сборочные системы (ninja и meson) и произвести раскопки правильной версии питона. А через полгода окажется что версия питона в системе опять не та.

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

80. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от Аноним (??) on 16-Авг-17, 13:40 
> Рукожопы ниосиляторы
> pip install Meson

Яснопонятно.
> root@localhost / # pip install

пофиксил, а то не все сходу смогут оценить нерукожопность осилятора.

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

14. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –6 +/
Сообщение от Аноним (??) on 16-Авг-17, 05:02 
Ура наконец-то подох Autotols ...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 16-Авг-17, 06:01 
А чего ты так радуешься-то? Пользователю сборочной тулзы по большому счёту пофигу, чем собирать. Какие команды прописаны в README, те он и вобъёт в консоль. А программер волен сам решать, чем будет собираться его проект.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

29. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +5 +/
Сообщение от Michael Shigorin email(ok) on 16-Авг-17, 07:30 
> Ура наконец-то подох Autotols ...

На автокрапе ещё будет написана система сборки того утилизатора, в аппаратный /dev/null которого уйдёт последний мазон :] почти (ц)

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

113. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от ayava on 16-Авг-17, 22:50 
>> Ура наконец-то подох Autotols ...
> На автокрапе ещё будет написана система сборки того утилизатора, в аппаратный /dev/null
> которого уйдёт последний мазон :] почти (ц)

Михаил, займитесь уже делом. Когда новорожденный удав будет уже ютиться на горах Кавказа?

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

121. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от Аноним (??) on 17-Авг-17, 02:48 
На их собственной вики написано, что к реальной работе его лучше не подпускать.
Ответить | Правка | ^ к родителю #113 | Наверх | Cообщить модератору

19. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Аноним (??) on 16-Авг-17, 06:35 
> использующей вместо утилиты make инструментарий Ninja

А типа cmake так не может? :) Школотроны

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

31. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Michael Shigorin email(ok) on 16-Авг-17, 07:31 
> -  Поддержка Pkgconfig для обработки дополнительных cflags

Это точно анонс версии 0.42, а не 0.001prealpha?  Очень яркий штрих, между прочим.

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

34. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от жабабыдлокодер (ok) on 16-Авг-17, 07:53 
Яву-то на кой хрен они поддерживают? Какой вменяемый жабакодер перейдет на ЭТО?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

62. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +3 +/
Сообщение от Led (ok) on 16-Авг-17, 11:11 
> вменяемый жабакодер

Нельзя на ноль делить.

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

82. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +3 +/
Сообщение от Аноним (??) on 16-Авг-17, 13:53 
Грешновато троллить убогих. Он и так на жабе пишет, так тут ещё и мезоном в голову прилетело.
Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

114. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –4 +/
Сообщение от ayava on 16-Авг-17, 22:53 
> Грешновато троллить убогих. Он и так на жабе пишет, так тут ещё
> и мезоном в голову прилетело.

Эй, благородные, сделайте мне Sweethome 3D без жабы, ну или альтернативой поделитесь.

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

35. "Доступна система сборки Meson 0.42, на которую переходит sys..."  –1 +/
Сообщение от Servo on 16-Авг-17, 08:01 
> По сравнению с Autotools время сборки GTK+ сократилось в три раза.
> сборка Mesa при помощи Meson оказалась в 4 раза быстрее при первом запуске и в 10 раз быстрее при повторном.

Это просто фантастика какая-то. Если всё действительно так, как описывают разработчики, то пожелаю проекту удачи и долгих лет процветания!

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

46. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от ZloySergant (ok) on 16-Авг-17, 09:25 
>Это просто фантастика какая-то. Если всё действительно так, как описывают разработчики, то пожелаю проекту удачи и долгих лет процветания!

Собирал одну из git-версий aseprite (еще когда можно было и ниндзей и обычным мэйком) ради интереса обеими. Разницы особой не заметил.

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

76. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от anonymous (??) on 16-Авг-17, 12:52 
>>Это просто фантастика какая-то. Если всё действительно так, как описывают разработчики, то пожелаю проекту удачи и долгих лет процветания!
> Собирал одну из git-версий aseprite (еще когда можно было и ниндзей и
> обычным мэйком) ради интереса обеими. Разницы особой не заметил.

У aseprite почти нет проверок API компиляцией (он все зависимости из third_party перекомпилит скорее), когда как сборка Mesa и GTK - сама суть проверки возможностей системного окружения.

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

128. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Alex (??) on 18-Авг-17, 15:11 
Я очень сильно подозреваю, что разрабы gtk+ не осилили non-recursive automake (или им просто лень)

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

38. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +3 +/
Сообщение от anonymous yet another on 16-Авг-17, 08:34 
Осталось понять, что на самом деле проверяется при декларациях вида

dependency('gtk+-3.0')

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

59. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Ordu email(ok) on 16-Авг-17, 10:41 
Что-то мне подсказывает, что это отсылки к pkg-config.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

103. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от yet another anonymous on 16-Авг-17, 18:48 
> Что-то мне подсказывает, что это отсылки к pkg-config.

Это гипотеза. Чтобы проверить --- надо рыть. ;)

А pkg-config в случае как cross-build, так и текущей разработки использовать сложно.

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

120. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Ordu email(ok) on 17-Авг-17, 02:41 
> Это гипотеза. Чтобы проверить --- надо рыть. ;)

Да, это гипотеза. Но мне неинтересно её проверять. Кому интересно, тот пускай и занимается этим.

> А pkg-config в случае как cross-build, так и текущей разработки использовать сложно.

Именно поэтому не помешало бы все эти сложности инкапсулировать.

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

39. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +/
Сообщение от Андрей (??) on 16-Авг-17, 08:38 
> Состоялся релиз сборочной системы Meson 0.42, использующей вместо утилиты make инструментарий Ninja.

На питоне. Так в чём отличие от waf? Потому что waf не гномовцы@RedHat придумали?

> Сборочная система Meson c большим интересом была воспринята некоторыми крупными открытыми проектами.

Так они же тоже в RedHat, так что неудивительно.

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

Только бы не вышло, как с cmake: мало шаблонов как с autotools. В результате каждый придумывает свой стиль, и быстро разобраться выходит даже сложнее.

> Поддержка повторяемых сборок, при которых запуск сборки в разных окружениях приводит к идентичному результату;

А нынче часто собирают без -jX? Или они каким-то чудом и порядок при параллельной компиляции могут сделать воспроизводимым без потерь производительности?

Вобщем, с тормозным стартом autotools, конечно, надо что-то делать. Но он тормозной, потому что там куча проверок да ещё и с отдельной компиляцией на каждый. Не понимаю, как это можно честно ускорить, не выбросив тесты?

Вот make - да, ускоряется ninja, но тут уже meson не причём.

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

123. "Доступна система сборки Meson 0.42, на которую переходит sys..."  +1 +/
Сообщение от Аноним (??) on 17-Авг-17, 07:20 
Разве порядок сборки влияет на итоговое содержание бинарников?
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

60. "Доступна система сборки Meson 0.42, на которую переходят sys..."  –2 +/
Сообщение от Аноним (??) on 16-Авг-17, 11:00 
Почему-то захотелось увидеть make переписанный на лисп с идеальной структурой оформления кода и данных.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

65. "Доступна система сборки Meson 0.42, на которую переходят sys..."  +/
Сообщение от Ananas on 16-Авг-17, 11:49 
ASDF?
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

104. "Доступна система сборки Meson 0.42, на которую переходят sys..."  +/
Сообщение от yet another anonymous on 16-Авг-17, 18:50 
> Почему-то захотелось увидеть make переписанный на лисп с идеальной структурой оформления
> кода и данных.

В make функции на scheme добавили :)

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

115. "Доступна система сборки Meson 0.42, на которую переходят sys..."  –1 +/
Сообщение от ayava on 16-Авг-17, 22:56 
> Почему-то захотелось увидеть make переписанный на лисп с идеальной структурой оформления
> кода и данных.

Ты ляг поспать и увидишь.

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

64. "Доступна система сборки Meson 0.42, на которую переходят sys..."  –2 +/
Сообщение от timur (??) on 16-Авг-17, 11:48 
Надеюсь make все-таки останется на libgtk+ и gnome!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

68. "Доступна система сборки Meson 0.42, на которую переходят sys..."  –1 +/
Сообщение от Аноним (??) on 16-Авг-17, 12:27 
Ну если разработчик, не осилил сборочный инструментарий это его проблема. У каждого свое понятие удобства и эффективности. Да и разнообразие, это хорошо
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

102. "Доступна система сборки Meson 0.42, на которую переходят sys..."  –1 +/
Сообщение от пох on 16-Авг-17, 18:46 
> Ну если разработчик, не осилил сборочный инструментарий это его проблема.

не-е-е, ребята - это ВАША проблема. Потому что вам с результатами его неосиляторства жить - или придется переписать весь мир самим.

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

95. "Доступна система сборки Meson 0.42, на которую переходят sys..."  +1 +/
Сообщение от Аноним (??) on 16-Авг-17, 15:56 
Я бы эти проекты еще и подальше послал бы, не только в Meson.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

105. "Доступна система сборки Meson 0.42, на которую переходят sys..."  +/
Сообщение от annual slayer on 16-Авг-17, 19:15 
какое-то шило на мыло -- и тот и другой выдумывают свои языки для описания правил сборки

я не могу найти ни одной логической причины не использовать guile/lua/python/js вместо

в текущем виде больше похоже на очередную попытку редхата тянуть на себя одеяло

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

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

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




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

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