Conversation
Windows and Unix build instructions for the program versions of the header stubs unified. For Cygwin, this also fixes the parallel build.
|
This looks great to me!
In the comment "Pattern rules must include a character"..., didn't you
mean a % character?
Do you intent to deal with the FIXME in the present GPR, or later?
The rest looks okay to me.
|
|
Thanks, @shindere! For the pattern rules comment, I was trying to explain that the more natural-looking: camlheader%: header%.$(O)
...works for I wasn't planning on dealing with the |
|
@shindere - I reworded the comment in I have changed enough (not building |
|
David Allsopp (2019/02/27 00:48 -0800):
@shindere - I reworded the comment in `stdlib/Makefile` which I hope
is clearer
Great, thanks!
(my main concern was to ensure that no one is tempted to
correct what initially looks like a typo, although anyone doing that
would quickly be presented with a failing build!).
Sure, no problem!
I have changed enough (not building `flexlink`, moving `MKEXE_BOOT`,
etc.) that I don't propose this for 4.08. We could possibly choose to
include it in a 4.08.1, just for the convenience of having parallel
builds.
Fine with me!
|
|
Ping: is this PR ready to be approved or does more work need to happen? |
|
Rebased and ready to go as far as I'm concerned, but note (again) that this is not for 4.08, at this stage. |
|
This PR has introduced the Under some circumstances (hashbang script support not available and #8626 has just been submitted to fix this. |
Windows and Unix build instructions for the program versions of the header stubs unified. For Cygwin, this also fixes the parallel build. (cherry picked from commit 278e5ab)
Windows and Unix build instructions for the program versions of the header stubs unified. For Cygwin, this also fixes the parallel build. (cherry picked from commit 278e5ab)
Windows and Unix build instructions for the program versions of the header stubs unified. For Cygwin, this also fixes the parallel build. (cherry picked from commit 278e5ab)
Windows and Unix build instructions for the program versions of the header stubs unified. For Cygwin, this also fixes the parallel build. (cherry picked from commit 278e5ab)
Windows and Unix build instructions for the program versions of the header stubs unified. For Cygwin, this also fixes the parallel build. (cherry picked from commit 278e5ab)
Windows and Unix build instructions for the program versions of the header stubs unified. For Cygwin, this also fixes the parallel build. (cherry picked from commit 278e5ab)
Windows and Unix build instructions for the program versions of the header stubs unified. For Cygwin, this also fixes the parallel build. (cherry picked from commit 278e5ab)
Windows and Unix build instructions for the program versions of the header stubs unified. For Cygwin, this also fixes the parallel build. (cherry picked from commit 278e5ab)
Windows and Unix build instructions for the program versions of the header stubs unified. For Cygwin, this also fixes the parallel build. (cherry picked from commit 278e5ab)
Windows and Unix build instructions for the program versions of the header stubs unified. For Cygwin, this also fixes the parallel build. (cherry picked from commit 278e5ab)
The Unix and Cygwin build instructions in
stdlib/Makefileare incorrect. They appear to have been written on the assumption that:means that
fooandbarare generated by a single command, which is incorrect as that really defines two separate recipies. On Unix, with#!scripts, this just means that the headers are generated more times than necessary but for Cygwin it means that theforloop which was there is called multiple times and unsurprisingly in parallel those calls interfere with each other.Unusually, the native Windows build instructions were better, so my approach has been to merge them both (there was a
TODOnote to this effect already)I have also fixed a note that the build should not be done using
flexlink- this has been done by formally promotingMKEXE_BOOTto the entire build system (it means "doMKEXE, but don't useflexlink"). At some point I may come up with a better name, I had simply started this fix until I realised that #2266 was the minimum 4.08 required fix and the lack of parallelism on Cygwin is annoying (at least, possibly uniquely, for me...)The diff is very awkward to read - I'd recommend simply reviewing my resulting code in
stdlib/Makefileas though there were nothing there before.