The OpenNET Project / Index page

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

Доступна система сборки Meson 0.42, на которую переходят systemd, GTK+ и GNOME

15.08.2017 22:58

Состоялся релиз сборочной системы Meson 0.42, использующей вместо утилиты make инструментарий Ninja. Ключевыми целями развития Meson является обеспечение высокой производительности в сочетании с удобством и простотой использования. Создатели Meson придерживаются принципа, что каждый момент, который разработчики тратят на написание правил сборки или отладку, тратятся впустую и лишь оттягивают время до того, когда можно будет начать процесс сборки. Код проекта написан на языке Python и поставляется под лицензией 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 интегрировал поддержку Meson, которая в одном из следующих выпусков полностью вытеснит сборку на основе Automake. Миграцию на Meson также планирует проект GNOME - выпуске 3.26 некоторые модули уже будут переведены на Meson. Поддержка Meson добавлена в jhbuild, GNOME builder и flatpak-builder, а сам Meson вошёл в состав GNOME SDK.

Более того, вчера объявлено о переводе master-ветки GTK+ на сборку с использованием Meson, а сборочные файлы для Autotools удалены. По сравнению с Autotools время сборки GTK+ сократилось в три раза. На пути к переходу на Meson также находится проект Mesa - сборка Mesa при помощи Meson оказалась в 4 раза быстрее при первом запуске и в 10 раз быстрее при повторном.

