An import error with NumPy caused the build to fail when it shouldn't.
This fixes that and fixes#414. Also implement a minimum version
warning check with NumPy. The warning message is printed if the NumPy
version that's found is less than the version we test with.
Previously, the warning message would print, but the full package would be built anyways.
This caused errors later in the build process that this check is supposed to handle.
Anything that raises a CanteraError in C++ will now raise CanteraError in
Python, instead of the more generic RuntimeError.
This change increases the required Cython version to 0.23 or newer.
SCons was using gfortran to build and ifort to link
when ifort was specified in cantera.conf. This ensures
the check function has the correct Fortran in the
environment to compile the test.
If Cantera is being installed to /usr/local, then on Debian-based distros, we
want the Python module to end up in /usr/local/lib/pythonX.Y/dist-packages,
which is actually the default behavior. However, /usr/local/... is *not* the
default installation prefix for Python modules on some other distros (On Fedora,
at least, it's /usr/) so using the default needs to be conditioned on the actual
distro.
If we can compile and run an F90 program that is sufficient. The
previous test required the C compiler to be able to link to the
Fortran standard library, which isn't actually necessary, and would
fail in some cases (such as brew-installed gfortran on OS X).
Cantera no longer requires BLAS / LAPACK (but can use them if available), so it
is never necessary to compile any of the external Fortran or f2c-converted code.
Check for a system copy of Eigen, and if that is not found, install
Eigen's headers with the Cantera headers. Add the header 'eigen_dense.h'
to provide a single header to include from other locations.
Update to current master (pre-3.0), and change remote repository to reflect name
change from cppformat to fmt. Needed to be updated now because one of the
submodules referenced in the 1.1.0 release no longer exists due to the change in
the Github organization name from cppformat to fmtlib.
Compiler options such as '-Wl,-z,rlero' were incorrectly being split into
multiple options by SCons. Compiler options must now be separated by spaces when
specified on the SCons command line.
Fixes#320