The OpenNET Project / Index page

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

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

13.12.2018 11:36

Представлен релиз сборочной системы 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 3.0
Короткая ссылка: https://opennet.ru/49774-meson
Ключевые слова: meson, build, cpmpile
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (70) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, mikhailnov (ok), 13:06, 13/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как там с Meson на e2k?
     
     
  • 2.48, X4asd (ok), 13:00, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    пробовал на Астре Линукс Эльбрусе

    в целом использовать вышло.. :-)

    нюансы следущие:

    python требуется современный (а не из репозитория говнолинуксов)

    -> современный python собирается недоконца (проблемы с ffi) на Эльбрусе, но в достаточном количестве для использования Meson

     
  • 2.81, Michael Shigorin (ok), 18:10, 14/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Засунули с 0.46.0: https://github.com/mesonbuild/meson/pull/3115

    PS: но как же всё-таки эту кривулину ногами пишут...

    TypeError: get_library_dirs() takes 2 positional arguments but 3 were given

    (это функция и её вызов в одном и том же mesonbuild/compilers/c.py из одного и того же коммита, если что)

    PPS re #48: в альте на эльбрусе сейчас питон 3.7.3, если что.

     
     
  • 3.84, mikhailnov (ok), 02:12, 08/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Засунули с 0.46.0: https://github.com/mesonbuild/meson/pull/3115
    > PS: но как же всё-таки эту кривулину ногами пишут...
    > TypeError: get_library_dirs() takes 2 positional arguments but 3 were given
    > (это функция и её вызов в одном и том же mesonbuild/compilers/c.py из
    > одного и того же коммита, если что)

    Спасибо. А с месоном бывает весело не только на e2k.

     

  • 1.4, Аноним (4), 13:25, 13/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Примеры с кроскомпиляцией есть?
     
     
  • 2.49, X4asd (ok), 13:04, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    примеры чего?

    1. примеры проектов? (которые были скомпилированы через кроскомпиляцию)

    2. или примеры того как какой порядок действий делали пользователи чтобы скоспилировать кроскомпиляционно?

    для случая {1} потенциально любой проект может оказаться ГОДНЫМ для кроскомпиляции. но есть вероятность присутствия ошибок в "meson.build" файле проекта, которые не позволят собрать через кроскомиляцмю.

    для случая {2} -- примеры на страницах докментации

     

  • 1.5, nonimus (?), 13:54, 13/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Что-то мало комментов. А такая тема многообещающая.
    Священную корову C/C++ или яву - да богомерзким питоном собирать?
    Таб не там поставил - весь продакшн рухнет, это же, как-никак, не скобочки!
    ну и дальше по теме.
     
     
  • 2.7, Anonim (??), 14:13, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Меня, в основном, останавливает вот это:

    https://mesonbuild.com/Syntax.html#userdefined-functions-and-methods

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

     
     
  • 3.36, Аноним (36), 22:32, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    ай-ай-ай... это как же так. Это же блокирующая причина не использовать meson.
     
  • 2.12, Аноним (-), 14:42, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Священную корову C/C++ или яву - да богомерзким питоном собирать?

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

     
  • 2.72, neit95 (ok), 10:01, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Честно говоря, довольно старая фишка. Ныне питон у плюсов в комплекте не редкость. То разнопёстрые вспомогательные скрипты, то тесты (cxxtest, cxxmock), то сборщики (scons, waf). А вот на кой для java - не понятно. Там вроде с этим вообще своя атмосфера.
     

  • 1.6, coder (?), 14:06, 13/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    meson не нужен, есть cmake.
     
     
  • 2.8, Аноним (8), 14:26, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    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 +/
    > ... и даже для проектов sublime text. И в отличии от Meson, CMake может в CUDA (да, да проприетарщина, пок-пок-пок) и кучу других интересных вещей

    а нормальные (экономные и при этом linux-style) агрументы командной строки -- CMake планирует научится?

    или это является якобы совсем необязательным?

    ато, понимаете, компилировать под проприетарную CUDA (на компьютере с проприетарным драйвером Nvidia) -- это что-то такое что наверняка не понадобиться НИ РАЗУ в жизни нормального человека.

    а вот запускать компиляцию через использование различных аргументов командной строки -- это именно то что делается довольно часто в независимости от "кучу других интересных вещей" :-) ..

    улавливаете в приоритеты?

    ды и сам синтаксис проектов CMake тоже не вызывает радости

     
     
  • 7.57, пох (?), 15:35, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > а нормальные (экономные и при этом linux-style) агрументы командной строки -- CMake планирует
    > научится?

    уже. Это и есть linux-style.

    От неосиляторов шеллов и мэйкфайлов, ага.

    > ды и сам синтаксис проектов CMake тоже не вызывает радости

    чо такое? Они пробелонезависимые (в отличие, кстати, от clean make), разбираться и понимать не надо - stackoverflow, ctrl-c, ctrl-v.


     
     
  • 8.74, neit95 (ok), 10:06, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Для сборки hello world ов м б и не надо А в остальном синтаксис cmake не на мн... текст свёрнут, показать
     
  • 5.32, Аноним (-), 22:06, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > эта дрянь умеет генерить хромоподобный асинхронный мейк-файл ninja-build

    А это надо еще какую-то отдельную нинзя-дрянь ставить. Особенно угарно для прожектов на 5 файлов. Они так круто несколько микросекунд сэкономили, путем требования понаставить какой-то гадости, что я им тоже желаю гуглопрогера, который яву потребовал вкатить и прочие грэдлы для того чтобы 1 си++ файл скомпилить.

    А нормальные люди смотрели на это дело, крутили пальцем у виска и жали gcc -O3 file.cpp -o program :D

     
     
  • 6.47, llolik (ok), 11:09, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А это надо еще какую-то отдельную нинзя-дрянь ставить

    Можно wget-нуть официально собранный бинарник (отсюда https://github.com/ninja-build/ninja/releases) аж 76Кб в zip. Внутри "гигантский" 183,3Кб блоб ninja. Собственно, вся установка.

     
     
  • 7.85, Michael Shigorin (ok), 13:57, 08/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> А это надо еще какую-то отдельную нинзя-дрянь ставить
    > Можно wget-нуть официально собранный бинарник

    А где взять для e2k или вон для riscv64 через стенку? :)

     
     
  • 8.86, llolik (ok), 14:39, 08/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, это к тому, что если он не хочет ставить, то вся ninja - это один 200Кб бин... текст свёрнут, показать
     
     
  • 9.87, Michael Shigorin (ok), 17:30, 08/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    На всякий packages altlinux org ninja 1 9 0-alt1 собралось без пинков ... текст свёрнут, показать
     
  • 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 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > cmake был раньше

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

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

    Так обрастет поддержкой разного добра и фичами - скорость просядет, траха прибавится и после этого найдите 10 отличий. Cmake просто уже на более поздней фазе эволюции - умеет генерить файлы для кучи билдсистем, детектит кучу всего, даже уже не сильно глюкая в этом процессе как раньше. Так что даже в нечто относительно юзабельное превратился, по сравнению с старыми версиями.

     
     
  • 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 [^] [^^] [^^^] [ответить]  
  • +/
    > действительно, нужно wget'нуть официально собранный бинарник под единственно-верный линукс

    Ну вообще-то, если внимательно посмотреть, там (https://github.com/ninja-build/ninja/releases) бинарники под linux/window/mac + тарболл.
    Как минимум, на Xenial/CentOS6 (штатный gcc) и на Win7 (MSVS2015), в общем на чём я собираю и могу проверить, оно нормально работает. На Mac не пробовал (нет надобности, макбука нет, с виртуалкой извращаться лень).

     
     
  • 7.61, пох (?), 17:09, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    похоже, они даже не догадываются, что линукс бывает не только на amd64...

    в принципе, незачем и париться - код, использующий это чудо вместо автоконфа, все равно там тоже не соберется, а собравшись по недоразумению - не заработает.

     
     
  • 8.63, X4asd (ok), 17:43, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    ну и на какой линукс тебе не хватило бинарника 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 [^] [^^] [^^^] [ответить]  
  • +/
    программа, авторы которой ниасилили нормальные инструменты - не запустится, увер... текст свёрнут, показать
     
  • 3.82, Michael Shigorin (ok), 18:15, 14/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, и теперь уродуются с мезоном об питон -- первое попавшееся: https://github.com/mesonbuild/meson/commit/de175aac0051b5625e21aeb5b9864ae7c37

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

     

  • 1.13, Аноним (16), 14:45, 13/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    С одной стороны

    > Код Meson написан на языке Python

    С другой стороны

    > поставляется под лицензией Apache 2.0
    > таких проектов, как systemd, GStreamer, GNOME и GTK+

    Не могу определиться, мезон это хорошо или нет.

     
     
  • 2.24, Аноним (23), 19:32, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это позволяет за считанные секунды описать процесс сборки в простой си подобной форме,
    что конечно удобно, но вот Python как бы показывает, что проект не созрел.

    С другой стороны Git тоже сначала не был на Си написан.

    Ничего дорастет до взрослого состояния перепишут на Си.

     
     
  • 3.37, DerRoteBaron (ok), 22:33, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    С одной стороны переписать на Си его можно (как и почти всё вообще), но так ли это нужно, если оно хорошо работает на питоне?
    На встройках и железе двадцатилетней давности им вряд ли кто-нибудь будет собирать, а затянуть сборочной зависимостью питон и использовать на чем-нибудь помощнее себе нормально.
    Разве что с кросс-компиляцией в чем-нибудь типа pdebuild могут быть проблемы, но там дебиановцы ССЗБ и не смогли в архитектуру зависимости "any" и тянут на host python:target, который пытается собой исполнить скрипт в postinstall и там и умирает.
     
  • 3.68, dhamp (?), 03:02, 16/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Это позволяет за считанные секунды описать процесс сборки в простой си подобной форме

    в каком месте синтаксис 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 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Опять лисп изобретают

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

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

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

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

    Кстати.

     
  • 2.39, Аноним (39), 00:30, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А какие альтернативы?

    Факт раз - тащить целый что-то придётся, современная система сборки это весьма нетривиальный продукт. CMake, autocrap, SCons, meson - всё большое само по себе, и/или тащит что-то большое зависимостями.

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

     
     
  • 3.80, пох (?), 17:08, 19/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Факт раз - тащить целый что-то придётся, современная система сборки это весьма
    > нетривиальный продукт. CMake, autocrap, SCons, meson - всё большое само по
    > себе, и/или тащит что-то большое зависимостями.

    autocrap и сам по себе небольшой, и тащит только m4, который вообще крохотный.

    и, самое главное - он нужен только и исключительно разработчику, желающему что-то поменять не в коде, а в механизме его сборки. Всем остальным (включая тех кто правит код) он не требуется - необходимо и достаточно запустить configure. Но это немодно, немолодежно, и мы его уже добавили в .gitignore, чтоб жизнь медом не казалась.

     

  • 1.17, Ivan_83 (ok), 14:50, 13/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Непонятно только зачем это тащют для сборки си и крестовых проектов, собирали бы свои питоны этим.
    Ещё какой то waf есть, тоже питоноподелие для сборки, mpv к сожалению этим собирается.
     
     
  • 2.26, Аноним (23), 19:35, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    На сколько наблюдаю waf и scons не прижились, а вот meson вроде бы поддержало сообщество
    так что есть вероятность что на определенном этапе его популярности его перепишут на си
     
     
  • 3.67, SysA (?), 20:17, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это потому что за ним Красная Шапка стоит!
     
  • 3.83, Michael Shigorin (ok), 18:17, 14/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    На waf ещё и samba с какого-то бодуна успели перетащить...
     
  • 2.56, Crazy Alex (ok), 14:33, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Последние оода три не видел девелоперских систем без питона, даже виндовых. Всё равно что-то его притаскивает
     

  • 1.19, КГБ СССР (?), 15:16, 13/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    [CODE]
    man make
    [/CODE]
     
     
  • 2.21, Аноним84701 (ok), 17:03, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > [CODE]
    > man make
    > [/CODE]

    make то он (g/b/n/p)make, но тот же бсдшный make и gnu make -- могут быть два довольно разных мейка.
    Хотя, можно смотреть в сторону мейкфайлов suckless.org проектов -- там  обычно только Incs/Libs пути править нужно, чтобы оно собиралось на не-пингвине.


     
  • 2.27, Аноним (23), 19:37, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    К сожалению, make это построитель дерева зависимостей для роаспараллеливания "выполнения" заданий.

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

    Хотя цель у инструментов одинаковая, но meson ближе к синструментам вроде ant и maven нежели к make

     
     
  • 3.62, nobody (??), 17:23, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ant - чистой воды make на яве и для явы со своим синтаксисом. Независимость от shell - единственное его коренное отличие от make
     
  • 2.28, Аноним (28), 20:04, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    meson — это замена autotools. замена make — это ninja-build
     
     
  • 3.41, трололо (?), 02:54, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    совсем распоясались. vim, gcc и вам хватит. чет народ ваще оборзел)))) ахахах скоро кодить надо будет через решение спец задач по поиску нужной кнопки в сборщике сборщика, который собирает сборщика. :)
     

  • 1.29, Аноним (23), 20:13, 13/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто-нибуь разбирался со сборкой wxWidgets под Windows в meson.
    Прочитал закрытые задачи на GitHUB по meson, но так и не понял
    существует ли путь собрать проект с wxWidgets под Visual Studio.

    Пакет wxWidgets скачан лежит в какой-то директории.

    Что-то там непонтяное вроде и пакетный менеджер vcpck советуют,
    но так и не понятно уже есть поддержка или нет.

    Смотрел в сторону сборки clang под win32, но тоже не нашел упомнианий.

    Вообще как-то глухо. Работы идут в этом направлении?

    Неужеле все перебрались под .NET?

     
     
  • 2.35, Аноним (33), 22:12, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Фантомас в очках на аэроплане: собрать wxWidgets в винде шлангом и прикрутить это к дотнету, во.
     
  • 2.38, Аноним (38), 00:07, 14/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Смотрел в сторону сборки clang под win32, но тоже не нашел упомнианий.

    Разработчики 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") за весь этот год не нашлось ничего даже отдалённо напоминающего переход с CMake на сабж.

    Вопрос "Упоминаний чего не нашлось?" также остаётся открытым.

     
  • 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:
    Текст:



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

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