Could you please provide a pointer to these docs, or any suggested wording you might have? That'd save me some work.
Manoj On February 13, 2016 10:35:44 PM PST, Josh Triplett <j...@joshtriplett.org> wrote: >On Sat, Feb 13, 2016 at 09:51:41PM -0800, Manoj Srivastava wrote: >> On Sat, Mar 28 2015, Josh Triplett wrote: >> > Package: make >> > Version: 4.0-8.1 >> > Severity: wishlist >> >> > The --jobserver-fds option, and the jobserver pipe used to handle >-j >> > correctly in recursive make invocations, ought to have >documentation in >> > the manpage. >> >> This is not a user facing public interface, so I am not sure >it >> belongs in the manual. Did you have a use for this information? > >Yes: trying to build a program that, like gcc's LTO linker, can >integrate with make's jobserver. gcc's LTO linker can run multiple >threads in parallel, and can use make's jobserver pipe to manage how >many threads it runs at a time. If you pass -flto=jobserv to gcc, and >tell make to treat gcc as a sub-make, gcc will respect make's jobserver >pipe when spawning its threads. > >That seems like a really good idea for any program used as part of a >build process and capable of running multiple parallel threads for >performance. And conversely, any other build system capable of >spawning >off other programs and running multiple jobs in parallel could follow >the same convention, to interoperate with make. > >So, I wanted to learn how to build a program that could interoperate >with make like GCC did. I figured out most of the details, but the >interface has some subtleties. For instance, when make spawns a >sub-make (or any other program launched with '+' and acting like a >sub-make), the sub-make can always run one "free" job in addition to >one >job per byte read from the jobserver pipe, and should not write back a >byte when that "free" job completes, because the parent make (or some >ancestor make) will have consumed a byte (or used its free job) to run >the sub-make. > >This kind of subtlety makes the interface worth documenting. Some >third-party articles document the jobserver, but make's own manpage >ought to do so as well. > >- Josh Triplett -- Sent from my Android phone with K-9 Mail. Please excuse my brevity.