|
Boost-Build : |
Subject: Re: [Boost-build] Very slow Visual Studio 2012 builds
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2013-11-04 21:12:13
AMDG
On 11/04/2013 05:33 PM, Juraj IvanÄiÄ wrote:
> On 4.11.2013. 23:28, Steven Watanabe wrote:
>
>> A few more:
>> - If a user explicitly specifies a setup script,
>> it should be honored.
>
> Just tried it and it works, to the extent it works for MSVC setup
> scripts. It will fail, though, if user setup script is doing
> something 'smarter' than merely setting up environment variables,
> i.e. if user expects it to be called from every action.
>
Is there anything besides environmental
variables that can be set by batch scripts
and which can affect subprocesses? I can't
think of anything off the top of my head,
but I'm hesitant to rule it out entirely.
> I cannot think of a reason why anyone would do that, but for them
> this would be a breaking change.
>
I don't know why anyone would want that, but
then again, I also don't see why anyone would
want to use a custom script in the first place.
>> - Please use set.difference instead of a raw loop.
>
> Check.
>
>> - Make sure that this works with a cygwin built b2
>> (That's what the if ! [ os.name] in NT section
>> that you deleted is supposed to be handling.
>> I say "supposed to", because although the batch
>> script will run without errors, the environment
>> changes will be discarded.)
>
> I played for a while with cygwin built b2. This 'supposed'
> part seems to work OK, quotes around '>nul' and '&&' make
> cmd.exe process the rest of the command, so environment
> is not discarded.
>
Ah, right.
> I am not sure how to make this 'batch file caching' work on
> cygwin though. AFAICS it boils down to generating a
> simpler (faster) batch file, like Chris is doing. I don't
> think its worth the hassle. Not to me, anyway.
>
There's no reason that the variables have
to be set up using batch file syntax.
You could split each line at the '=' and
use common.variable-setting-command.
> How about just leaving cygwin to work as it did, and speed up
> msvc?
>
That works, too. I don't care as long as
it isn't broken.
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