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 /site.cfg.example | |
parent | 63e0f6ac81b8bfabc74a441dbf08eeaead091fbb (diff) | |
download | python-numpy-e87ad6eb8ff7d7705abb20d523e21c67e508b0e6.tar.gz python-numpy-e87ad6eb8ff7d7705abb20d523e21c67e508b0e6.tar.bz2 python-numpy-e87ad6eb8ff7d7705abb20d523e21c67e508b0e6.zip |
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 'site.cfg.example')
-rw-r--r-- | site.cfg.example | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/site.cfg.example b/site.cfg.example index cc92edb59..dce6a6f01 100644 --- a/site.cfg.example +++ b/site.cfg.example @@ -52,6 +52,26 @@ # True) to tell numpy.distutils to prefer static libraries (.a) over # shared libraries (.so). It is turned off by default. # search_static_first = false +# +# runtime_library_dirs +# List of directories that contains the libraries that should be +# used at runtime, thereby disregarding the LD_LIBRARY_PATH variable. +# See 'library_dirs' for formatting on different platforms. +# runtime_library_dirs = /opt/blas/lib:/opt/lapack/lib +# +# extra_compile_args +# Add additional arguments to the compilation of sources. +# Simple variable with no parsing done. +# Provide a single line with all complete flags. +# extra_compile_args = -g -ftree-vectorize +# +# extra_link_args +# Add additional arguments to when libraries/executables +# are linked. +# Simple variable with no parsing done. +# Provide a single line with all complete flags. +# extra_link_args = -lgfortran +# # Defaults # ======== @@ -59,9 +79,10 @@ # This is a good place to add general library and include directories like # /usr/local/{lib,include} # -#[DEFAULT] +#[ALL] #library_dirs = /usr/local/lib #include_dirs = /usr/local/include +# # Atlas # ----- @@ -82,6 +103,9 @@ # instead of Atlas, use this section instead of the above, adjusting as needed # for your configuration (in the following example we installed OpenBLAS with # ``make install PREFIX=/opt/OpenBLAS``. +# OpenBLAS is generically installed as a shared library, to force the OpenBLAS +# library linked to also be used at runtime you can utilize the +# runtime_library_dirs variable. # # **Warning**: OpenBLAS, by default, is built in multithreaded mode. Due to the # way Python's multiprocessing is implemented, a multithreaded OpenBLAS can @@ -102,6 +126,7 @@ # libraries = openblas # library_dirs = /opt/OpenBLAS/lib # include_dirs = /opt/OpenBLAS/include +# runtime_library_dirs = /opt/OpenBLAS/lib # MKL #---- |