Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

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



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

"Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от opennews (??), 11-Авг-26, 08:37 
Опубликован релиз сборочной системы Meson 1.12.0, которая используется для сборки таких проектов, как X.Org Server, Mesa, QEMU, Lighttpd, systemd, GStreamer, Wayland, GNOME и GTK. Код Meson написан на языке Python и поставляется под лицензией Apache 2.0...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=66060

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

Оглавление

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


3. "Выпуск сборочной системы Meson 1.12.0"  –2 +/
Сообщение от Ык (?), 11-Авг-26, 09:26 
Кто нибудь пользовался? Как это стстема по сравнению с crate или maven?
Ответить | Правка | Наверх | Cообщить модератору

4. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Анонимный аноним (?), 11-Авг-26, 09:30 
Ее скорее надо сравнивать с cmake и gnu autotools. Она лучше чем эти оба. ИМХО.
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск сборочной системы Meson 1.12.0"  –1 +/
Сообщение от Sm0ke85 (ok), 11-Авг-26, 09:34 
>Она лучше чем эти оба. ИМХО.

```
поставляется под лицензией Apache 2.0.
```

Нет, хуже))

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

6. "Выпуск сборочной системы Meson 1.12.0"  –2 +/
Сообщение от Аноним (6), 11-Авг-26, 09:42 
Невозможно сделать хуже cmake, который вместо поддержки pkg-config пихает кучу своих cmake файлов при установке собранного им софта.
Аутотулз вообще страшный мультивибратор, где скрипт собирает скрипт, который собирает скрипт.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

10. "Выпуск сборочной системы Meson 1.12.0"  +5 +/
Сообщение от No Name (?), 11-Авг-26, 13:17 
>Невозможно сделать хуже cmake, который вместо поддержки pkg-config пихает кучу своих cmake файлов при установке собранного им софта.

Ничего CMake никуда не пихает, это делают криворукие программисты.

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

11. "Выпуск сборочной системы Meson 1.12.0"  +4 +/
Сообщение от Аноним (11), 11-Авг-26, 14:09 
> cmake, который вместо поддержки pkg-config

Разуй глаза, эксперт:

https://cmake.org/cmake/help/latest/module/FindPkgConfig.html

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

12. "Выпуск сборочной системы Meson 1.12.0"  +1 +/
Сообщение от Аноним (12), 11-Авг-26, 15:19 
> Невозможно сделать хуже cmake, который вместо поддержки pkg-config пихает кучу своих cmake файлов при установке собранного им софта.

pkg-config устаревший шлак который умеет только отдать путь к инклудам и имя библиотеки, и нет, это НЕ является зависимостью, которую должны отдавать подобные инструменты. Между тем "куча своих cmake файлов" поддерживается тем же meson'ом и работает из коробки в отличие от pkgconfig.

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

16. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Аноним (11), 11-Авг-26, 15:42 
> pkg-config устаревший шлак который умеет только отдать путь к инклудам и имя библиотеки

...и флажки компиляции, намертво прибитые к конкретному компилятору.

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

17. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 15:42 
Насколько я понял, авторы месона как раз наоборот стараются вообще ничего не костылить сами и полагаются на pkg-config по максимуму.
Когда пару лет назад была в последнем проблема с сортировкой/порядком то починить это костылём из месона было не возможно в принципе.
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

46. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Аноним (12), 11-Авг-26, 19:59 
Авторы месона не могут выбирать на что им полагаться - они обязаны полагаться на то что используется в экосистеме СПО, а используется и pkgconfig, и cmake файлы, и ничего (т.е. инклуды и сошки нужно искать по известным именам в известных каталогах). Всё то же самое делает и cmake.
Ответить | Правка | Наверх | Cообщить модератору

51. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 21:21 
Мне после беглого знакомства с месон казалось что они пошли по другому пути и стараются сами ничего не костылить внутри, в отличии от cmake с его либой костылей.
Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск сборочной системы Meson 1.12.0"  –1 +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 15:46 
Насколько я видел - там принято корябать свои cmake файлы для того что мог бы сделать pkg-config, в ряде случаев.

