The OpenNET Project / Index page

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

13.12.2018 11:36  Выпуск сборочной системы Meson 0.49.0

Представлен релиз сборочной системы Meson 0.49, которая используется для сборки таких проектов, как X.Org Server, Mesa, Lighttpd, systemd, GStreamer, GNOME и GTK+. Вчера о поддержке Meson объявили разработчики Wayland и композитного сервера Weston (поддержку autotools планируют прекратить в течение следующего года). Код Meson написан на языке Python и поставляется под лицензией Apache 2.0.

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

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

Основные новшества, появившиеся в выпуске Meson 0.49:

  • Реализованы новые команды: "meson subprojects download" (загрузка субпроекта), "meson subprojects update" (обновление всех субпроектов) и "meson subprojects checkout" для выполнения операции checkout или создания ветки во всех Git-субпроектах.
  • Добавлено новое ключевое слово "section", применимое к сборочным опциям, которое позволяет интегрированным средам разработки группировать опции по аналогии с командой "meson configure". В "section" допустимо указания следующих значений: core, backend, base, compiler, directory, user, test;
  • В объект "compiler" добавлен метод get_argument_syntax для проверки поддержки компилятором расширенных опций gcc и msvc;
  • Добавлена возможность передачи аргументов в функции и методы в форме словарей (ассоциативных массивов);
  • В циклы foreach добавлена поддержка ключевых слов break и continue;
  • Добавлен оператор "/" для соединения путей (вместо join_paths('foo', 'bar') теперь можно указывать 'foo' / 'bar');
  • Добавлена поддержка кросс-компиляции для чипов Renesas RX, используя компилятор CC-RX;
  • Добавлена опция "b_pie" и ключевое слово "pie" для формирования исполняемых файлов в режиме PIE (position-independent executables);
  • Обеспечена возможность выполнения команды "meson introspect --projectinfo " без наличия настроенного сборочного каталога;
  • При определении зависимости dependency('libgcrypt') в случае отсутствия pkg-config теперь выполняется поиск файлов libgcrypt-config.


  1. Главная ссылка к новости (https://groups.google.com/foru...)
  2. OpenNews: Компания Google представила первый выпуск открытой системы сборки Bazel
  3. OpenNews: Разработчики из компании Google открыли код системы сборки Ninja
  4. OpenNews: Разработчик языка XL опубликовал новую сборочную систему build
  5. OpenNews: Проект Qt прекращает разработку сборочной системы Qbs в пользу CMake
  6. OpenNews: Для GNOME-приложений представлена новая экспериментальная система сборки BuilDj
Лицензия: CC-BY
Тип: Практикум
Ключевые слова: meson, build, cpmpile
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, mikhailnov (ok), 13:06, 13/12/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Как там с Meson на e2k?
     
     
  • 2.48, X4asd (ok), 13:00, 14/12/2018 [^] [ответить]     [к модератору]
  • +1 +/
    пробовал на Астре Линукс Эльбрусе в целом использовать вышло - нюансы следущ... весь текст скрыт [показать]
     
  • 1.4, Аноним (4), 13:25, 13/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Примеры с кроскомпиляцией есть?
     
     
  • 2.49, X4asd (ok), 13:04, 14/12/2018 [^] [ответить]     [к модератору]  
  • +/
    примеры чего 1 примеры проектов которые были скомпилированы через кроскомпил... весь текст скрыт [показать]
     
  • 1.5, nonimus (?), 13:54, 13/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Что-то мало комментов. А такая тема многообещающая.
    Священную корову C/C++ или яву - да богомерзким питоном собирать?
    Таб не там поставил - весь продакшн рухнет, это же, как-никак, не скобочки!
    ну и дальше по теме.
     
     
  • 2.7, Anonim (??), 14:13, 13/12/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Меня, в основном, останавливает вот это https mesonbuild com Syntax html user... весь текст скрыт [показать]
     
     
  • 3.36, Аноним (36), 22:32, 13/12/2018 [^] [ответить]    [к модератору]  
  • +4 +/
    ай-ай-ай... это как же так. Это же блокирующая причина не использовать meson.
     
  • 2.12, Аноним (-), 14:42, 13/12/2018 [^] [ответить]    [к модератору]  
  • +4 +/
    > Священную корову C/C++ или яву - да богомерзким питоном собирать?

    Это еще лайтово, один из погромистов гугля допер яву требовать для сборки _ОДНОГО_ си++ файлика.

     
  • 2.72, neit95 (ok), 10:01, 17/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Честно говоря, довольно старая фишка Ныне питон у плюсов в комплекте не редкост... весь текст скрыт [показать]
     
  • 1.6, coder (?), 14:06, 13/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    meson не нужен, есть cmake.
     
     
  • 2.8, Аноним (8), 14:26, 13/12/2018 [^] [ответить]    [к модератору]  
  • +4 +/
    cmake не нужен, есть meson
     
     
  • 3.10, Аноним (-), 14:41, 13/12/2018 [^] [ответить]    [к модератору]  
  • +/
    cmake в отличие от этой дряни умеет генерить make-файлы.
     
     
  • 4.22, Аноним (22), 17:32, 13/12/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    эта дрянь умеет генерить хромоподобный асинхронный мейк-файл ninja-build
     
     
  • 5.30, Аноним (30), 20:20, 13/12/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Вобще-то, у CMake есть генераторы и для ninja и даже для проектов sublime text. И в отличии от Meson, CMake может в CUDA (да, да проприетарщина, пок-пок-пок) и кучу других интересных вещей
     
     
  • 6.51, X4asd (ok), 13:08, 14/12/2018 [^] [ответить]     [к модератору]  
  • +4 +/
    а нормальные экономные и при этом linux-style агрументы командной строки -- CM... весь текст скрыт [показать]
     
     
  • 7.57, пох (?), 15:35, 14/12/2018 [^] [ответить]     [к модератору]  
  • +/
    уже Это и есть linux-style От неосиляторов шеллов и мэйкфайлов, ага чо такое... весь текст скрыт [показать]
     
     
  • 8.74, neit95 (ok), 10:06, 17/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > разбираться и понимать не надо

    Для сборки hello world'ов м.б. и не надо. А в остальном синтаксис cmake не на много лучше make.

     
  • 5.32, Аноним (-), 22:06, 13/12/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    А это надо еще какую-то отдельную нинзя-дрянь ставить Особенно угарно для проже... весь текст скрыт [показать]
     
     
  • 6.47, llolik (ok), 11:09, 14/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Можно wget-нуть официально собранный бинарник отсюда https github com ninja-b... весь текст скрыт [показать]
     
  • 6.52, X4asd (ok), 13:19, 14/12/2018 [^] [ответить]     [к модератору]  
  • +/
    для только лишь одного файла file cpp, без зависимостей -- нет смысла использо... весь текст скрыт [показать]
     
  • 4.73, neit95 (ok), 10:03, 17/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > умеет генерить make-файлы.

    Не известно, для каких великих целей.

     
  • 3.11, Константавр (ok), 14:41, 13/12/2018 [^] [ответить]    [к модератору]  
  • –2 +/
    cmake был раньше. Такшта, удваиваю - Мезон не нужен.
     
     
  • 4.16, Аноним (16), 14:47, 13/12/2018 [^] [ответить]    [к модератору]  
  • +6 +/
    > cmake был раньше

    А Makefile был еще раньше. Следовательно, cmake не нужен. А до Makefile жили в пещерах и все было неплохо. Так что и Makefile не нужен.

     
  • 3.14, FedeX (ok), 14:46, 13/12/2018 [^] [ответить]    [к модератору]  
  • –4 +/
    оба не нужны - есть bash скрипты
     
  • 2.23, Аноним (23), 19:30, 13/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Эволюция детка это когда раньше было огнива, а теперь зажигалка,
    так и тут раньше был cmake, но натр@хавшись с ним придумали meson
     
     
  • 3.33, Аноним (33), 22:09, 13/12/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    И какие у него плюсы, собственно Что он поддерживает полторы платформы, нифига ... весь текст скрыт [показать]
     
     
  • 4.53, X4asd (ok), 13:22, 14/12/2018 [^] [ответить]    [к модератору]  
  • –2 +/
    > умеет генерить файлы для кучи билдсистем

    а зачем это было делать? :-)

     
     
  • 5.58, пох (?), 15:37, 14/12/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    действительно, нужно wget нуть официально собранный бинарник под единственно-вер... весь текст скрыт [показать]
     
     
  • 6.59, llolik (ok), 15:52, 14/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Ну вообще-то, если внимательно посмотреть, там https github com ninja-build n... весь текст скрыт [показать]
     
     
  • 7.61, пох (?), 17:09, 14/12/2018 [^] [ответить]     [к модератору]  
  • +/
    похоже, они даже не догадываются, что линукс бывает не только на amd64 в прин... весь текст скрыт [показать]
     
     
  • 8.63, X4asd (ok), 17:43, 14/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > похоже, они даже не догадываются, что линукс бывает не только на amd64...

    ну и на какой линукс тебе не хватило бинарника ninja ? (в том числе учитывая собственный репозиторий этого линукса)

     
     
  • 9.65, пох (?), 19:16, 14/12/2018 [^] [ответить]     [к модератору]  
  • +/
    LSB_VERSION core-2 0-noarch core-3 2-noarch core-4 0-noarch core-2 0-ia32 core-... весь текст скрыт [показать]
     
     
  • 10.69, Xasd (ok), 16:05, 16/12/2018 [^] [ответить]    [к модератору]  
  • +/
    The support for openSUSE 11.3 ended January 20th 2012
     
     
  • 11.76, пох (?), 15:26, 17/12/2018 [^] [ответить]     [к модератору]  
  • +/
    и чо Повторяю - там где он не ended я прекомпиленный бинарник не сборочной ... весь текст скрыт [показать]
     
     
  • 12.78, X4asd (ok), 17:34, 18/12/2018 [^] [ответить]     [к модератору]  
  • +/
    это значит что врядли вообще можно надёжно ожидать что программа зауститься на т... весь текст скрыт [показать]
     
     
  • 13.79, пох (?), 16:57, 19/12/2018 [^] [ответить]     [к модератору]  
  • +/
    программа, авторы которой ниасилили нормальные инструменты - не запустится, увер... весь текст скрыт [показать]
     
  • 1.13, Аноним (16), 14:45, 13/12/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • +2 +/
    С одной стороны С другой стороны Не могу определиться, мезон это хорошо или нет ... весь текст скрыт [показать]
     
     
  • 2.24, Аноним (23), 19:32, 13/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Это позволяет за считанные секунды описать процесс сборки в простой си подобной ... весь текст скрыт [показать]
     
     
  • 3.37, DerRoteBaron (ok), 22:33, 13/12/2018 [^] [ответить]     [к модератору]  
  • +/
    С одной стороны переписать на Си его можно как и почти всё вообще , но так ли э... весь текст скрыт [показать]
     
  • 3.68, dhamp (?), 03:02, 16/12/2018 [^] [ответить]    [к модератору]  
  • +/
    >Это позволяет за считанные секунды описать процесс сборки в простой си подобной форме

    в каком месте синтаксис meson с-подобный?

     
  • 1.15, Аноним (15), 14:47, 13/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/

    >> В циклы foreach добавлена поддержка ключевых слов break и continue;

    %%%ть! Затащить целой питон, чтобы писать правила на каком-то недоязыке.
    Опять лисп изобретают.

     
     
  • 2.18, nm0i (ok), 15:12, 13/12/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    DSL же.
     
  • 2.20, llolik (ok), 15:36, 13/12/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    > Опять лисп изобретают

    Наоборот Python упрощают под нужды сборки.

    > Затащить целой питон

    Который и так везде (ну практически) есть.

     
     
  • 3.25, Аноним (23), 19:34, 13/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Там от питона используют только парсилку грамматики,
    так что думаю, что со временем перепишут на анси си
     
  • 2.31, Ю.Т. (?), 22:00, 13/12/2018 [^] [ответить]    [к модератору]  
  • +/
    >Опять лисп изобретают.

    Кстати.

     
  • 2.39, Аноним (39), 00:30, 14/12/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    А какие альтернативы Факт раз - тащить целый что-то придётся, современная систе... весь текст скрыт [показать]
     
     
  • 3.80, пох (?), 17:08, 19/12/2018 [^] [ответить]     [к модератору]  
  • +/
    autocrap и сам по себе небольшой, и тащит только m4, который вообще крохотный и... весь текст скрыт [показать]
     
  • 1.17, Ivan_83 (ok), 14:50, 13/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Непонятно только зачем это тащют для сборки си и крестовых проектов, собирали бы свои питоны этим.
    Ещё какой то waf есть, тоже питоноподелие для сборки, mpv к сожалению этим собирается.
     
     
  • 2.26, Аноним (23), 19:35, 13/12/2018 [^] [ответить]    [к модератору]  
  • +/
    На сколько наблюдаю waf и scons не прижились, а вот meson вроде бы поддержало сообщество
    так что есть вероятность что на определенном этапе его популярности его перепишут на си
     
     
  • 3.67, SysA (?), 20:17, 14/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Это потому что за ним Красная Шапка стоит!
     
  • 2.56, Crazy Alex (ok), 14:33, 14/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Последние оода три не видел девелоперских систем без питона, даже виндовых. Всё равно что-то его притаскивает
     
  • 1.19, КГБ СССР (?), 15:16, 13/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    [CODE]
    man make
    [/CODE]
     
     
  • 2.21, Аноним84701 (ok), 17:03, 13/12/2018 [^] [ответить]     [к модератору]  
  • +/
    make то он g b n p make, но тот же бсдшный make и gnu make -- могут быть два до... весь текст скрыт [показать]
     
  • 2.27, Аноним (23), 19:37, 13/12/2018 [^] [ответить]     [к модератору]  
  • +/
    К сожалению, make это построитель дерева зависимостей для роаспараллеливания вы... весь текст скрыт [показать]
     
     
  • 3.62, nobody (??), 17:23, 14/12/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    ant - чистой воды make на яве и для явы со своим синтаксисом. Независимость от shell - единственное его коренное отличие от make
     
  • 2.28, Аноним (28), 20:04, 13/12/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    meson — это замена autotools. замена make — это ninja-build
     
     
  • 3.41, трололо (?), 02:54, 14/12/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    совсем распоясались vim, gcc и вам хватит чет народ ваще оборзел ахахах ск... весь текст скрыт [показать]
     
  • 1.29, Аноним (23), 20:13, 13/12/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Кто-нибуь разбирался со сборкой wxWidgets под Windows в meson Прочитал закрытые... весь текст скрыт [показать]
     
     
  • 2.35, Аноним (33), 22:12, 13/12/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Фантомас в очках на аэроплане: собрать wxWidgets в винде шлангом и прикрутить это к дотнету, во.
     
  • 2.38, Аноним (38), 00:07, 14/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Разработчики Clang-а не выпендриваются и используют CMake Зависимостей от сторо... весь текст скрыт [показать]
     
     
  • 3.54, X4asd (ok), 13:38, 14/12/2018 [^] [ответить]    [к модератору]  
  • +/
    >> Смотрел в сторону сборки clang под win32, но тоже не нашел упомнианий.
    > Разработчики Clang-а не выпендриваются и используют CMake. Зависимостей от сторонних библиотек
    > нет, собирается элементарно. Упоминаний чего не нашлось?

    Meson ещё не было когда появился clang

     
     
  • 4.64, Аноним (64), 19:08, 14/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Верно, но в списках рассылки llvm-dev и cfe-dev за весь этот год не нашлос... весь текст скрыт [показать]
     
  • 3.66, пох (?), 19:20, 14/12/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    > Разработчики Clang-а не выпендриваются и используют CMake. Зависимостей от сторонних
    > библиотек нет, собирается элементарно. Упоминаний чего не нашлось?

    эммм...

    LIB_DEPENDS=    libcurl.so:ftp/curl \
                    libexpat.so:textproc/expat2 \
                    libjsoncpp.so:devel/jsoncpp \
                    libuv.so:devel/libuv \
                    librhash.so:security/rhash

    (весь вот этот мусор, кроме разьве что expat, архи ведь важен для банальной генерилки мэйкфайлов, ага). Про кольцевые зависимости в нем, когда что-то от чего зависит, вроде, libuv, требует для своей сборки cmake, я уже когда-то писал.

     
     
  • 4.70, Xasd (ok), 16:12, 16/12/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    а на кой вообще хрен нужена библиотека асинхронного ввода-вывода для системы сборки?

    в первых: можно было воспользоваться средствами которые предлагает ядро: epoll() (и select() для инвалидных операционных систем).

    во вторых: CMake же вообще ничего даже НЕ собирает -- он только делает файл для ninja. ЗАЧЕМ ТУТ АСИНХРОННОСТЬ?!?!

    ды и json разве там есть?

     
     
  • 5.71, dhamp (?), 23:35, 16/12/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    исходники cmake доступны, изучать никто не запрещал.
    изучи для чего нужна та или иная зависимость, да поделись с общественностью своими открытиями.
     
  • 5.77, пох (?), 15:31, 17/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > а на кой вообще хрен нужена библиотека асинхронного ввода-вывода для системы сборки?

    не знаю и знать не хочу. Я и так плохо сплю.

    > в первых: можно было воспользоваться средствами которые предлагает ядро: epoll() (и select()
    > для инвалидных операционных систем).

    вот они и воспользовались, как умели - притащив зависимость от библиотеки, не разбираться же ж самим.

    > ды и json разве там есть?

    как видишь.

    то есть, вероятно, без него как-то соберется, но не факт что после этого соберет то, чего ради ты собирал себе cmake.

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

    autoconf, говоришь, плохой? (напоминаю, что по задумке, ни он сам, ни m4 вообще не должны присутствовать на машине, используемой для сборки или отладки проекта)


     
  • 2.75, neit95 (ok), 10:22, 17/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Глянь msys2. Clang там был. М.б. и wxWidgets есть, но это не точно.
     

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


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