The OpenNET Project / Index page

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



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

Оглавление

Релиз goredo 1.0.0, реализации системы сборки redo, предложенной DJB, opennews (??), 18-Янв-21, (0) [смотреть все]

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


43. "Релиз goredo 1.0.0, реализации системы сборки redo, предложе..."  +3 +/
Сообщение от Урри (ok), 18-Янв-21, 20:47 
Заинтересовался описанием - звучит, как прям серебряная пуля.

У меня есть большой мейкфайл, который собирает под линукс, три различных BSD, адроид, виндоффс (через вайнгцц), делает васм, запускает автотесты по двум большим папкам (со своими очень простыми мейкфайлами), показывает uname и вывод версии собранного файла, при этом сам определяет наличие некоторых системных библиотек (типа HAS_SOCKETS), генерит пекедж под дебиан, и, само собой, умеет инсталл и анинсталл. Одна из целей даже собирается рекурсивно (пока новый вариант не будет лучше предыдущего).

Кроме того часть опций компилятора зависит от наличия системных переменных (и даже компилятора - gcc или clang). А тестовые билды я собираю через opensuse build service, которая вместо меня собирает моим же мейкфайлом полтора десятка различных вариантов пакетов под арм и интел.

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

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

Это не система сборки. Это какая-то тулза для сравнения времени двух файлов. А система сборки должна уметь много больше.

Например, я могу одной строкой в два слова сказать .PHONY и мейк поймет, что это не просто таргет, а команда. А могу не сказать, и он будет проверять наличие такого файла.

Я могу просто написать двумя строками "debug-32: CFLAGS+=-m32\ndebug-32: debug" и мейк заведет мне новый таргет, полностью идентичный основному, со всеми зависимостями, тестами и интеграцией, но 32-битный. А в редо для этого придется писать целый новый скрипт, причем продумать уникальную системную переменную, чтобы этот cflags не путался с возможными другими...

Короче, redo этот для хелловорлдов, проектов под одну платформу и компилятор или для тех, кто любит программировать сборку своего проекта, а не сам проект.

p.s. Лучше мейка разве что симейк, но у него такой дебильный укуреный синтаксис, что пользоваться не хочется.

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

83. "Релиз goredo 1.0.0, реализации системы сборки redo, предложе..."  +/
Сообщение от stargrave2 (?), 23-Янв-21, 18:08 
Короче не осилили просто навсего. У меня прямо противоположный опыт, да ещё и не только с заменой Makefile-ов, но и autoconf зоопарка всего, с распараллеливанием детекторов флагов/команд/whatever. Про debug-32 и "целый новый скрипт" -- это явно говорит что вы просто не разобрались как с redo работать.
Ответить | Правка | Наверх | Cообщить модератору

99. "Релиз goredo 1.0.0, реализации системы сборки redo, предложе..."  +/
Сообщение от Аноним (-), 25-Янв-21, 07:24 
> p.s. Лучше мейка разве что симейк, но у него такой дебильный укуреный
> синтаксис, что пользоваться не хочется.

С ним прикол в том что он генерит мэйкфайлы :) (или что вы там хотели).

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

Пример: есть хидеры libnotify? Вот вам умение проги казать еще и матюки в нотификатор, нету - и хрен с ним, опциональщина, от отсутствия которой никто явно не умрет. Может у юзера система вообще нотификации не умеет, не причина урыть билд совсем. В cmake это более-менее на мази.

p.s. а вы не могли бы пример мэйкфайла куда-нибудь налить? Для общего образования.

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

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

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




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

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