[Numpy-discussion] preferred numpy build system

Ondrej Certik ondrej at certik.cz
Sun Feb 8 14:39:48 EST 2009


On Sun, Feb 8, 2009 at 3:10 AM, David Cournapeau <cournape at gmail.com> wrote:
> On Sun, Feb 8, 2009 at 3:21 AM, Ondrej Certik <ondrej at certik.cz> wrote:
>> Hi David,
>>
>>> Sorry for the confusion: numscons is NOT the preferred build system.
>>> The current numpy.distutils extensions, as shipped by numpy, is the
>>> preferred one. Numscons is more an experiment, if you want.
>>
>> Ah, I see, thanks for the clarification.
>>
>>>> So is it supposed to be in Debian?
>>>
>>> No, I don't think it should be. It is not yet stabilized code wise, so
>>> it does not make much sense to package it.
>>
>> Ok.
>>
>>>
>>>> Is numscons supposed to be
>>>> a build system for other projects as well? Why not to just send the
>>>> needed patches to scons and just use scons?
>>>
>>> Because you cannot just use scons. Numscons is a library build on top
>>> of scons, for the needs of numpy. There also needs to be some hook
>>> from numpy.distutils to use scons (numscons adds a new distutils
>>> command, which is used instead of build to build any compiled
>>> code-based extensions). Most of the changes needed for scons have been
>>> integrated upstream, though, except one or two things.
>>
>> I see. I think it's a bit confusing that one needs to build a new
>> build system just to build numpy, e.g. that both distutils and scons
>> are not good enough.
>
> I don't find it that surprising - numpy and scipy require some
> relatively advanced features (mixed language and cross-platform with
> support for many toolchains). Within the open source tools, I know
> only two which can handle those requirements: scons and cmake. For
> example, it would almost impossible to build numpy/scipy with
> autoconf.

Yes, I am investigating cmake, it's pretty cool. I wrote some macros
for cython etc. What I like about cmake is that it is cross platform
and it just produces makefiles on linux, or visual studio files (or
whatever) on windows.  When I get more experience with it, I'll post
here.

What I don't like on cmake is that it uses it's own language, instead
of python, on the other hand, so far everything seems to just work.
Contrary to numscons, where it looks almost like a new python program
just to build numpy.

Ondrej



More information about the NumPy-Discussion mailing list