Автотулз наверное был не плох лет 30 назад, но такое ощущение что в него напихали всякого по максимуму.
Да и портянки которые он генерит и портянки из которых он генерит читать не особо удобно :(

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

15. "Выпуск сборочной системы Meson 1.12.0"  +1 +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 15:40 
Кажется что угодно лучше автотулсов :)
Насчёт cmake - спорное. Думаю лучше для тех у кого нет отторжения к питоновскому синтаксису.
У cmake синтаксис какой то свой и он так себе.

Честно говоря мне всё это надоело и последнее время я пишу свою сборочную систему на shell script.
У меня проекты маленькие, на С, зависимостей очень мало или совсем нет и эти жуткие монстры мне нафик не упали.
Юзать gmake в принципе можно было, по сути оно мало чем отличается от shell script (кроме расширения синтаксиса и один интерпретатор всегда совместим сам с собой), но тоже часто выглядит слишком жирной зависимостью для моих проектов.

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

20. "Выпуск сборочной системы Meson 1.12.0"  +2 +/
Сообщение от Аноним (11), 11-Авг-26, 15:46 
> пишу свою сборочную систему на shell script
> У меня проекты маленькие, на С
> эти жуткие монстры мне нафик не упали.
> выглядит слишком жирной зависимостью для моих проектов.

Золотая классика хэллоуворлдов.

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

26. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 16:23 
Нет, классика это когда для сборки одного .c файла в самом файле написана в коментах строчка как его собрать :)
У меня несколько таких проектов на гитхубе лежат - даже как то стрёмно было туда cmake писать.

Тут же вполне себе компактная система которая умеет почекать флаги компилятора и прочее.
На моих проектах получается что шелл скрипт с описанием занимает меньше буков чем точно такое же на cmake.
Синтаксически/идеологически похожа на мой другой недавний проект: https://github.com/rozhuk-im/chroot_env

Притом из забавного: оно быстрее cmake работает, когда флаги/функции/символы надо прочекать.
Многопоточную сборку я тоже относительно легко прикрутил.
Для примера оно lua собирает у меня на полторы секунды, те от первого запуска до готового бинарника и либы.

И да, я примерно представляю что оно будет работать на ограниченном числе платформ и не очень для больших проектов, но мне этого достаточно. Как раз замена cmake там где он излишен.
Плюс простота из коробки: запустил make.sh и получил релизные бинарники.

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

28. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Аноним (11), 11-Авг-26, 16:36 
> Как раз замена cmake там где он излишен.

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

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

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

31. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 16:52 
Я согласен с тем, что это хорошо для обучения.

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

Я не считаю что это работа целиком на корзину, я чётко обозначил нишу: небольшие С проекты, там всё остальное избыточно.

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

37. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Анонимный аноним (?), 11-Авг-26, 17:33 
И зачем твоя shell-скрипт система, если она будет прибита к unix? Для unix в сто раз проще и лучше написать просто Makefile.
Сборочная система нужна чтобы под разные ОС собирать, в том числе не unix.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

38. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 17:43 
Венда мне не нужна, а sh есть везде, притом что gmake/bmake может и не быть.

Кроме того, насколько я видел, gmake/bmake по сути от sh отличаются только синтаксисом, сами по себе они флаги компилятора и прочее не умеют.
Для проверки вот этого всего нагородили автотулсы поверх.

У меня именно что можно указать список флагов компилятора, линковщика, функции, символы и оно проверит что оно есть в системе.

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

45. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Анонимный аноним (?), 11-Авг-26, 19:56 
make тоже есть везде. очередная сборочная система, которой даже еще нет и это просто идеи в голове, это просто проявление NIH-синдрома и желания попиариться в комментах.
Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 21:19 
Да какой make то?
На фре это bmake, который с gmake не совсем совместим.
Или вы из этих, у которых sh=bash и про другое они не слышали?

