<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 27, 2015 at 12:23 AM, Robert Collins <span dir="ltr"><<a href="mailto:robertc@robertcollins.net" target="_blank">robertc@robertcollins.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">On 27 October 2015 at 10:32, Ralf Gommers <<a href="mailto:ralf.gommers@gmail.com">ralf.gommers@gmail.com</a>> wrote:<br>
></span><br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class=""></span><span class=""><br>
> (2) Complex example: to build a Scipy wheel on Windows with MinGW the<br>
> command is ``python setup.py config --compiler=mingw32 build<br>
> --compiler=mingw32 bdist_wheel``.<br>
<br>
</span>So in this case the build tool needs to know about the compiler stuff<br>
itself- pip doesn't know. We have a way in pip to tunnel stuff down to<br>
setuptools today; thats incompatible with dynamically building wheels<br>
on the fly for 'pip install' - so I'm not sure it needs to be<br>
reflected here.<br></blockquote><div><br></div><div>It looks like you made a start at <a href="https://github.com/rbtcollins/interoperability-peps/blob/build-system-abstraction/build-system-abstraction.rst#handling-of-compiler-options">https://github.com/rbtcollins/interoperability-peps/blob/build-system-abstraction/build-system-abstraction.rst#handling-of-compiler-options</a><br><br>    "Instead we recommend that individual build tools
should have <br>    a config file mechanism to provide such pervasive settings <br>    across
all things built locally." <br><br>makes sense, at least up to "across". The same settings for everything built locally isn't appropriate - should be able to have a config file for one project. Example: you may want to build with MSVC and with MinGW on Windows.<br><br>Also, it seems to me like there should be a way to pass the full path of a config file to the build tool via pip. Can be easily done via an optional key "config-file" in the build tool description. Example: right now numpy distributes a site.cfg.example that users can rename to site.cfg and usually put right next to setup.py. When one uses pip, it may go off building in some tmpdir, change path envvars, etc. - so how does the build tool find that config file?<br><br></div><div>Ralf<br></div><div><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
We'll need some more input on that I think.<br>
...<br>
<span class="">> mechanism) to the build tool. If it is out of scope, I'd be interested to<br>
> see what you think are use-cases with complex requirements that are enabled<br>
> by this PEP.<br>
<br>
</span>The PEP is aimed at enabling additional build-tools to be on parity<br>
with setuptools in *pip install* invocations that go through the<br>
wheel-autobuild-path in pip.<br>
<br>
The complex examples of passing arbitrary options to setup.py<br>
currently bypasses wheel building in pip, and so can't be tackled at<br>
all :(.<br>
<br>
But we can work on including that with some thought.<br></blockquote><div><br> </div></div></div></div>