aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies/scalapack.py
AgeCommit message (Collapse)AuthorFilesLines
2021-06-09typing: Rename some variablesDaniel Mensinger1-3/+3
2021-06-09typing: Fully annotate dependenciesDaniel Mensinger1-3/+4
2021-06-06typing: Fully annotate dependencies.{detect,factory} + some other fixesDaniel Mensinger1-2/+2
2021-06-03deps: Split dependencies.baseDaniel Mensinger1-2/+5
Split the Factory and dependency classes out of the base.py script to improve maintainability.
2020-11-20use real pathlib moduleDylan Baker1-1/+1
We added the _pathlib module to work around defeciencies in python 3.5's implementation, since we now rely on 3.6 lets drop this
2020-10-04pathlib: Fix resolve() by overriding it in Python 3.5Daniel Mensinger1-1/+1
2020-09-22pylint: Turn on warnings for incorrect number of argsDylan Baker1-4/+4
This catches some very real errors. The one in scalapack is pretty silly actually, it's failing to figure out that the exploded list is at least two arguments. However, the code is actually clearer by not using a list and exploding it, so I've done that and pylint is happy too.
2020-03-19dependencies: Convert ScaLAPACK to a dependency factoryDylan Baker1-102/+131
Basically this breaks down into three cases. An open source version with compliant PkgConfig, valid CMake, and a Intel implementation that has completely broken PkgConfig. For the first two cases we can use standard classes, for the last we can make a subclass of PkgConfigDependency that handles the special logic. This doesn't change any of the logic, but it does re-organize it to be clearer, and make use of the dependency factory API, which makes other things (like Dependency.get_variable) work. This is untested with Intel MKL.
2020-01-29dependencies: Make Dependency initializer signatures matchDylan Baker1-1/+1
Currently PkgConfig takes language as a keyword parameter in position 3, while the others take it as positional in position 2. Because most dependencies don't actually set a language (they use C style linking), using a positional argument makes more sense. ExtraFrameworkDependencies is even more different, and duplicates some arguments from the base ExternalDependency class. For later changes I'm planning to make having all of the dependencies use the same signature is really, really helpful.
2019-12-19dependencies: refactor to use methods properlyMichael Hirsch, Ph.D1-4/+4
2019-11-30scalapack: allow specifying find methodMichael Hirsch, Ph.D1-87/+86
2019-11-30deps: add scalapackMichael Hirsch, Ph.D1-0/+121
Scalapack uses a library stack that can be challenging to manage. Not least of all since many Scalapacks ship with broken / incomplete pkg-config files and CMake FindScalapack.cmake This resolves those issues for typical Scalapack setups including: * Linux: Intel MKL or OpenMPI + Netlib * MacOS: Intel MKL or OpenMPI + Netlib * Windows: Intel MKL (OpenMPI not available on Windows)