И потом, как я писал выше, gmake не очень сильно от sh отличается, а у меня уже есть некоторый функционал от cmake и удобные функции/обёртки.

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

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

39. "Выпуск сборочной системы Meson 1.12.0"  +1 +/
Сообщение от Аноним (12), 11-Авг-26, 17:44 
> У меня проекты маленькие, на С, зависимостей очень мало или совсем нет и эти жуткие монстры мне нафик не упали.

Эх, некому сейчас детям рассказать что такое сложность и где мы за неё платим, а где нет.

Тебя же не смущает что для запуска твоих поделок нужен такой "монстр" как ядро ОС? По той же причине не должен смущать cmake. Вся его сложность от тебя скрыта, он есть на любой системе где собирают софт из исходников, и для хелловорлда `CMakeLists.txt` будет состоять из одной строчки `add_executable(helloworld helloworld.c)`, при этом работать на невообразимом количестве систем и платформ, генерить проекты для IDE, кросскомпилировать и whatnot.

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

> последнее время я пишу свою сборочную систему на shell script.

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

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

41. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 17:55 
Так и с помощью cmake ты пакет не соберёшь пока автор туда не навалит тонну кода с описание как это делать.

В остальном я не то что бы спорю, но ведь есть достаточно много проектов где есть только makefile, который от моей сборочной системы отличается ВСЕГДА в худьшую сторону ибо там нет функций для быстрой и лёгкой проверки компилятора и среды на нужные функционал.

Использование cmake (насколько я знаю) всегда требует несколько раздельных вызовов, что так же не удобно.

Ещё раз: я не создаю конкурента cmake/meson/autotools, это скорее замена gmake/bmake с отдельными функциями как в cmake/meson - тот же pkg-config из коробки через готовые обвязки.

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

47. "Выпуск сборочной системы Meson 1.12.0"  +1 +/
Сообщение от Аноним (12), 11-Авг-26, 20:29 
> Так и с помощью cmake ты пакет не соберёшь пока автор туда не навалит тонну кода с описание как это делать.

Я тебе повторяю - никаких "тонн" не надо. Надо только то что надо - ровно одна строчка для сборки бинарника из списка исходников. Ровно одна строчка для добавления зависимости. Ровно одна строчка для добавления теста. Декларативно и максимально коротко, ни байта описания КАК собирать и как искать зависимости тебе не нужно. Это и называется сборочная система.

> В остальном я не то что бы спорю, но ведь есть достаточно много проектов где есть только makefile

Странно было бы думать что ты единственный невежда. Потом, ещё полно недогнившего легаси до-cmake времён.

> который от моей сборочной системы отличается ВСЕГДА в худьшую сторону ибо там нет функций для быстрой и лёгкой проверки компилятора и среды на нужные функционал.

Открою секрет - никому эти проверки нахрен не сдались. Во-первых, за последние 40 лет POSIX экосистема достаточно гомогенизировалась, и всякие недоделки типа svr4 и pdp-11 со своим уникальным endianess благополучно вымерли. Не нужно больше компилировать conftest'ы дольше чем само приложение как делал мерзотный autocrap, а можно просто использовать стандартные вызовы и быть уверенным что это будет работать на всём зоопарке от netbsd до haiku. Во-вторых, это изначально был ущербный подход, потому что если что-то не поддерживается, то у тебя просто упадёт компиляция, и не надо поддерживать и тратить время на запуск комплекта проверок. Остаётся кейс когда тебе в зависимости от фичи нужно скомпилить разный код, и для этого есть try_compile. Тоже всего одна строка, и точно лучше чем сделано у тебя.

А вот чем твоя поделка отличается в "худьшую" сторону от любой системы сборки, даже богомерзкого scons, и не перечислить, просто потому что ты не знаешь сколько всего она должна уметь, и уметь стандартным способом, а ведь именно от этого незнания ты и стал её писать. Давай, например, с простого - как у тебя реализована инкрементальная сборка, как передаются извне компилятор и его флаги, и как выглядит установка приложения в систему.

