Example #1
0
 def __init__(self,
              slepc_dir=None,
              petsc_dir=None,
              petsc_arch=None,
              installed_petsc=False,
              verbose=False):
     if slepc_dir is None:
         slepc_dir = os.environ.get('SLEPC_DIR')
         if slepc_dir is None:
             raise RuntimeError(
                 'Could not determine SLEPC_DIR, please set in environment')
     if petsc_dir is None:
         petsc_dir = os.environ.get('PETSC_DIR')
         if petsc_dir is None:
             raise RuntimeError(
                 'Could not determine PETSC_DIR, please set in environment')
     if petsc_arch is None:
         petsc_arch = os.environ.get('PETSC_ARCH')
         if petsc_arch is None:
             raise RuntimeError(
                 'Could not determine PETSC_ARCH, please set in environment'
             )
     self.slepc_dir = slepc_dir
     self.petsc_dir = petsc_dir
     self.petsc_arch = petsc_arch
     self.installed_petsc = installed_petsc
     self.read_conf()
     logging.basicConfig(filename=self.arch_path('conf', 'gmake.log'),
                         level=logging.DEBUG)
     self.log = logging.getLogger('gmakegen')
     self.mistakes = Mistakes(debuglogger(self.log), verbose=verbose)
     self.gendeps = []
Example #2
0
 def __init__(self, petsc_dir=None, petsc_arch=None, verbose=False):
     if petsc_dir is None:
         petsc_dir = os.environ.get('PETSC_DIR')
         if petsc_dir is None:
             try:
                 petsc_dir = parse_makefile(
                     os.path.join('lib', 'petsc', 'conf',
                                  'petscvariables')).get('PETSC_DIR')
             finally:
                 if petsc_dir is None:
                     raise RuntimeError(
                         'Could not determine PETSC_DIR, please set in environment'
                     )
     if petsc_arch is None:
         petsc_arch = os.environ.get('PETSC_ARCH')
         if petsc_arch is None:
             try:
                 petsc_arch = parse_makefile(
                     os.path.join(petsc_dir, 'lib', 'petsc', 'conf',
                                  'petscvariables')).get('PETSC_ARCH')
             finally:
                 if petsc_arch is None:
                     raise RuntimeError(
                         'Could not determine PETSC_ARCH, please set in environment'
                     )
     self.petsc_dir = petsc_dir
     self.petsc_arch = petsc_arch
     self.read_conf()
     logging.basicConfig(filename=self.arch_path('lib', 'petsc', 'conf',
                                                 'gmake.log'),
                         level=logging.DEBUG)
     self.log = logging.getLogger('gmakegen')
     self.mistakes = Mistakes(debuglogger(self.log), verbose=verbose)
     self.gendeps = []
Example #3
0
 def __init__(self,
              petsc_dir=None,
              petsc_arch=None,
              pkg_dir=None,
              pkg_name=None,
              pkg_arch=None,
              pkg_pkgs=None,
              verbose=False):
     if petsc_dir is None:
         petsc_dir = os.environ.get('PETSC_DIR')
         if petsc_dir is None:
             try:
                 petsc_dir = parse_makefile(
                     os.path.join('lib', 'petsc', 'conf',
                                  'petscvariables')).get('PETSC_DIR')
             finally:
                 if petsc_dir is None:
                     raise RuntimeError(
                         'Could not determine PETSC_DIR, please set in environment'
                     )
     if petsc_arch is None:
         petsc_arch = os.environ.get('PETSC_ARCH')
         if petsc_arch is None:
             try:
                 petsc_arch = parse_makefile(
                     os.path.join(petsc_dir, 'lib', 'petsc', 'conf',
                                  'petscvariables')).get('PETSC_ARCH')
             finally:
                 if petsc_arch is None:
                     raise RuntimeError(
                         'Could not determine PETSC_ARCH, please set in environment'
                     )
     self.petsc_dir = os.path.normpath(petsc_dir)
     self.petsc_arch = petsc_arch.rstrip(os.sep)
     self.pkg_dir = pkg_dir
     self.pkg_name = pkg_name
     self.pkg_arch = pkg_arch
     if self.pkg_dir is None:
         self.pkg_dir = petsc_dir
         self.pkg_name = 'petsc'
         self.pkg_arch = self.petsc_arch
     if self.pkg_name is None:
         self.pkg_name = os.path.basename(os.path.normpath(self.pkg_dir))
     if self.pkg_arch is None:
         self.pkg_arch = self.petsc_arch
     self.pkg_pkgs = PetscPKGS
     if pkg_pkgs is not None:
         self.pkg_pkgs += list(
             set(pkg_pkgs.split(',')) - set(self.pkg_pkgs))
     self.read_conf()
     try:
         logging.basicConfig(filename=self.pkg_arch_path(
             'lib', self.pkg_name, 'conf', 'gmake.log'),
                             level=logging.DEBUG)
     except IOError:
         # Disable logging if path is not writeable (e.g., prefix install)
         logging.basicConfig(filename='/dev/null', level=logging.DEBUG)
     self.log = logging.getLogger('gmakegen')
     self.mistakes = Mistakes(debuglogger(self.log), verbose=verbose)
     self.gendeps = []