From: Sergey Matveev Date: Fri, 25 Jun 2021 10:29:39 +0000 (+0300) Subject: goredo интеграция с jobserver GNU Make и NetBSD bmake X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=e1871a32d8b81b858d121ee43c1dbf57d60ed6ef;p=stargrave-blog.git goredo интеграция с jobserver GNU Make и NetBSD bmake http://lists.cypherpunks.ru/archive/goredo-devel/2106/0031.html Недавно зарелизил goredo с совместимостью с jobserver реализацией либо GNU, либо NetBSD make (который используется по умолчанию и в FreeBSD). Суть всех jobserver-ов (включая тот, что из коробки в goredo) одинакова: pipe, который передаётся дочерним процессам, по которому гоняется однобайтный токен (f6e7ce58418d4b6dbcbf28b31698f1b6830ca028). Вот только способ передачи знаний о файловых дескриптора отличается: GNU и NetBSD версии используют MAKEFLAGS переменную окружения, в которой отличающийся формат опций. Через REDO_MAKE переменную окружения можно указать какой вид передачи "знаний" об этих файловых дескриптора goredo должен использовать. По сути, то это просто выбор регулярки, которая найдёт два числовых идентификатора файловых дескрипторов, и названий переменных. Теперь, если используется и Make и redo, то количество worker-ов будет совместно ограничиваться между ними. Причём, как запуская make под redo, так и наоборот. Зачем? А почему бы и нет. apenwarr/redo поддерживает GNU Make протокол. А goredo ещё и bmake-овый! ---