> Использование cmake (насколько я знаю) всегда требует несколько раздельных вызовов, что так же не удобно.

Да, необходимость писать `cmake && cmake --build` ставит на нём крест. Что же теперь делать.

> Ещё раз: я не создаю конкурента cmake/meson/autotools, это скорее замена gmake/bmake с отдельными функциями как в cmake/meson - тот же pkg-config из коробки через готовые обвязки.

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

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

49. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 21:12 
> Надо только то что надо - ровно одна строчка для сборки бинарника из списка исходников. Ровно одна строчка для добавления зависимости. Ровно одна строчка для добавления теста.

Я видел с десяток проектов на cmake и там было больше строчек.


> Потом, ещё полно недогнившего легаси до-cmake времён.

Так у них с gmake прекрасно всё собирается, зачем им ещё что то?


> Открою секрет - никому эти проверки нахрен не сдались.

Странно слышать, учитывая что есть как минимум clang и gcc а так же разные версии разных ОС и разных библиотек.
Часто проще написать проверку что флаг или функция есть чем городить кучу проверок соответствия ОС, компилятора и хз чего ещё.

> Остаётся кейс когда тебе в зависимости от фичи нужно скомпилить разный код, и для этого есть try_compile

Ну вот я примерно это и реализовал, для функций и символов.


> А вот чем твоя поделка отличается в "худьшую" сторону от любой системы сборки, даже богомерзкого scons, и не перечислить, просто потому что ты не знаешь сколько всего она должна уметь, и уметь стандартным способом, а ведь именно от этого незнания ты и стал её писать.

Повторяю ещё раз: для простых программ вполне хватает gmake, который от моей поделки отличается в худьшую сторону.
И мне не так уж и много надо, поэтому подход выглядит вполне рабочим.
Но быть может лет через 5-10 я признаю что это был путь в никуда, не вижу в этом ничего плохого.


> Давай, например, с простого - как у тебя реализована инкрементальная сборка, как передаются извне компилятор и его флаги, и как выглядит установка приложения в систему.

Никак не реализовано, как и в большинстве gmake файлов.
Но я уже пробовал игратся с тем чтобы можно было "докомпиливать" только изменённые файлы, это на самом деле не сложная фича: дёрнуть компилятор чтобы он выдал все инклюдесы, найти самый свежий файл и проверить что его дата старее чем время компиляции. В примитивном случае можно компилятор не дёргать а просто скопировать время мобификации с .с файна на .о файл, но это чревато если инклюд поредактируют...

Всё передаётся через переменные окружения.

До установки я ещё не дошёл, в целом будет просто функция target_install() которую каждый для своего проекта сам будет описывать.
Для 1-10 результирующих файлов/папок руки не отвалятся.
Куда ставить - видимо будет дефолты от профиля ОС + оверрайд через переменные окружения.


> Да, необходимость писать `cmake && cmake --build` ставит на нём крест. Что же теперь делать.

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


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

Ну да, запустить make.sh - это нивазможное действие :)
А насчёт переносимости: у меня некоторые проекты вообще только под фрю, уж там то оно не сломается.
На убунтах я без проблем проверю.

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

52. "Выпуск сборочной системы Meson 1.12.0"  +1 +/
Сообщение от Аноним (12), 11-Авг-26, 23:07 
> Я видел с десяток проектов на cmake и там было больше строчек.

Рад за тебя, это чему-то из мной сказанного противоречит?

> Так у них с gmake прекрасно всё собирается, зачем им ещё что то?

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

> Странно слышать, учитывая что есть как минимум clang и gcc а так же разные версии разных ОС и разных библиотек.

Перечисли что в твоих хелловорлдах так отличается что тебе нужна разные реализации на разных компиляторах и ОС? Что до библиотек, просто требуют версию >= X.Y. KISS. Не нужны никакие проверки.

> Повторяю ещё раз: для простых программ вполне хватает gmake, который от моей поделки отличается в худьшую сторону.

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

> Никак не реализовано
> До установки я ещё не дошёл

