Skip to content

Conversation

@rhubert
Copy link
Contributor

@rhubert rhubert commented Nov 14, 2025

The jobserver support finally landed in ninja-master.

Also add PKG_LICENSE.

@rhubert rhubert mentioned this pull request Nov 14, 2025
@jkloetzke
Copy link
Member

I recently learned that there are actually two flavours of job servers: pipe based and FIFO based. Unfortunately, Bob only implements the pipe based protocol and that is not supported by ninja 😞 So I'm afraid we have to keep the old version for the time being.

I'll put the FIFO protocol on the Bob TODO list...

@rhubert
Copy link
Contributor Author

rhubert commented Nov 16, 2025

I haven't looked into it, but maybe you did this already: Is the pipe based protocol supported by the forked version we're actually using?

@jkloetzke
Copy link
Member

Actually, I didn't look before but I quickly checked and it only supports the pipe protocol.

@jkloetzke
Copy link
Member

This can be merged once Bob 1.2 has been released. We'll have to add

jobServer: "fifo"

to classes/ninja.yaml to make sure that Bob always uses a FIFO based jobserver.

jkloetzke and others added 5 commits January 20, 2026 21:47
We need at least the new FIFO job server protocol support for Ninja...
The jobserver support finally landed in ninja-master. Unfortunately,
they only support the FIFO (named pipe) job server protocol. Update the
respective class accordingly so that Bob provides the right job server
type.

Co-authored-by: Jan Klötzke <jan@kloetzke.net>
Now that we use make 4.4, we can utilize the FIFO and the anonymous pipe
protocol. Allegedly, the FIFO protocol is more robust so it looks
worthwhile.
The strip class is usually mixed together with many other classes.
Almost always this includes the "make" and "ninja" classes that set a
particular job server mode. As there is no established ordering between
the classes and to keep surprises to a minimum, remove the "jobServer"
key from the strip class.
@jkloetzke
Copy link
Member

I kind of hijacked the PR but the required adaptations were quicker to implement than to describe them here. I think it should all be safe but please check on your side as well...

@rhubert
Copy link
Contributor Author

rhubert commented Jan 21, 2026

Thanks. I tested your changes against the muen recipes and it works as expected.

FYI: I'm rebasing / cleaning up our internal fork of the basement layers. ATM there are 57 basement commits tagged with upstream, some of them affecting many packages like this PR. So maybe you want to wait for them before merging?

@jkloetzke
Copy link
Member

As both make and ninja are used as weak tools, they don't affect any artifacts other than their selves. No need to wait for the others...

@jkloetzke jkloetzke merged commit 2a32bd7 into BobBuildTool:master Jan 22, 2026
3 checks passed
@jkloetzke jkloetzke mentioned this pull request Jan 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants