source: issm/trunk-jpl/externalpackages/petsc-dev/src/config/PETSc/packages/Sieve.py@ 11896

Last change on this file since 11896 was 11896, checked in by habbalf, 13 years ago

petsc-dev : Petsc development code in external packages. Mercurial updates

File size: 2.3 KB
Line 
1import PETSc.package
2
3class Configure(PETSc.package.NewPackage):
4 def __init__(self, framework):
5 import os
6 PETSc.package.NewPackage.__init__(self, framework)
7 self.include = [os.path.abspath(os.path.join('include', 'sieve'))]
8 self.libdir = ''
9 self.archIndependent = 1
10 self.cxx = 1
11 self.complex = 1
12 self.worksonWindows = 1
13 self.double = 0
14 return
15
16 def setupDependencies(self, framework):
17 PETSc.package.NewPackage.setupDependencies(self, framework)
18 self.boost = self.framework.require('config.packages.boost',self)
19 self.mpi = self.framework.require('config.packages.MPI',self)
20 #self.triangle = self.framework.require('PETSc.packages.Triangle',self)
21 #self.tetgen = self.framework.require('PETSc.packages.TetGen',self)
22 self.deps = [self.boost, self.mpi]
23 return
24
25 def getSearchDirectories(self):
26 return [self.petscdir.dir]
27
28 def setupHelp(self, help):
29 PETSc.package.NewPackage.setupHelp(self, help)
30 import nargs
31 help.addArgument('Sieve', '-with-opt-sieve=<bool>', nargs.ArgBool(None, 1, 'Use IMesh which are optimized for interval point sets'))
32 help.addArgument('Sieve', '-with-sieve-memory-logging=<bool>', nargs.ArgBool(None, 0, 'Turn on memory logging for Sieve objects'))
33 return
34
35 def Install(self):
36 import sys
37 sieveDir = self.getDir()
38 self.framework.actions.addArgument('Sieve', 'Install', 'Installed Sieve into '+sieveDir)
39 return sieveDir
40
41 def consistencyChecks(self):
42 PETSc.package.NewPackage.consistencyChecks(self)
43 if self.framework.argDB['with-'+self.package]:
44 if not self.languages.clanguage == 'Cxx':
45 raise RuntimeError('Sieve requires C++. Suggest using --with-clanguage=cxx')
46 if not self.boost.found:
47 raise RuntimeError('Sieve requires boost, and configure could not locate it. Suggest using --download-boost=1')
48 if 'with-opt-sieve' in self.argDB and self.argDB['with-opt-sieve']:
49 self.addDefine('OPT_SIEVE', 1)
50 self.addDefine('MESH_TYPE', 'ALE::IMesh<PetscInt, PetscScalar>')
51 else:
52 self.addDefine('MESH_TYPE', 'ALE::Mesh<PetscInt, PetscScalar>')
53 if 'with-sieve-memory-logging' in self.argDB and self.argDB['with-sieve-memory-logging']:
54 self.framework.addDefine('ALE_MEM_LOGGING', 1)
55 return
Note: See TracBrowser for help on using the repository browser.