Ну понятно. Действительно, есть на что потратить 5-10 лет.

> Но это же не полная последовательность действий, зачем вы лукавите.
> Это будет insource сборка которая всё загадит.

Это вы лукавите - пишете что кому-то там якобы gmake хватает, при том что insource сборка там это почти всегда единственный вариант. И проблемой это не является - во-первых, это "загаживание" нигде не видно, во-вторых, есть git clean. Ну добавь `..` если хочешь outsource, это будет последний гвоздь в гроб cmake.

> Ну да, запустить make.sh - это нивазможное действие :)

Никакой нормальный человек не запустит make.sh не прочитав его, уже хотя бы потому что если кто-то написал свою систему сборки, доверять ему нельзя, почти гарантированно оно делает `curl | sudo sh` и срёт в систему по рандомным путям, хотя очень маловероятно что она дойдёт до установки, и тогда её понадобится не только прочитать, но и отладить и исправить. Фигня какая.

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

53. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 23:34 
> Рад за тебя, это чему-то из мной сказанного противоречит?

То что я реально видел на практике отличается от того что вы описываете.

> Во-вторых, мы всё-таки говорим не о cmake vs gmake, а о cmake vs. самописная дрисня.
> От твоей поделки ничего не может отличаться в худшую сторону, потому что самописный велосипед это дно которое нельзя пробить.

Повторяю: sh = gmake, особой разницы нет.
От того что в обычных проектах нечто называется makefile а не make.sh ничего по сути не меняется.

> Перечисли что в твоих хелловорлдах так отличается что тебе нужна разные реализации на разных компиляторах и ОС?

hardening флаги компилятора, включатели/выключатели варнингов которые между компитоярами тоже отличаются.
Что касается ОС то мне нужны проверки наличия функций и символов, у меня, например, разные эвент бэкенды для линуха - epoll и для bsd - kqueue(), не говоря о том, что местами у меня есть собственные реализации отсутствующих функций, той же strlcpy().
Можешь более подробно почитать тут: https://github.com/rozhuk-im/ssdpd/blob/master/CMakeLists.txt
или в соседних моих проектах.


> Ну понятно. Действительно, есть на что потратить 5-10 лет.

А ты что предлагаешь?
Писать cmake и пить пиво? - так это топтание на месте, без учёбы и развития.


> Это вы лукавите - пишете что кому-то там якобы gmake хватает, при том что insource сборка там это почти всегда единственный вариант.

Чувак, ты споришь ради спора.
Вот так обычно cmake проекты сейчас компеляют:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=true ..
make -j 16

Да, ты можешь записать это в одну строчку или засунуть в шелл скрипт, но это то как изначально без костылей оно работает.
У меня сразу make.sh.


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

Это конечно плохой аргумент, но нонче вообще многое ставится через curl | sh - так что многие копипастя в терминал не приходя в сознание всякую гадость.

В остальном ты опять шизу пишешь, потому что ровно тоже самое пишут в makefile который запускают через gmake:
install: dummy
    cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
    cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
    cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
    cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
    cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)

uninstall:
    cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
    cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC)
    cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB)
    cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN)

local:
    $(MAKE) install INSTALL_TOP=../install

это кусок из lua.
Чтобы это портировать в sh нужно просто install поменять на target_install() и добавить скобочек.
(ну и враппер-запускатор вида: exec target_${1})
И этому решению/коду больше чем cmake лет.


В общем ты постоянно выдаёшь свой узкий взгляд за якобы единственную истину в мире.

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

55. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Аноним (11), 12-Авг-26, 01:34 
> Повторяю: sh = gmake, особой разницы нет.
> От того что в обычных проектах нечто называется makefile а не make.sh ничего по сути не меняется.
> Писать cmake и пить пиво? - так это топтание на месте, без учёбы и развития.

Ваня, если бы ты действительно обучался, а не страдал вот этой туфтой, то знал бы, что Make в свое был создан БУКВАЛЬНО от того, чтобы не мучаться с Shell-скриптами.

