diff options
author | Nick Papior Andersen <nickpapior@gmail.com> | 2015-02-24 13:29:38 +0000 |
---|---|---|
committer | Nick Papior Andersen <nickpapior@gmail.com> | 2015-02-24 13:29:38 +0000 |
commit | e87ad6eb8ff7d7705abb20d523e21c67e508b0e6 (patch) | |
tree | f7984e54c6c5d857a658d6a736ab8d7c83fa4226 /doc | |
parent | 63e0f6ac81b8bfabc74a441dbf08eeaead091fbb (diff) | |
download | numpy-e87ad6eb8ff7d7705abb20d523e21c67e508b0e6.tar.gz |
ENH: Added tests to the extra options read in
A simple test (distutils/testing/test_system_info.py)
to check that the options are read in correctly has been added.
This test has a few faults:
A) It does not allow strict library checks as that can be
_very_ system dependent.
B) It compiles some simple C-programs but does currently not link
them to a shared library.
C) As such the test does not check that the flags are actually used.
To circumvent this one should:
A) Make a library of the compiled sources.
B) Check that a runtime_library_dirs is working by checking
with ldd
C) Make a preprocessor flag to check the output of two commands which
should differ according to the flags in each block
I am not too much into the distutils compiler suite. So I have not
endeavoured on this path.
- The current test shows that the flags are read in by the standard system_info
object and can thus be considered a "stable" solution.
- Added note of the 1.10 release schedule.
- Corrected the site.cfg.example, added runtime_library_dirs to
the OpenBLAS example where it seems appropriate.
- Bugfix for the site.cfg.example (the [DEFAULT] block should be
name [ALL])
This might have lead to some confusion, but many of the libraries
are linked explicitly by their own sections, hence it might not have
been caught.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/release/1.10.0-notes.rst | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/release/1.10.0-notes.rst b/doc/release/1.10.0-notes.rst index f9d202ec3..c0645cfe2 100644 --- a/doc/release/1.10.0-notes.rst +++ b/doc/release/1.10.0-notes.rst @@ -8,6 +8,9 @@ Highlights ========== * numpy.distutils now supports parallel compilation via the --jobs/-j argument passed to setup.py build +* numpy.distutils now supports additional customization via site.cfg to + control compilation parameters, i.e. runtime libraries, extra + linking/compilation flags. * Addition of *np.linalg.multi_dot*: compute the dot product of two or more arrays in a single function call, while automatically selecting the fastest evaluation order. @@ -74,6 +77,18 @@ Also, the dtype.type of nested structured fields is now inherited. New Features ============ +Reading extra flags from site.cfg +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Previously customization of compilation of dependency libraries and numpy +itself was only accomblishable via code changes in the distutils package. +Now numpy.distutils reads in the following extra flags from each group of the +site.cfg: + runtime_library_dirs (sets the runtime library directories to override + LD_LIBRARY_PATH) + extra_compile_args (add extra flags to the compilation of sources) + extra_link_args (add extra flags when linking libraries) +This should, at least partially, complete user customization. + *np.cbrt* to compute cube root for real floats ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *np.cbrt* wraps the C99 cube root function *cbrt*. |