Instead of manually adding compilers and flags it is
now left to the user to create the appropriate site.cfg
for configuration purposes.
This is much cleaner and provides users to fully customize the build.
This also enables pip installs, for instance I can build:
pip3 install . -vvv
Which works.
In order for pip to fully function with the numpy versions it
is important that pip uses the oldest possible numpy version
that may be pip installed. This is what oldest-supported-numpy
is for.
The PHPYOPENMP flag is not needed. The OPENMP specification states
that any C-compiler which implements preprocessor statements should
include _OPENMP when compiling with OPENMP. Therefore we simply check
for this now. I don't know of any compilers that do not define this
flag while compiling for openmp.
When retrieving MKL from numpy there is an additional macro defined:
SCIPY_MKL_H
so now the code checks for either this macro, or the old one (MKL_LAPACKE).
I have removed support for distutils. It is far deprecated and no installations
should use this one. So better to not rely on it.
In fact it was never used since pyproject.toml had setuptools as a requirement for
building the package. So it couldn't be used in these environments in
any case.
If this is to be adopted, then the installation documentation should be updated.