Bug in handling BZ-grid was fixed. Grid points on BZ surface were all included
whwere as only translationally independent ones should be included in the
summation of Tamura's formula. The impact is considered small. Some usually
unused functions that were not migrated to BZ-grid and GRG system were fixed
to work with those grid system. These functions exist for comparisons with
those in C. The tests were added for those python functions.
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.