[Numpy-discussion] Combined versus separate build

David Cournapeau cournape at gmail.com
Wed Jun 27 14:50:12 EDT 2012


On Wed, Jun 27, 2012 at 7:17 PM, Nathaniel Smith <njs at pobox.com> wrote:
> Currently the numpy build system(s) support two ways of building
> numpy: either by compiling a giant concatenated C file, or by the more
> conventional route of first compiling each .c file to a .o file, and
> then linking those together. I gather from comments in the source code
> that the former is the traditional method, and the latter is the newer
> "experimental" approach.
>
> It's easy to break one of these builds without breaking the other (I
> just did this with the NA branch, and David had to clean up after me),
> and I don't see what value we really get from having both options --
> it seems to just double the size of the test matrix without adding
> value.

There is unfortunately a big value in it: there is no standard way in
C to share symbols within a library without polluting the whole
process namespace, except on windows where the default is to export
nothing.

Most compilers support it (I actually know of none that does not
support it in some way or the others), but that's platform-specific.

I do find the multi-file support useful when developing (it does not
make the full build faster, but I find partial rebuild too slow
without it).

David



More information about the NumPy-Discussion mailing list