[Numpy-discussion] scipy.scons branch: building numpy and scipy with scons
David Cournapeau
david at ar.media.kyoto-u.ac.jp
Tue Dec 4 06:21:39 EST 2007
Hi,
I've just reached a first usable scipy.scons branch, so that scipy
can be built entirely with scons (assuming you build numpy with scons
too). You can get it from
http://svn.scipy.org/svn/scipy/branches/scipy.scons. To build it, you
just need to use numpy.scons branch instead of the trunk, and use
setupscons.py instead of setup.py. Again, I would be happy to hear about
failures, success (please report a ticket in this case), etc...
Some of the most interesting things I can think of which work with scons:
- you can control fortran and C flags from the command line: CFLAGS
and FFLAGS won't override necessary flags, only optimization flags, so
you can easily play with warning, optimization flags. For example:
CFLAGS='-W -Wall -Wextra -DDEBUG' FFLAGS='-DDEBUG -W -Wall -Wextra'
python setupscons build
for debugging will work. No need to care about -fPIC and co, all this is
handled automatically.
- dependencies are handled correctly thanks to scons: for example,
if you change a library (e.g. by using MKL=None to disable mkl), only
link step will be redone.
platforms known to work
-----------------------
- linux with gcc/g77 or gcc/gfortran (both atlas and mkl 9 were tested).
- linux with intel compilers (intel and gnu compilers can also be
mixed, AFAIK).
- solaris with sun compilers with sunperf, only tested on indiana.
Notable non working things:
---------------------------
- using netlib BLAS and LAPACK is not supported (only optimized ones
are available: sunperf, atlas, mkl, and vecLib/Accelerate).
- parallel build does NOT work (AFAICS, this is because f2py which
do some things which are not thread-safe, but I have not yet found the
exact problem).
- I have not yet implemented umfpack checker, and as such umfpack
cannot be built yet
- I have not yet tweaked fortran compiler configurations for
optimizations except for gnu compilers
- c++ compilers configurations are not handled either.
cheers,
David
More information about the NumPy-Discussion
mailing list