On Thu, Jun 21, 2012 at 11:00 PM, Antoine Pitrou <solipsis@pitrou.net> wrote:
On Thu, 21 Jun 2012 22:46:58 +0200
Dag Sverre Seljebotn <d.s.seljebotn@astro.uio.no> wrote:
> > The other thing is, the folks in distutils2 and myself, have zero
> > knowledge about compilers. That's why we got very frustrated not to see
> > people with that knowledge come and help us in this area.
>
> Here's the flip side: If you have zero knowledge about compilers, it's
> going to be almost impossible to have a meaningful discussion about a
> compilation PEP.

If a PEP is being discussed, even a packaging PEP, it involves all of
python-dev, so Tarek and Éric not being knowledgeable in compilers is
not a big problem.

> The necessary prerequisites in this case is not merely "knowledge of
> compilers". To avoid repeating mistakes of the past, the prerequisites
> for a meaningful discussion is years of hard-worn experience building
> software in various languages, on different platforms, using different
> build tools.

This is precisely the kind of knowledge that a PEP is aimed at
distilling.

What would you imagine such a PEP would contain ? If you don't need to customize the compilation, then I would say refactoring what's in distutils is good enough. If you need customization, then I am convinced one should just use one of the existing build tools (waf, fbuild, scons, etc…). Python has more than enough of them already.

By refactoring, I mean extracting it completely from command, and have an API similar to e.g. fbuild (https://github.com/felix-lang/fbuild/blob/master/examples/c/fbuildroot.py), i.e. you basically have a class PythonBuilder.build_extension(name, sources, options). The key point is to remove any dependency on commands. If fbuild were not python3-specific, I would say just use that. It would cover most usecases.

Actually, 


 
Regards

Antoine.