[SciPy-dev] build system for scikit

David Cournapeau david@silveregg.co...
Wed Jan 13 19:14:04 CST 2010


Dag Sverre Seljebotn wrote:

> 
> Creating something new which is "automatic" and tries to guess the 
> location of CHOLMOD across different platforms is in my opinion a waste 
> of time and makes things worse.

It depends on what you mean by automatic: autoconf/cmake configuration 
schemes are automatic, and they work very well for packages much more 
complex than python will ever need (e.g. KDE and Gnome).

Ideally, there should be a way to do:

configure --with-libfoo=/usr/local

or

configure --with-libfoo-includedir=/usr/local/include 
--with-libfoo-libdir=/usr/local/lib

So that you can configure foo how you want, and inside your setup.py, 
there would be something like

def check_foo(env):
     try:
         env.check_header("amd_foo.h")
     except CompileError:
         old_env = env.Append({"CPPPATH": ["$prefix/suitesparse"]})
         try:
             env.check_header("amd_foo.h")
         finally:
             env = old_env

With abstracted machinery to deal with the options given at the command 
line.

But that's typically the kind of things made difficult with distutils 
commands scheme.

David


More information about the SciPy-Dev mailing list