Среди новшеств, появившихся в выпуске Meson 0.42:

  • Возможность создания архивов со сборками на основе кода в репозитории Mercurial;
  • Поддержка верификации аргументов при вызове любой функции с выводом предупреждения, если аргумент ключевого слова неизвестен;
  • Поддержка компилятора для преобразования кода 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").


  1. Главная ссылка к новости (https://github.com/mesonbuild/...)
  2. OpenNews: Разработчик языка XL опубликовал новую сборочную систему build
  3. OpenNews: Компания Google представила первый выпуск открытой системы сборки Bazel
  4. OpenNews: Разработчики из компании Google открыли код системы сборки Ninja
  5. OpenNews: Для GNOME-приложений представлена новая экспериментальная система сборки BuilDj
  6. OpenNews: Выпуск сборочного инструментария qbs 1.8, развиваемого проектом Qt
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47031-meson
Ключевые слова: meson, build
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (131) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 23:57, 15/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Хипсторы ниосилили make?
     
     
  • 2.3, Аноним (-), 00:08, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Хипсторы ниосилили make?

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

     
     
  • 3.26, Michael Shigorin (ok), 07:21, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Скорее './configure &&[B]'[/B]make && make DESTDIR="/I/Wanted/Install/Here" install[B]'[/B]
    > слишком "жирный" подход.

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

     
  • 2.8, Аноним (-), 01:12, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +14 +/
    Скорее cmake
     
     
  • 3.63, X4asd (ok), 11:34, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Скорее cmake

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

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

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

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

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

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

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

     
     
  • 4.67, user (??), 12:15, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >ninja

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

     
     
  • 5.77, Аноним (-), 13:05, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Там есть bootstrap.py
     
  • 5.85, Аноним (-), 14:32, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Это тот самый, где "для сборки ninja нужен ninja, возьмите бинарик с нашего сайта"? Пусть сами таким пользуются.

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

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

     
     
  • 6.87, Тупой (?), 14:46, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Загрузка ...
     
  • 6.88, адепт llvm (?), 14:59, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    моя довольна - для сборки clang C нужен C++ компилятор ;-)

     
     
  • 7.108, Аноним (-), 21:17, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > моя довольна - для сборки clang C нужен C++ компилятор ;-)

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

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

     
     
  • 8.109, . (?), 21:27, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну, не то чтоб совсем любой, кажется, нужен любой 11й , что сильно сужает выбор... текст свёрнут, показать
     
     
  • 9.116, ayava (?), 22:59, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Олдансы передают привет ньюансам ... текст свёрнут, показать
     
  • 9.119, Аноним (-), 02:04, 17/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я это и имел ввиду И как вариант, Мозилла, поигравшись с растом и переписав на ... текст свёрнут, показать
     
  • 6.124, empty (?), 19:11, 17/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Го и Хаскель туда же
     
     
  • 7.125, Аноним (-), 21:58, 17/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Разве gcc-go не сишным компилятором собирается?
     
  • 5.127, Ordu (ok), 11:26, 18/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты в курсе, что для сборки gnu make нужен gnu make? В мире тулчейнов -- это нормальная ситуация.
     
     
  • 6.129, пох (?), 16:05, 18/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты в курсе, что для сборки gnu make нужен gnu make?

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

     
  • 5.134, Аноним (-), 18:26, 24/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Trusting Trust — cтарая проблема.
     
  • 4.70, Аноним (-), 12:39, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > оба собирают через ninja.

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

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

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

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

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

     
     
  • 5.79, Аноним (-), 13:07, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> в cmake идиотские и совершенно неадекватные ключи командной строки
    > Попытался вспомнить, когда мне приходилось использовать хоть один ключ кроме -D

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

     
  • 4.86, Аноним (-), 14:34, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пользуюсь 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})
     
     
  • 5.89, пох (?), 15:07, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    руки отвалятся, все так описывать здесь у тебя - if то есть нашли - хорошо, по... большой текст свёрнут, показать
     
  • 2.11, Аноним (-), 02:17, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Это разработчики systemd, GTK+ и GNOME хипсторы?
     
     
  • 3.55, Аноним (-), 10:20, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +12 +/
    А кто они?
    Только хипстеры умеют так ломать программы, чтобы обратной совместимости вообще никакой не было.
     
     
  • 4.69, user (??), 12:39, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Они сделали свою обратную совместимость со смузями и покемонами!
     
     
  • 5.90, хипстор (?), 15:07, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Они сделали свою обратную совместимость со смузями и покемонами!

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

     
     
  • 6.99, Аноним (-), 17:41, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    на какой конечности нужно крутить спинер?
     
     
  • 7.107, user (??), 20:37, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    у покемонов спинер налезет только под квадратики
     
  • 2.16, Аноним (-), 05:34, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    *cmake
     
  • 2.25, Michael Shigorin (ok), 07:19, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Именно.

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

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

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

     
     
  • 3.48, Аноним (-), 09:37, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > Ну а gnu make manual читается достаточно легко.

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

     
     
  • 4.50, gogo (?), 09:45, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Не почитав мануала? Ню-ню...
     
     
  • 5.51, Аноним (-), 09:58, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Мануалы, которые никак не облегчают порог вхождения и кривую обучения, попутно отбирая самое ценное, что у разработчика есть — время — плохие, негодные, и должны быть преданы огню.
    Есть некий сорт снобизма в изыскивании аргументов против систем, облегчающих жизнь разработчика, но в сущности они защищают элитизм и сакральные знания осиливших.
     
     
  • 6.53, Andrey Mitrofanov (?), 10:13, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +9 +/
    > самое ценное, что у разработчика есть — время — плохие, негодные,
    > и должны быть преданы огню.

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

     
     
  • 7.61, Борщдрайвен бигдата (?), 11:07, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    В том числе.
     
  • 6.57, Аноним (-), 10:28, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Мануалы, которые никак не облегчают порог вхождения и кривую обучения, попутно отбирая самое ценное, что у разработчика есть — время — плохие, негодные, и должны быть преданы огню.

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

     
     
  • 7.66, Борщдрайвен бигдата (?), 12:00, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    …не читатель?
    Ну что за привычка, выдумать себе образцово-слабый тезис, и красиво его опровергнуть.

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

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

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

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

     
     
  • 8.71, Аноним (-), 12:42, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    У GNU make очень хороший мануал ... текст свёрнут, показать
     
     
  • 9.78, Борщдрайвен бигдата (?), 13:06, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Если оценивать с точки зрения полноты информации 8212 согласен, он весьма хор... текст свёрнут, показать
     
  • 4.84, Аноним (-), 14:27, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > которые время тратят на проектирование и написание полезных штук.
    > на проектирование

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

     
  • 3.56, Аноним (-), 10:26, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Не удержался и плюсанул Шигорину. Куда катится этот мир?
     

  • 1.2, Аноним (-), 00:07, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Объясните, плз., с чего бы это вдруг make так тормозит (судя по предпосылке авторов проекта) ?
     
     
  • 2.24, Аноним (-), 07:17, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тут скорее не make, а связка autotools+make. meson - аналог autotools. autotools - по сути нечто подобное sh-скриптам, там тормоза будут, понятное дело. А если ещё учесть, какое количество костылей туда обычно добавляется для совместимости со старыми версиями...

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

     
     
  • 3.27, Michael Shigorin (ok), 07:24, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Тут скорее не make, а связка autotools+make. meson - аналог autotools.
    > autotools - по сути нечто подобное sh-скриптам, там тормоза будут, понятное дело.

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

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

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

     
     
  • 4.41, anonymous yet another (?), 08:47, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Если "обойтись" без сборки и запуска тестов, результат быстро скатится к "работает только на linux/intel, ну, может, ещё freebsd/arm"

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

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

     
     
  • 5.91, пох (?), 15:20, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    точнее, они используются, но там и так, куда их авторскрипты напихают - то есть ... большой текст свёрнут, показать
     
     
  • 6.92, user (??), 15:48, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >user-editable makefile

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

     
  • 6.93, user (??), 15:50, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >паническая боязнь сделать user-editable makefile

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

     
     
  • 7.96, пох (?), 16:29, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > 1. могут быть конфликты при обновлении

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

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

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

     
  • 4.54, пох (?), 10:18, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    которые, кстати, не нужны Миша, а ты много видел auto-хернь-прожектов, работающ... большой текст свёрнут, показать
     
  • 4.74, user (??), 12:51, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А зачем каждый раз собирать тесты?
     
     
  • 5.94, user (??), 15:52, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    минусуют те, кто никогда не собирал софт, потому что в дистрибутиве он отсутствует/древний/кривой
     
     
  • 6.97, пох (?), 16:30, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > минусуют те, кто никогда не собирал софт, потому что в дистрибутиве он
    > отсутствует/древний/кривой

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

     
  • 5.100, Аноним (-), 18:17, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Затем, что имелись в виду не тесты, а проверки способностей компилятора/системы/библиотек. Каждый раз их _тебе_ собирать, впрочем, не обязательно: просто не запускай ещё раз ./configure.
     
     
  • 6.101, yet another anonymous (?), 18:36, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Затем, что имелись в виду не тесты, а проверки способностей компилятора/системы/библиотек. ...

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

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

     
  • 5.126, Mihail Zenkov (ok), 10:37, 18/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А зачем каждый раз собирать тесты?

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

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

     
  • 4.83, Andrey Mitrofanov (?), 14:11, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > сборки и запуска тестов, результат быстро скатится к "работает только на
    > linux/intel,

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

     
  • 4.111, ayava (?), 22:42, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> Тут скорее не make, а связка autotools+make. meson - аналог autotools.
    >> autotools - по сути нечто подобное sh-скриптам, там тормоза будут, понятное дело.
    > Там тормоза не от скриптов, а от тестов.  Если "обойтись" без
    > сборки и запуска тестов, результат быстро скатится к "работает только на
    > linux/intel, ну, может, ещё freebsd/arm" (хотя куда же без винды и
    > макоси, как я мог забыть).
    >> А если ещё учесть, какое количество костылей туда обычно добавляется для
    >> совместимости со старыми версиями...
    > Здесь бы хорошо смотрелась парочка примеров, как мне кажется. :)

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

     
  • 3.58, Аноним (-), 10:38, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вы, к Вашемы большому счастью, не имеете ни малейшего понятия, что такое autotoo... большой текст свёрнут, показать
     

  • 1.4, Аноним (-), 00:09, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    сколько мегабайт зависимостей надо, чтобы собрать "привет <censored>"?
     
  • 1.5, ZloySergant (ok), 00:11, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Ага, зашибись.

    >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 файлов системе сборки? А придется.

     
     
  • 2.17, виндотролль (ok), 05:47, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +14 +/
    ждем новость «Представлен первый выпуск утилиты automeson для генерации сценариев для системы сборки meson»
     
  • 2.22, Аноним (-), 06:59, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На самом деле маска на файлы даёт очень не предсказуемые баги на разных этапах работы любой системы сборки. CMake тот же разрешает glob но предупреждает что дальнейшие проблемы чисто ваши.
     
     
  • 3.44, dhamp (?), 09:17, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >На самом деле маска на файлы даёт очень не предсказуемые баги на разных этапах работы любой системы сборки.

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

     
     
  • 4.122, Аноним (-), 05:56, 17/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Интеграции с IDE. Выполнение макросов/функций/вызов внешних скриптов со списком файлов что получается по маске. Пересборка проекта без clean, сборка отдельных компонентов если в зависимых частях были заюзаны маски и файлы изменены. Туча их.

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

     
     
  • 5.130, Аноним (-), 18:51, 18/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >Пересборка проекта без clean

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

     
     
  • 6.132, dhamp (?), 11:15, 19/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>Пересборка проекта без clean
    > Чтобы новые файлы подхватились по маске нужно вообще сносить всю builddir и
    > запускать cmake с нуля

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

     
  • 5.131, dhamp (?), 11:14, 19/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Интеграции с IDE

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

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

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

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

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

     
  • 2.33, YetAnotherOnanym (ok), 07:52, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > So is every second spent waiting for the build system to actually start compiling code

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

     
  • 2.40, Аноним (-), 08:45, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > UPD. *сарказм* Хто хочет вручную описывать 10k файлов системе сборки? А придется.

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

     
     
  • 3.73, Аноним (-), 12:48, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > не факт, что Meson существенно быстрее autotools, так как все тесты
    > у них приводятся с запуском ninja, т.е. весь прирост скорости в
    > основном благодаря ninja. С тем же успехом можно cmake с ninja
    > использовать и получить аналогичную производительность.

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

     
  • 2.81, anonymous (??), 13:49, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В русском языке нет слов "ихнего".
     
     
  • 3.98, Александрик (?), 16:51, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    http://slovarozhegova.ru/word.php?wordid=10331
    http://ushakovdictionary.ru/word.php?wordid=22275
     
  • 3.117, ayava (?), 23:22, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В русском языке нет слов "ихнего".

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

     
  • 2.118, ayava (?), 23:25, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Осиль уже sh, а то он с systemd совсем зачах ... большой текст свёрнут, показать
     

  • 1.6, Аноним (-), 00:36, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А если сравнить по скорости c cmake. У него тоже есть генератор для ninja.
     
     
  • 2.10, Аноним (-), 01:36, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Да, нечего тут сравнивать. Meson - это хипстерский cmake на питоне. Пройдет время и он либо превратиться в аналог cmake (наберет все его возможности и станет таким же сложным) либо авторы его забросят, либо начнут писать новую, более правильную (и несовместимую) версию.

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

     
     
  • 3.21, Аноним (-), 06:58, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В текстовом виде есть?
     
     
  • 4.36, Аноним (-), 08:26, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В текстовом виде есть?

    Вот pdf:
    https://github.com/boostcon/cppnow_presentations_2017/blob/master/05-19-2017_f

     
  • 3.30, anonymous (??), 07:31, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Это все хорошо, но только когда CMake 3.9 появится на Ubuntu 12.04? Ответ - никогда. LTS тормозят внедрение таких подходов.
     
     
  • 4.32, Аноним (-), 07:36, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Соберите из исходников, там нет никаких сложностей. У меня для этого скрипт написан.
     
     
  • 5.42, anonymous (??), 08:48, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Если ваш проект только для внутренних нужд - нет проблем. Если проект - библиотека, от которой зависит сборка других проектов, устанавливаемых в систему пользователя, то такой подход не приемлем. С точки зрения пакаджера дистрибутива, конечно же.
     
  • 5.45, Andrey Mitrofanov (?), 09:20, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Соберите из исходников, там нет никаких сложностей. У меня для этого скрипт
    > написан.

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

     
     
  • 6.47, Аноним (-), 09:30, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну Gentoo довольно давно существует. И не кто там не умер еще
     
  • 6.52, Алех (?), 09:59, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Не бойся! Мы пережили компилятор компилятора, а скрипт сборки системы сборки это фигня
     
  • 4.43, Аноним (-), 08:57, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А когда появится 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

     
     
  • 5.72, anonymous (??), 12:48, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Теперь повтори то же на деплое в 1000 установок.
     
     
  • 6.75, Аноним (-), 12:52, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Так деплоится-то уже собранный пакет. Хотя зачем cpack — не понимаю, бекпортировать пакет из testing/sid гораздо проще и безопаснее.
     
  • 4.110, ayava (?), 22:39, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    12.04 + 5y = ваш дистр протух => под него не появится ничего нового от слова "совсем".
     

  • 1.7, Аноним (-), 01:07, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Если meson нормально осилит кросскомпиляцию, то пусть будет.
     
  • 1.9, Аноним (-), 01:20, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Всем вышеотметившимся "кукарекалам":

    Я к нему скептически относился, мол хипсторы атакуют, нафик нужно, "комикс_про_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

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

     
     
  • 2.23, Аноним (-), 07:05, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >[оверквотинг удален]
    > конфигурить надо в отдельной директории, а не в самих сырцах
    > аля 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.

     
  • 2.28, Michael Shigorin (ok), 07:27, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > из зависимостей - "только" питон3

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

     
     
  • 3.49, Аноним (-), 09:40, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Новость о сборочной системе на py3
    > сказания о раскрутке оного py3 на новой архитектуре

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

     
  • 3.106, Аноним (-), 20:03, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    знаю
    у меня свой наколенная недо-ось есть, для малинок
    всё кросскомпилится
    так что _оба_ питона надо собирать по 2 раза ...
     
  • 3.112, ayava (?), 22:45, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> из зависимостей - "только" питон3
    > Знали бы Вы, сколько копать до возможности сборки этого самого py3 при
    > раскрутке на новой архитектуре... хотя, видимо, догадываетесь, раз кавычки поставили ;-)

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

     

  • 1.13, Аноним (-), 04:46, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Рукожопы ниосиляторы

    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

     
     
  • 2.15, Anonymissimus (?), 05:30, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Питон версии < 3.4? Ну что поделать, опять мировой заговор рукожопов обломал сурового аналитега
     
     
  • 3.133, Аноним (-), 08:11, 28/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Питон версии < 3.4? Ну что поделать, опять мировой заговор рукожопов обломал
    > сурового аналитега

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

     
  • 2.80, Аноним (-), 13:40, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Рукожопы ниосиляторы
    > pip install Meson

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

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

     

  • 1.14, Аноним (-), 05:02, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Ура наконец-то подох Autotols ...
     
     
  • 2.18, Аноним (-), 06:01, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А чего ты так радуешься-то? Пользователю сборочной тулзы по большому счёту пофигу, чем собирать. Какие команды прописаны в README, те он и вобъёт в консоль. А программер волен сам решать, чем будет собираться его проект.
     
  • 2.29, Michael Shigorin (ok), 07:30, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Ура наконец-то подох Autotols ...

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

     
     
  • 3.113, ayava (?), 22:50, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Ура наконец-то подох Autotols ...
    > На автокрапе ещё будет написана система сборки того утилизатора, в аппаратный /dev/null
    > которого уйдёт последний мазон :] почти (ц)

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

     
     
  • 4.121, Аноним (-), 02:48, 17/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На их собственной вики написано, что к реальной работе его лучше не подпускать.
     

  • 1.19, Аноним (-), 06:35, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > использующей вместо утилиты make инструментарий Ninja

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

     
  • 1.31, Michael Shigorin (ok), 07:31, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > -  Поддержка Pkgconfig для обработки дополнительных cflags

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

     
  • 1.34, жабабыдлокодер (ok), 07:53, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Яву-то на кой хрен они поддерживают? Какой вменяемый жабакодер перейдет на ЭТО?
     
     
  • 2.62, Led (ok), 11:11, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > вменяемый жабакодер

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

     
     
  • 3.82, Аноним (-), 13:53, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Грешновато троллить убогих. Он и так на жабе пишет, так тут ещё и мезоном в голову прилетело.
     
     
  • 4.114, ayava (?), 22:53, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Грешновато троллить убогих. Он и так на жабе пишет, так тут ещё
    > и мезоном в голову прилетело.

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

     

  • 1.35, Servo (?), 08:01, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > По сравнению с Autotools время сборки GTK+ сократилось в три раза.
    > сборка Mesa при помощи Meson оказалась в 4 раза быстрее при первом запуске и в 10 раз быстрее при повторном.

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

     
     
  • 2.46, ZloySergant (ok), 09:25, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >Это просто фантастика какая-то. Если всё действительно так, как описывают разработчики, то пожелаю проекту удачи и долгих лет процветания!

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

     
     
  • 3.76, anonymous (??), 12:52, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>Это просто фантастика какая-то. Если всё действительно так, как описывают разработчики, то пожелаю проекту удачи и долгих лет процветания!
    > Собирал одну из git-версий aseprite (еще когда можно было и ниндзей и
    > обычным мэйком) ради интереса обеими. Разницы особой не заметил.

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

     
  • 2.128, Alex (??), 15:11, 18/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я очень сильно подозреваю, что разрабы gtk+ не осилили non-recursive automake (или им просто лень)

     

  • 1.38, anonymous yet another (?), 08:34, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Осталось понять, что на самом деле проверяется при декларациях вида

    dependency('gtk+-3.0')

     
     
  • 2.59, Ordu (ok), 10:41, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то мне подсказывает, что это отсылки к pkg-config.
     
     
  • 3.103, yet another anonymous (?), 18:48, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Что-то мне подсказывает, что это отсылки к pkg-config.

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

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

     
     
  • 4.120, Ordu (ok), 02:41, 17/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Это гипотеза. Чтобы проверить --- надо рыть. ;)

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

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

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

     

  • 1.39, Андрей (??), 08:38, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Состоялся релиз сборочной системы Meson 0.42, использующей вместо утилиты make инструментарий Ninja.

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

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

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

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

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

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

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

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

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

     
     
  • 2.123, Аноним (-), 07:20, 17/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Разве порядок сборки влияет на итоговое содержание бинарников?
     

  • 1.60, Аноним (-), 11:00, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Почему-то захотелось увидеть make переписанный на лисп с идеальной структурой оформления кода и данных.
     
     
  • 2.65, Ananas (?), 11:49, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    ASDF?
     
  • 2.104, yet another anonymous (?), 18:50, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему-то захотелось увидеть make переписанный на лисп с идеальной структурой оформления
    > кода и данных.

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

     
  • 2.115, ayava (?), 22:56, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Почему-то захотелось увидеть make переписанный на лисп с идеальной структурой оформления
    > кода и данных.

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

     

  • 1.64, timur (??), 11:48, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Надеюсь make все-таки останется на libgtk+ и gnome!
     
  • 1.68, Аноним (-), 12:27, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ну если разработчик, не осилил сборочный инструментарий это его проблема. У каждого свое понятие удобства и эффективности. Да и разнообразие, это хорошо
     
     
  • 2.102, пох (?), 18:46, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ну если разработчик, не осилил сборочный инструментарий это его проблема.

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

     

  • 1.95, Аноним (-), 15:56, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я бы эти проекты еще и подальше послал бы, не только в Meson.
     
  • 1.105, annual slayer (?), 19:15, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    какое-то шило на мыло -- и тот и другой выдумывают свои языки для описания правил сборки

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

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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