[Numpy-discussion] [ANN] numscons 0.3.0 release
Fri Jan 25 02:20:50 CST 2008
> Hi all,
> I don't know much about what are these scons are, if it's something
> essential (as it seems to be from amount of mailing list traffic) why
> can't it be just merged to numpy, w/o making any additional branches?
scons is a build system, like make. The difference being that
sconscripts (makefiles for scons) are written in python, and well
supported on windows.
The standard way to build python extension is to use distutils, but
distutils itself is difficult to extend (the code is basically
spaghetti, not maintained and not documented), and to be fair, numpy's
needs go way beyond the usual python extension: we want to control
optimization flags, we need fortran, we depend on a lot of external
libraries we need to check, etc... numpy uses distutils extension
(numpy.distutils), to support fortran and other goodies. But because it
is based on distutils, it has inherited some of the distutils' problems;
in particular, it is not possible to build dynamically loaded libraries
(necessary for ctypes-based extensions), it is difficult to check for
additional libraries, etc...
So instead, I plug scons in distutils, so that all C code in numpy is
built through sconscripts. But the build system arguably being one of
the most crucial part of numpy, it is necessary to do changes
incrementally in branches (the code changes are big: several thousand of
python code, which is difficult to test by nature).
More information about the Numpy-discussion