On Tue, Oct 27, 2015 at 12:23 AM, Robert Collins <robe...@robertcollins.net>
wrote:

> On 27 October 2015 at 10:32, Ralf Gommers <ralf.gomm...@gmail.com> wrote:
> >
>

> > (2) Complex example: to build a Scipy wheel on Windows with MinGW the
> > command is ``python setup.py config --compiler=mingw32 build
> > --compiler=mingw32 bdist_wheel``.
>
> So in this case the build tool needs to know about the compiler stuff
> itself- pip doesn't know. We have a way in pip to tunnel stuff down to
> setuptools today; thats incompatible with dynamically building wheels
> on the fly for 'pip install' - so I'm not sure it needs to be
> reflected here.
>

It looks like you made a start at
https://github.com/rbtcollins/interoperability-peps/blob/build-system-abstraction/build-system-abstraction.rst#handling-of-compiler-options

    "Instead we recommend that individual build tools should have
    a config file mechanism to provide such pervasive settings
    across all things built locally."

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.

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?

Ralf


> We'll need some more input on that I think.
> ...
> > mechanism) to the build tool. If it is out of scope, I'd be interested to
> > see what you think are use-cases with complex requirements that are
> enabled
> > by this PEP.
>
> The PEP is aimed at enabling additional build-tools to be on parity
> with setuptools in *pip install* invocations that go through the
> wheel-autobuild-path in pip.
>
> The complex examples of passing arbitrary options to setup.py
> currently bypasses wheel building in pip, and so can't be tackled at
> all :(.
>
> But we can work on including that with some thought.
>
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to