То есть еще в середине 70-х люди поняли, что это тупик. А ты сейчас, спустя пол-века, называешь этот подход "развитием". И пишешь свой убогий велосипед БУКВАЛЬНО потому, что в силу своего заторможенного развития так и не понял, что такое make, чем он отличается от shell и зачем вообще нужен.

Извини, но тебе выше все правильно написали: "это дно которое нельзя пробить".

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

57. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 12-Авг-26, 03:19 
Может в 70е годы это и был тупик, но сейчас вполне себе есть переносимые шелл скрипты и всё как то утряслось, по крайней мере особых проблем нет если не юзать специфичные флаги и утилиты, базовый набор везде более-менее одинаковый.

И если что я уже имел опыт костыляния даже базовых утилит из классических makefile когда делал чтобы сборка опенврт работала на фре. (и таки да, я собирал работающие опенврт образы на фре)

На самый крайний случай можно тупо потребовать bash в качестве интерпретатора.


В остальном же, если бы я слушал таких как вы - я бы жил намного хуже.
Даже хождение по тупикам учит.
Однажды я вытаскивал фрёвый IP стёк в нетграф ноду, чтобы у меня было что то типа ng_ethernet где свой MAC и свой IPv4. Делалось это чтобы пропускать броадкасты (от одной игрулины) через домашний впн сервер в домашнюю локалку и обратно.
Заняло кажется месяца 2 или больше, и даже PoC заработал. Потом я понял какие правила и как можно было записать в PF для получения такого же эффекта.
Изначально были способы решения задачи проще, и те что гуглились и те что я потом осознал уже сам. Если бы я изначально пошёл этим простым путём то никогда бы не узнал как сети работают на низком уровне и много всего интересного о внутрянке фри. И эти знания до сих пор прекрасно монетизируются.
Ещё как то раз мне нужна была ассимтеричная крипта у меня в приложении...и я опять пошёл путём самурая - сам реализовал с нуля ECDSA (одна из десятка-двух реализаций в мире). Можно было зацепить опенссл или ещё что за пол часа, а я потратил пол года.
Это те знания что в вузах то не часто дают (такое обычно курсовая-дипломная), плюс сопутствующие соседние направления...
Даже мои портирования фрибсд на старый арм, который безвозвратно потерялся при переезде и сам код можно было почти весь выкинуть/невозможно переиспользовать - всё равно многому меня научил что потом пригождалось.
Даже глупая возня с запуском/портированием ужасного питоноподелия HomeAssistant на фрю - и то окупилось уже на работе.

А теперь какой то чел будет мне рассказывать что я зря трачу время на систематизацию и приобретение новых знаний о работе компиляторов, линкеров, сборочных систем и обеспечение кроссплатформенности? Серьёзно!?

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

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

9. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Сладкая булочка (?), 11-Авг-26, 13:00 
> Код Meson написан на языке Python

В который хотят добавить раст как сборочную зависимость. Думайте!

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

13. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Аноним (12), 11-Авг-26, 15:20 
Согласен, пока не добавят внимания не стоит.
Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Аноним (14), 11-Авг-26, 15:28 
Питон даже как сам как сборочная зависимость для плюсов не нужен вообще. Итого: мезон не нужен.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

21. "Выпуск сборочной системы Meson 1.12.0"  –1 +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 15:49 
Так выбора в индустрии почти нет.
Месон на вид самое простое и адекватное для тех кого не тошнит от питона при одном только виде.
Есть cmake, но он у меня при сборке требует месона... да и синтаксис там не очень удобный, чего только end() стоит. Да и всякого прочего туда понапихали последние годы тоже, типа курла чтобы сам умел качать.
Ответить | Правка | Наверх | Cообщить модератору

23. "Выпуск сборочной системы Meson 1.12.0"  +1 +/
Сообщение от Аноним (11), 11-Авг-26, 15:52 
> Есть cmake, но он у меня при сборке требует месона

Чиво? Для его сборки кроме компилятора и make ничего не требуется:

