xref: /petsc/config/BuildSystem/config/packages/mkl_sparse.py (revision 81683130528d97cb0afe980789880f729ae14782)
1import config.package
2import os
3
4class Configure(config.package.Package):
5  def __init__(self, framework):
6    config.package.Package.__init__(self, framework)
7    self.includes         = ['mkl.h','mkl_spblas.h']
8    self.functions        = ['mkl_dcsrmv']
9    self.liblist          = [[]] # use MKL detected by BlasLapack.py
10    self.precisions       = ['single','double']
11    self.lookforbydefault = 1
12    self.requires32bitintblas   = 0
13    return
14
15  def setupHelp(self, help):
16    import nargs
17    help.addArgument(self.PACKAGE,'-with-'+self.package+'=<bool>',nargs.ArgBool(None,self.required+self.lookforbydefault,'Indicate if you wish to test for '+self.name))
18
19  def setupDependencies(self, framework):
20    config.package.Package.setupDependencies(self, framework)
21    self.blasLapack = framework.require('config.packages.BlasLapack',self)
22    self.deps       = [self.blasLapack]
23    return
24
25  def configureLibrary(self):
26    if not self.blasLapack.mkl or (not self.blasLapack.has64bitindices and self.defaultIndexSize == 64):
27      self.argDB['with-'+self.package] = 0
28      return
29    config.package.Package.configureLibrary(self)
30    self.usesopenmp = self.blasLapack.usesopenmp
31