Boost logo

Boost-Build :

Subject: Re: [Boost-build] JAM_SEMAPHORE documentation?
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2018-12-17 17:05:36


AMDG

On 12/17/2018 09:11 AM, Kuhl, Brian via Boost-build wrote:
> Hi Builders,
> Is there documentation on JAM_SEMAPHORE ? I see examples; but google did not reveal any documentation.
> Why?
> I'm trying to find way to help the build team speed up our nightly builds?
>
> I retained a semaphore on the link when I created clang-vxworks.jam
> https://github.com/boostorg/build/blob/bc7659b9afe79f6ea8e70e8ea4a6974286d67d0d/src/tools/clang-vxworks.jam#L117
> but I question if it is really required anymore?
>

Most likely not. It's a pretty old optimization
and I don't think anyone has measured it recently.

> I'd also like to serialize test execution
> For VxWorks we telnet and execute the test on a remote target board using a "launcher"
> https://github.com/Wind-River/vxworks7-layer-for-boost/blob/master/usr_src/vxworks_boost_test_run.exp
>
> For the simulated and smaller arm targets, we need to ensure only one telnet session is active, or the test target runs out of memory.
> (We are cross-compiling on big servers, so the build can be many-threaded, but the target is an embedded target and may be quite resource constrained )
> https://github.com/boostorg/build/blob/518bc4a1a1a1980134121070593fabea026dce16/src/tools/testing.jam#L189
>
> How can I add a semaphore on "run" and "run-fail" rules that only gets applied to target-os=vxworks ?
>

At the moment, it can only be done by editing testing.jam.
Something like:
  if <target-os>vxworks in $(properties)
  {
    JAM_SEMAPHORE on $(targets) = <s>some-semaphore-name ;
  }

In Christ,
Steven Watanabe


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk