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 = []
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 = []
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 = []