Christophe de Dinechin (https://en.wikipedia.org/wiki/Christophe_de_Dinechin), автор языка программирования XL (https://en.wikipedia.org/wiki/XL_(programming_language)), участник разработки спецификаций C++, создатель системы виртуализации для HP-UX и разработчик ряда известных компьютерных игр, в настоящее время работающий в компании Red Hat над технологией удалённого рабочего стола SPICE (https://www.opennet.me/opennews/art.shtml?num=34920), опубликовал (https://github.com/c3d/build) новую сборочную систему "build". Сборочная система ранее была задействована для сборки кодовой базы проектов ELFE и XL, а теперь может применяться в качестве универсального продукта, не привязанного к конкретным системам. Код открыт (https://github.com/c3d/build) под лицензией GPLv3.Build представляет собой серию надстроек над утилитой make для упрощения сборки проектов на С/С++, которая оформлена в виде набора make-сценариев. Ключевой особенностью Build является предоставление встроенных средств для автоматической настройки сборочного окружения, которые в отличие от Automake не требуют запуска отдельной фазы генерации сборочных файлов. Build также поддерживает ведение сборочного лога, подсветку вывода, обработку стадий тестирования и установки приложения. Отмечается, что Build не так богат возможностями как Autoconf, но вполне подходит для несложных проектов. При этом Build очень прост в использовании и не требует написания длинных make-файлов или определения правил для automake и cmake.
Особенности Build:
- Очень короткие и хорошо читаемые сборочные сценарии, предоставляющие все наиболее полезные возможности сборочной системы;
- Компактный размер: для типовой сборки достаточно поставки кода makefile, размером около 500 строк;
- Высокая скорость работы, так как короткие makefile с небольшим числом правил разбираются очень быстро;
- Автоматическая инкрементальная конфигурация проекта, генерация файла config.h;
- Автоматическое ведение лога с деталями процесса сборки;
- Автоматическая однопроходная генерация зависимостей для заголовочных файлов;
- Поддержка команд "make test" и "make install";
- Компактный отчёт о ходе сборки с подсветкой важных элементов;
- Вывод после завершения сборки сводного отчёта об ошибках и предупреждениях;
- Подсветка ошибок и предупреждений в выводе;
- Правила для сборки в различных режимах (оптимизация, отладка, формирование релиза, профилирование);
- Наличие правил-модификаторов для типовых сборочных опций, таких как v-debug для подробной отладки;
- Возможность определения персональных настроек через переменные окружения;
- Встроенная система подсказки ("make help");
- Полная поддержка стандартного синтаксиса Makefile и всех возможностей утилиты make;- Поддержка распараллеливания процесса сборки на несколько потоков;
- Возможность разделения библиотек для ускорения сборки (библиотеки собираются только при первой сборке или при инициировании глубокой сборки);
- Хорошая переносимость. Система протестирована в Linux, macOS и Windows.
Пример сборочного сценария:
BUILD=./
SOURCES=hello.cpp
PRODUCTS=hello.exe
CONFIG= stdio.h iostream clearenv libm
TESTS=product
include $(BUILD)rules.mk
URL: https://tech.slashdot.org/story/17/06/17/1515236/announcing-...
Новость: http://www.opennet.me/opennews/art.shtml?num=46767
Dinechin - это типа Деникин, потомок белых мигрантов?Матёрый мужик, чем-то похож на Fabrice Bellard, тоже куча разноплановых интересов и везде шедевры на выходе.
Примерно как и у Lennart Poettering...
Poettering любитель комбайнов и усложнений, а здесь наоборот предельное упрощение и ясность. Poettering также мастер собрать вкруг себя команду сторонников и хейтеров, а Bellard и Dinechin - одиночки.
>>Dinechin
>ДеникинТы буквы через одну читаешь, хрустя франузской булкой?
Не булкой, а пальмезаном.
Им не хрустят, а хлюпают.
По французски читается как Динишан, что не исключает, что это переиначенный Деникин.
И не исключено что это англичанин/американец 300 лет назад оконфузившийся на обеде и засунувший подбородок в салат.
Dinechin - это типа Деникин//
Это типа Дениска...Попов. Сделал Инструментарий Попова с хорошими, годными, понятными и нескучными скриптами
> Код открыт под лицензией
> https://github.com/c3d/build/blob/master/LICENSEА как вообще на гитхабе указывать "GPL3 and above" вместо "==GPL3" ?
> А как вообще на гитхабе указывать "GPL3 and above" вместо "==GPL3" ?Как и везде, https://www.gnu.org/licenses/gpl-howto.html
Например, https://github.com/lhmouse/nano-win/commit/d0035b4ab28c061c6...
>Build представляет собой серию надстроек над утилитой makeЧто, опять?
> новую сборочную систему "build"УРААА, здорово!!! Мне как раз не хватало ещё одной. Теперь заживу!
Мужик сделал для себя и решил поделиться с народом, в чем проблема?
Половина гитхаба забита такими "для себя", а новость только об этом.
Все существующие системы сборки - <так себе>, и как раз еще одной остро не хватает. Вот только сабж - явно не то, что нужно. Не понимаю, зачем публиковать такие поделки.
>встроенных средств для автоматической настройки сборочного окружения, которые в отличие от Automake не требуют запуска отдельной фазы генерации сборочных файловИ как отлаживать проблемы на этапе настройки?
>buildЭто чтобы было проще гуглить?
Ага, язык XL с системой build. И так никто и не узнал о новом революционном языке.
Ну, ещё одна система сборки явно не помещает. Посмотрим, что из этого проекта выйдет со временем. Время всё расставляет на свои места. А конкретной в этой новости меня больше заинтересовало упоминание ЯП XL. Никогда о нём не слышал. Но судя по описанию, выглядит очень интересно.
Вот только...
Stable release
0.1 / February 2010; 7 years ago
> Вот только...
> Stable release
> 0.1 / February 2010; 7 years agoCommits on May 10, 2017
https://github.com/c3d/XL-programming-language/commits/master...
https://github.com/c3d/ смотрит на тебя... ну, как ги-хаб на сорс-форж.
Раз уж упомянули игры, сказали бы, что этот Де Динешен -- автор игры Alpha Waves (Continuum), с которой началось Alone in the Dark и остальное 3D от третьего лица. https://sourceforge.net/projects/alpha-waves/
> Хорошая переносимость. Система протестирована в Linux, macOS и Windows.Эхххх... Прям как "кроссплатформенная разработка" у M$:
Работает аж под Windows Client, Windows Server, Windows 32bit, Windows 64bit...
немного напоминает ebuild или PKGBUILDэто хорошо
Мне qmake напомнило.