I (cookedm) will be working in the distutils-revamp branch (source:branches/distutils-revamp) to refactor and improve numpy.distutils.

Some concerns I want to address:

  • better dependency handling
  • make it easier to use a specific compiler or compiler options.
  • allow .c files to specify what options they should/shouldn't be compiled with (such as using -O1 when optimization screws up, or not using -Wall for .c made from Pyrex files)
  • simplify system_info so that adding checks for libraries, etc., is easier
  • a more "pluggable" architecture: adding source file generators (such as Pyrex or SWIG) should be easy.
  • better setuptools support
  • more as I think of them...

I'll be trying of course to keep it compatible with the trunk. No changes should be required to setup.py files.

Trying out the branch

$ svn co http://svn.scipy.org/svn/numpy/trunk numpy
$ cd numpy/numpy/distutils
$ svn switch http://svn.scipy.org/svn/numpy/branches/distutils-revamp

Only numpy.distutils is affected by the above; a svn update at the root will grab changes from the trunk for everything else.

Progress

Currently, I've rewritten how compiler options are found and/or overridden -- all options should be overrideable by an appropiate line in ~/.pydistutils.cfg or site.cfg. See source:branches/distutils-revamp/fcompiler/__init__.py (although it needs more documentation).