https://github.com/kitware/cmake#building-cmake-from-scratch

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

24. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 16:13 
Ну вот а меинтейнер во фре как то не осилил сделать так чтобы cmake собирался без meson. Возможно и меинтейнеры других проекто оказались не лучше.
Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 15:46 
Ну вот да, поэтому я пишу свою сборочную систему на shell script :)
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

25. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Аноним (12), 11-Авг-26, 16:14 
Не трать время, лучше просто вывали исходники. Никто в твоём шелле не работающим нигде кроме твоего локалхоста разбираться не будет, и просто накадает CMakeLists.txt из одной строчки с `add_executable` которую ты не осилил.
Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 16:24 
Да есть у меня исходники, всё что больше одного .c файла и так содержит cmake.
Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Сладкая булочка (?), 11-Авг-26, 16:47 
> Ну вот да, поэтому я пишу свою сборочную систему на shell script
> :)

Есть muon, но не полностью совместим

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

33. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 17:02 
Не знал :)
На фре его прикрутили, но так понял не юзается.

Но как решение проблемы всё равно мне не очень.

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

22. "Выпуск сборочной системы Meson 1.12.0"  +3 +/
Сообщение от Аноним (11), 11-Авг-26, 15:49 
>> Код Meson написан на языке Python
> В который хотят добавить раст как сборочную зависимость. Думайте!

Тебе в Firefox и Android его уже давно добавили. И что, надумал?

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

30. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Сладкая булочка (?), 11-Авг-26, 16:48 
>>> Код Meson написан на языке Python
>> В который хотят добавить раст как сборочную зависимость. Думайте!
> Тебе в Firefox и Android его уже давно добавили. И что, надумал?

Ну firefox'у это не помогает, а ведроидом не пользуюсь. Может хватит уже эти прмеры приводить? В ff большинство кода - это c++ и js.

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

34. "Выпуск сборочной системы Meson 1.12.0"  +1 +/
Сообщение от Аноним (11), 11-Авг-26, 17:11 
> Ну firefox'у это не помогает

Ты сказал?

> ведроидом не пользуюсь

Пришло время офигительных историй! Давай, расскажи мне, что у тебя кнопочник вместо смарта, чтобы коварные корпы не отслеживали.

> Может хватит уже эти прмеры приводить?

Нет, не хватит, ибо ты лицемерно кушаешь ФФ, воюя при этом против Раста.

>>> Код Meson написан на языке Python
>> В который хотят добавить раст как сборочную зависимость. Думайте!
>  В ff большинство кода - это c++ и js.

А в cpython Раста сейчас вообще нет, но это не помешало тебе здесь всплыть со своей священной войной против мельниц.

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

54. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Сладкая булочка (?), 12-Авг-26, 00:12 
>> ведроидом не пользуюсь
> Пришло время офигительных историй! Давай, расскажи мне, что у тебя кнопочник вместо
> смарта, чтобы коварные корпы не отслеживали.

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

>> Может хватит уже эти прмеры приводить?
> Нет, не хватит, ибо ты лицемерно кушаешь ФФ, воюя при этом против
> Раста.
>>>> Код Meson написан на языке Python
>>> В который хотят добавить раст как сборочную зависимость. Думайте!
>>  В ff большинство кода - это c++ и js.
> А в cpython Раста сейчас вообще нет, но это не помешало тебе
> здесь всплыть со своей священной войной против мельниц.

Как же у тебя пригорает... Это хорошо)

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

32. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 16:54 
А вы не понимаете разницу?

Одно дело когда тебе продают/отдают готовый продукт, а другое дело когда ты сам с этим возишься.
В первом случае наличие дрыста - это интимная проблема создателей.

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

35. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Аноним (11), 11-Авг-26, 17:16 
> А вы не понимаете разницу?
> Одно дело когда тебе продают/отдают готовый продукт, а другое дело когда ты сам с этим возишься.

О какой разнице ты говоришь? Что Firefox, что Python ты либо готовый качаешь из репы, либо собираешь сам.

