> Jobserver is a method of communicating how many jobs make thinks are
> running between different instances (parent/child) of the make
> program itself, so it knows that no more than N jobs are invoked
> between all instances.

How do you think about to delegate such an implementation detail
to a configurable job submission system?


> What you seem to be suggesting is something different:
> a facility for make to start jobs on remote systems.

Yes. - My suggestion goes into this direction.

There are programming interfaces available which support transparent
data exchange between local and remote information systems.


> There are various methods for this: the most common is to use distcc in
> conjunction with make: https://code.google.com/p/distcc/ although this
> is really restricted to building C/C++ programs

It is nice when remote compilation can be used with dedicated tools already.


> so not generally applicable.

I would appreciate when this limitation can be dropped eventually.


> There is a nascent facility in the GNU make code that provides for make
> invoking jobs through a separate facility: the "remote" capability.

I am curious to know a bit more about such a possibility.


> Currently there is a remote-stub.c which defines the interface, and a
> remote-cstms.c which attempts to use the Customs facility for starting
> remote jobs.  However, this is obsolete and I'm not sure if anyone has
> tried to use it for years.

Interesting background information ...


> Nevertheless if one were to try to add native facilities for starting
> jobs on remote systems into GNU make itself, rather than doing it
> through use of a special SHELL variable setting, etc. then remote would
> likely be the best way to do it, not jobserver.

Does the software use a clean internal API already?


> I urge you to explore these other methods first, though, as they're a
> lot less effort all the way around.  If you can write a small program
> that will forward a command to a remote system, then you can just
> replace SHELL in your makefile with that command:
> 
>     SHELL = /bin/submit-job
> 
>     all:
>             run-a-job

I find that this approach would apply one step too late because the make
program manages corresponding process parallelisation by the
parameter "-j".

Is an alternative job submission needed earlier?

Regards,
Markus

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to