Update and make more consistent the specification of Python package
building. Since SCons can be run by Python 3 now, we cannot assume that
the Python running SCons is Python 2. This changes a bunch of
assumptions in SConstruct about where things should be built or
installed. This commit addresses those assumptions by making the options
for Python 2 and Python 3 symmetric.
If no full or minimal Python interface is being built, copy the minimal
interface into the build directory and use the sys.executable to run it,
so the tests that require CTML or CTI conversion can run.
Minimum set based on a regression in NumPy 1.8.0 which affects the SolutionArray
class.
This makes Trusty Tahr (14.04) the oldest supported version of Ubuntu (using the
Ubuntu-provided NumPy package).
Resolves#445.
The 'install' and 'test' targets had some undeclared dependencies on the 'build'
target, such that running 'scons install' or 'scons test' without having first
run 'scons build' would result in incomplete installation or test failures,
respectively.
Fixes#432.
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.