> В первом случае наличие дрыста - это интимная проблема создателей.

А во втором - тех, кто "возится". И?

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

36. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 17:29 
Так ты постоянно тыкаешь в пользователей андройда: "ааа там дрыст, ты тоже заляпался!" - а это не так.
Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Аноним (11), 11-Авг-26, 17:45 
> Так ты постоянно тыкаешь в пользователей андройда: "ааа там дрыст, ты тоже заляпался!" - а это не так.

Я тыкаю не во всех пользователей Андроида, а в конкретных лицемеров, которые воюют против Раста, кушая софт, который на нем написан.

> ааа там дрыст, ты тоже заляпался!" - а это не так

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

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

42. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 17:59 
Меня вопросы лицемерия не интересуют - это ваша личная проблема восприятия действительности.

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

Что будет если убрать весь код на раст из фф и андройда - ничего страшного.
Что будет если убрать код на С/С++/джаве - всё сломается, оно изначально на этом писалось.

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

43. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Аноним (11), 11-Авг-26, 18:26 
> Меня вопросы лицемерия не интересуют

Ну естественно, ведь ты же сам лицемер.

> это ваша личная проблема восприятия действительности

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

> Пользователю андройда, фф - вообще пофик что там и как там, лишь бы работало.

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

> Что будет если убрать весь код на раст из фф и андройда - ничего страшного
> Что будет если убрать код на С/С++
> оно изначально на этом писалось

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

А так большинство нового кода в Андроиде "изначально пишется" как раз на Rust, а не C++. Была же новость тут. Поэтому если ты собрался "убрать" весь растовый код, то придется переписать его на С++.

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

48. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 11-Авг-26, 20:49 
> Ну естественно, ведь ты же сам лицемер.

И чо?


> А зачем в принципе убирать какой-либо код? Это типа был аргумент против Раста?

Да.


> Поэтому если ты собрался "убрать" весь растовый код, то придется переписать его на С++.

ЫЫ это легко сделает.

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

56. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Аноним (11), 12-Авг-26, 02:12 
>> Ну естественно, ведь ты же сам лицемер.
> И чо?

То, что ты сам же дискредитируешь свою войну. Не соображаешь, да?

>> А зачем в принципе убирать какой-либо код? Это типа был аргумент против Раста?
> Да.

Что "да"? То, что ты более нелепого аргумента придумать не смог - это и так очевидно  Главный же вопрос был: зачем?

>> Поэтому если ты собрался "убрать" весь растовый код, то придется переписать его на С++.
> ЫЫ это легко сделает.

ЫЫ и обратное легко сделает. А так смешно, конечно, что ты грезишь ИИ-переписыванием именно с Rust на C++ учитывая, что в Андроиде с Хромом в приоритете именно Раст, и оба проекта пишутся одним из главных идеологов ИИ.

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

58. "Выпуск сборочной системы Meson 1.12.0"  +/
Сообщение от Ivan_83 (ok), 12-Авг-26, 03:28 
Да - аргумент против раста.
Вы тыкаете растом как будто без него жить нельзя и всё сломается, я показал что в ваших примерах раста изначально не было и они прекрасно работали без него.

И растокода там не так уж много, переписать это обратно на С не будет большой проблемой, в отличии от переписывания всего подряд на раст.

И ЫЫ и раст - хайп проекты.
Есть много ровестников раста решающих те же проблемы сходным образом, но их не захайпили фанатики и о них почти ничего не слышно.
Хайп на раст уже кончается: он не проявил себя как хороший язык для разработки с нуля, это многие поняли на практике.
Ещё лет 5 и появятся злые ненавистники которые будут рассказывать про ужасы рефакторинга легаси растокода.
Пока оно ещё под ковром, фанатики создают видимость что всё общество обожает язык, только неудачники его не любят.
Это я могу легко говорить свободно - мне плевать что обо мне думают люди которые не платят мне деньги и физически до меня дотянутся не могут :)

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

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

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




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

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