コード例 #1
0
ファイル: RDict.py プロジェクト: IgorGayday/SpectrumSDT
 def __getitem__(self, key):
     '''Checks for the key locally, and if not found consults the parent. Returns the value of the Arg.
    - If the value has not been set, the user will be prompted for input'''
     if self.dict_has_key(key):
         self.writeLogLine('__getitem__: ' + key + ' has local type')
         pass
     elif not self.parent is None:
         self.writeLogLine('__getitem__: Checking parent value')
         if self.send(key, operation='has_key'):
             self.writeLogLine('__getitem__: Parent has value')
             return self.send(key)
         else:
             self.writeLogLine('__getitem__: Checking parent type')
             arg = self.send(key, operation='getType')
             if not arg:
                 self.writeLogLine('__getitem__: Parent has no type')
                 arg = nargs.Arg(key)
             try:
                 value = arg.getValue()
             except AttributeError as e:
                 self.writeLogLine(
                     '__getitem__: Parent had invalid entry: ' + str(e))
                 arg = nargs.Arg(key)
                 value = arg.getValue()
             self.writeLogLine('__getitem__: Setting parent value ' +
                               str(value))
             self.send(key, value, operation='__setitem__')
             return value
     else:
         self.writeLogLine('__getitem__: Setting local type for ' + key)
         dict.__setitem__(self, key, nargs.Arg(key))
         #self.save()
     self.writeLogLine('__getitem__: Setting local value for ' + key)
     return dict.__getitem__(self, key).getValue()
コード例 #2
0
 def setupHelp(self, help):
     import nargs
     help.addArgument('PETSc', '-with-autoreconf=<prog>',
                      nargs.Arg(None, 'autoreconf', 'Specify autoreconf'))
     help.addArgument('PETSc', '-with-libtoolize=<prog>',
                      nargs.Arg(None, 'libtoolize', 'Specify libtoolize'))
     return
コード例 #3
0
  def setupHelp(self, help):
    import nargs

    help        = config.base.Configure.setupHelp(self, help)
    searchdirs  = []
    packagedirs = []
    home = os.getenv('HOME')
    if home and os.path.isdir(home):
      packagedirs.append(home)
      searchdirs.append(home)
    list = self.listDirs('/opt/ibmcmp/vacpp/','[0-9.]*/bin')
    if list: searchdirs.append(list[-1])
    list = self.listDirs('/opt/ibmcmp/xlf/','[0-9.]*/bin')
    if list: searchdirs.append(list[-1])
    list = self.listDirs('/opt/','intel_cc_[0-9.]*/bin')
    if list: searchdirs.append(list[-1])
    list = self.listDirs('/opt/','intel_fc_[0-9.]*/bin')
    if list: searchdirs.append(list[-1])


    help.addArgument('Framework', '-configModules',       nargs.Arg(None, None, 'A list of Python modules with a Configure class'))
    help.addArgument('Framework', '-ignoreCompileOutput=<bool>', nargs.ArgBool(None, 1, 'Ignore compiler output'))
    help.addArgument('Framework', '-ignoreLinkOutput=<bool>',    nargs.ArgBool(None, 1, 'Ignore linker output'))
    help.addArgument('Framework', '-ignoreWarnings=<bool>',      nargs.ArgBool(None, 0, 'Ignore compiler and linker warnings'))
    help.addArgument('Framework', '-doCleanup=<bool>',           nargs.ArgBool(None, 1, 'Delete any configure generated files (turn off for debugging)'))
    help.addArgument('Framework', '-with-alternatives=<bool>',   nargs.ArgBool(None, 0, 'Provide a choice among alternative package installations'))
    help.addArgument('Framework', '-search-dirs',         nargs.Arg(None, searchdirs, 'A list of directories used to search for executables'))
    help.addArgument('Framework', '-package-dirs',        nargs.Arg(None, packagedirs, 'A list of directories used to search for packages'))
    help.addArgument('Framework', '-with-external-packages-dir=<dir>', nargs.Arg(None, None, 'Location to install downloaded packages'))
    help.addArgument('Framework', '-with-batch=<bool>',          nargs.ArgBool(None, 0, 'Machine using cross-compilers or a batch system to submit jobs'))
    help.addArgument('Framework', '-with-file-create-pause=<bool>', nargs.ArgBool(None, 0, 'Add 1 sec pause between config temp file delete/recreate'))
    return help
コード例 #4
0
ファイル: make.py プロジェクト: miaodi/petsc
 def setupHelp(self, help):
     import nargs
     config.package.GNUPackage.setupHelp(self, help)
     help.addArgument(
         'MAKE', '-with-make-np=<np>',
         nargs.ArgInt(
             None,
             None,
             min=1,
             help='Default number of threads to use for parallel builds'))
     help.addArgument(
         'MAKE', '-with-make-test-np=<np>',
         nargs.ArgInt(
             None,
             None,
             min=1,
             help='Default number of threads to use for parallel tests'))
     help.addArgument(
         'MAKE', '-with-make-load=<load>',
         nargs.ArgReal(None,
                       None,
                       min=1.0,
                       help='max load to use for parallel builds'))
     help.addArgument(
         'MAKE', '-download-make-cc=<prog>',
         nargs.Arg(None, None, 'C compiler for GNU make configure'))
     help.addArgument('MAKE', '-with-make-exec=<executable>',
                      nargs.Arg(None, None, 'Make executable to look for'))
     return
コード例 #5
0
ファイル: make.py プロジェクト: poulson/petsc
 def setupHelp(self, help):
   import nargs
   config.package.GNUPackage.setupHelp(self, help)
   help.addArgument('MAKE', '-with-make-np=<np>',                           nargs.ArgInt(None, None, min=1, help='Default number of threads to use for parallel builds'))
   help.addArgument('MAKE', '-download-make-cc=<prog>',                     nargs.Arg(None, None, 'C compiler for GNU make configure'))
   help.addArgument('MAKE', '-download-make-configure-options=<options>',   nargs.Arg(None, None, 'additional options for GNU make configure'))
   return
コード例 #6
0
ファイル: arch.py プロジェクト: nwstegmeier/petsc
 def setupHelp(self, help):
     import nargs
     help.addArgument('PETSc', '-PETSC_ARCH=<string>',
                      nargs.Arg(None, None, 'The configuration name'))
     help.addArgument('PETSc', '-with-petsc-arch=<string>',
                      nargs.Arg(None, None, 'The configuration name'))
     return
コード例 #7
0
ファイル: cmake.py プロジェクト: Tech-XCorp/petsc
 def setupHelp(self, help):
   import nargs
   config.package.GNUPackage.setupHelp(self, help)
   help.addArgument('CMake', '-download-cmake-cc=<prog>',                   nargs.Arg(None, None, 'C compiler for Cmake configure'))
   help.addArgument('CMake', '-download-cmake-configure-options=<options>', nargs.Arg(None, None, 'Additional options for Cmake configure'))
   help.addArgument('CMake', '-with-cmake-exec=<executable>',                nargs.Arg(None, None, 'CMake executable to look for'))
   return
コード例 #8
0
  def setupHelp(self, help):
    import nargs

    help.addArgument('SourceControl', '-with-hg=<executable>',  nargs.Arg(None, 'hg', 'Specify the Mercurial executable'))
    help.addArgument('SourceControl', '-with-cvs=<executable>', nargs.Arg(None, 'cvs', 'Specify the CVS executable'))
    help.addArgument('SourceControl', '-with-svn=<executable>', nargs.Arg(None, 'svn', 'Specify the Subversion executable'))
    return
コード例 #9
0
 def setupHelp(self, help):
     config.package.Package.setupHelp(self, help)
     import nargs
     help.addArgument(
         'MPI', '-download-mpich=<no,yes,ifneeded,filename>',
         nargs.ArgDownload(None, 0, 'Download and install MPICH-2'))
     help.addArgument(
         'MPI', '-download-openmpi=<no,yes,ifneeded,filename>',
         nargs.ArgDownload(None, 0, 'Download and install OpenMPI'))
     help.addArgument(
         'MPI', '-with-mpiexec=<prog>',
         nargs.Arg(None, None, 'The utility used to launch MPI jobs'))
     help.addArgument(
         'MPI', '-with-mpi-compilers=<bool>',
         nargs.ArgBool(None, 1, 'Try to use the MPI compilers, e.g. mpicc'))
     help.addArgument(
         'MPI', '-known-mpi-shared=<bool>',
         nargs.ArgBool(
             None, None,
             'Indicates the MPI libraries are shared (the usual test will be skipped)'
         ))
     help.addArgument(
         'MPI', '-download-mpich-pm=hydra, gforker or mpd',
         nargs.Arg(None, 'gforker', 'Launcher for MPI processes'))
     help.addArgument(
         'MPI', '-download-mpich-device=ch3:nemesis or see mpich2 docs',
         nargs.Arg(None, 'ch3:sock', 'Communicator for MPI processes'))
     help.addArgument('MPI', '-download-mpich-mpe',
                      nargs.ArgBool(None, 0, 'Install MPE with MPICH'))
     help.addArgument(
         'MPI', '-download-mpich-shared',
         nargs.ArgBool(None, 0, 'Install MPICH with shared libraries'))
     return
コード例 #10
0
ファイル: make.py プロジェクト: chrispbradley/petsc
 def setupHelp(self, help):
   import nargs
   help.addArgument('Make', '-with-make=<prog>',                            nargs.Arg(None, 'gmake', 'Specify GNU make'))
   help.addArgument('Make', '-with-make-np=<np>',                           nargs.ArgInt(None, None, min=1, help='Default number of threads to use for parallel builds'))
   help.addArgument('Make', '-download-make=<no,yes,filename>',             nargs.ArgDownload(None, 0, 'Download and install GNU make'))
   help.addArgument('Make', '-download-make-cc=<prog>',                     nargs.Arg(None, None, 'C compiler for GNU make configure'))
   help.addArgument('Make', '-download-make-configure-options=<options>',   nargs.Arg(None, None, 'additional options for GNU make configure'))
   return
コード例 #11
0
ファイル: checkBuilds.py プロジェクト: Tech-XCorp/petsc
  def setupHelp(self, help):
    import nargs

    help = script.Script.setupHelp(self, help)
    help.addArgument('BuildCheck', '-remoteMachine', nargs.Arg(None, 'terra.mcs.anl.gov', 'The machine on which PETSc logs are stored'))
    help.addArgument('BuildCheck', '-logDirectory',  nargs.Arg(None, os.path.join('/mcs', 'ftp', 'pub', 'petsc','nightlylogs'), 'The directory in which PETSc logs are stored'))
    help.addArgument('BuildCheck', '-archCompilers', nargs.Arg(None, {}, 'A mapping from architecture names to lists of compiler names'))
    return help
コード例 #12
0
ファイル: cmake.py プロジェクト: CurryMultiSci/petsc
 def setupHelp(self, help):
   import nargs
   config.package.GNUPackage.setupHelp(self, help)
   help.addArgument('CMAKE', '-download-cmake-cc=<prog>',                   nargs.Arg(None, None, 'C compiler for Cmake configure'))
   help.addArgument('CMAKE', '-download-cmake-cxx=<prog>',                  nargs.Arg(None, None, 'C++ compiler for Cmake configure'))
   help.addArgument('CMAKE', '-with-cmake-exec=<executable>',                nargs.Arg(None, None, 'CMake executable to look for'))
   help.addArgument('CMAKE', '-with-ctest-exec=<executable>',                nargs.Arg(None, None, 'Ctest executable to look for'))
   return
コード例 #13
0
  def setupHelp(self, help):
    '''This method should be overidden to provide help for arguments'''
    import nargs

    script.Script.setupHelp(self, help)
    help.addArgument('SieveTests', '-tests', nargs.Arg(None, ['overlap', 'preallocation'], 'Tests to run', isTemporary = 1))
    help.addArgument('SieveTests', '-procs', nargs.Arg(None, [1], 'Communicator sizes to test', isTemporary = 1))
    help.addArgument('SieveTests', '-iters', nargs.Arg(None, [1], 'Iterations to test', isTemporary = 1))
    return help
コード例 #14
0
  def setupHelp(self, help):
    import nargs

    script.Script.setupHelp(self, help)
    help.addArgument('BratuTest', '-num_refine=<int>', nargs.ArgInt(None, 1, 'Number of refinements', min = 0))
    help.addArgument('BratuTest', '-bc_type=<dirichlet or neumann>', nargs.Arg(None, 'dirichlet', 'PETSc boundary condition type'))
    help.addArgument('BratuTest', '-pc_type=<typename>', nargs.Arg(None, 'supportgraph', 'PETSc PC type'))
    help.addArgument('BratuTest', '-events=[event1,event2,...]', nargs.Arg(None, ['PCSetUp'], 'Events to monitor'))
    return
コード例 #15
0
ファイル: scalarTypes.py プロジェクト: wgapl/petsc
 def setupHelp(self, help):
     import nargs
     help.addArgument(
         'PETSc', '-with-precision=<single,double,__float128>',
         nargs.Arg(None, 'double', 'Specify numerical precision'))
     help.addArgument(
         'PETSc', '-with-scalar-type=<real or complex>',
         nargs.Arg(None, 'real', 'Specify real or complex numbers'))
     return
コード例 #16
0
ファイル: sowing.py プロジェクト: xj361685640/petsc
 def setupHelp(self, help):
   import nargs
   config.package.GNUPackage.setupHelp(self, help)
   help.addArgument('SOWING', '-download-sowing-cc=<prog>',                     nargs.Arg(None, None, 'C compiler for sowing configure'))
   help.addArgument('SOWING', '-download-sowing-cxx=<prog>',                    nargs.Arg(None, None, 'CXX compiler for sowing configure'))
   help.addArgument('SOWING', '-download-sowing-cpp=<prog>',                    nargs.Arg(None, None, 'CPP for sowing configure'))
   help.addArgument('SOWING', '-download-sowing-cxxcpp=<prog>',                 nargs.Arg(None, None, 'CXX CPP for sowing configure'))
   help.addArgument('SOWING', '-download-sowing-configure-options=<options>',   nargs.Arg(None, None, 'additional options for sowing configure'))
   return
コード例 #17
0
 def setupHelp(self, help):
     import nargs
     #  Dec 2016, the __fp16 type is only available with GNU compilers on ARM systems
     help.addArgument(
         'PETSc', '-with-precision=<__fp16,single,double,__float128>',
         nargs.Arg(None, 'double', 'Specify numerical precision'))
     help.addArgument(
         'PETSc', '-with-scalar-type=<real or complex>',
         nargs.Arg(None, 'real', 'Specify real or complex numbers'))
     return
コード例 #18
0
ファイル: MPICH.py プロジェクト: adantra/petsc
 def setupHelp(self, help):
     config.package.GNUPackage.setupHelp(self, help)
     import nargs
     help.addArgument(
         'MPI', '-download-mpich-pm=<hydra, gforker or mpd>',
         nargs.Arg(None, 'hydra', 'Launcher for MPI processes'))
     help.addArgument(
         'MPI', '-download-mpich-device=<ch3:nemesis or see MPICH docs>',
         nargs.Arg(None, None, 'Communicator for MPI processes'))
     return
コード例 #19
0
ファイル: types.py プロジェクト: nwstegmeier/petsc
 def setupHelp(self, help):
     import nargs
     help.addArgument(
         'Types', '-known-endian=<big or little>',
         nargs.Arg(None, None, 'Are bytes stored in big or little endian?'))
     help.addArgument(
         'Visibility', '-with-visibility=<bool>',
         nargs.Arg(
             None, 0,
             'Use compiler visibility flags to limit symbol visibility'))
     return
コード例 #20
0
ファイル: c2html.py プロジェクト: zhenguonie/petsc
 def setupHelp(self, help):
     import nargs
     config.package.GNUPackage.setupHelp(self, help)
     help.addArgument('C2HTML', '-download-c2html-cc=<prog>',
                      nargs.Arg(None, None, 'C compiler for c2html'))
     help.addArgument(
         'C2HTML', '-download-c2html-configure-options=<options>',
         nargs.Arg(None, None, 'additional options for c2html'))
     help.addArgument(
         'C2HTML', '-with-c2html-exec=<executable>',
         nargs.Arg(None, None, 'c2html executable to look for'))
     return
コード例 #21
0
 def setupHelp(self, help):
     import nargs
     help.addArgument('PETSc', '-PETSC_ARCH=<string>',
                      nargs.Arg(None, None, 'The configuration name'))
     help.addArgument('PETSc', '-with-petsc-arch=<string>',
                      nargs.Arg(None, None, 'The configuration name'))
     help.addArgument(
         'PETSc', '-force=<bool>',
         nargs.ArgBool(
             None, 0,
             'Bypass configure hash caching, and run to completion'))
     return
コード例 #22
0
  def setupArguments(self, argDB):
    '''Setup types in the argument database'''
    import nargs

    argDB = args.ArgumentProcessor.setupArguments(self, argDB)
    argDB.setType('log',           nargs.Arg(None, 'buildsystem.log', 'The filename for the log'))
    argDB.setType('logAppend',     nargs.ArgBool(None, 0, 'The flag determining whether we backup or append to the current log', isTemporary = 1))
    argDB.setType('debugLevel',    nargs.ArgInt(None, 3, 'Integer 0 to 4, where a higher level means more detail', 0, 5))
    argDB.setType('debugSections', nargs.Arg(None, [], 'Message types to print, e.g. [compile,link,hg,install]'))
    argDB.setType('debugIndent',   nargs.Arg(None, '  ', 'The string used for log indentation'))
    argDB.setType('scrollOutput',  nargs.ArgBool(None, 0, 'Flag to allow output to scroll rather than overwriting a single line'))
    argDB.setType('noOutput',      nargs.ArgBool(None, 0, 'Flag to suppress output to the terminal'))
    return argDB
コード例 #23
0
ファイル: checkBuilds.py プロジェクト: poulson/petsc
  def setupHelp(self, help):
    import nargs,datetime

    help = script.Script.setupHelp(self, help)
    help.addArgument('BuildCheck', '-remoteMachine',    nargs.Arg(None, 'login.mcs.anl.gov', 'The machine on which PETSc logs are stored'))
    help.addArgument('BuildCheck', '-logDirectory',     nargs.Arg(None, os.path.join('/mcs', 'ftp', 'pub', 'petsc','nightlylogs'), 'The directory in which PETSc logs are stored'))
    help.addArgument('BuildCheck', '-archCompilers',    nargs.Arg(None, {}, 'A mapping from architecture names to lists of compiler names'))
    help.addArgument('BuildCheck', '-blameMail',        nargs.ArgBool(None, 1, 'Generate blame emails'))
    help.addArgument('BuildCheck', '-blameMailPost',    nargs.ArgBool(None, 1, 'Post (send) blame emails'))
    help.addArgument('BuildCheck', '-ignoreDeprecated', nargs.ArgBool(None, 1, 'Ignore deprecated warnings'))
    help.addArgument('BuildCheck', '-ignorePragma',     nargs.ArgBool(None, 1, 'Ignore unknown pragma'))
    help.addArgument('BuildCheck', '-ignoreNote',       nargs.ArgBool(None, 1, 'Ignore note warnings'))
    help.addArgument('BuildCheck', '-blameMailDate',    nargs.Arg(None, str(datetime.date.today()), 'Date given in blame mail subject'))
    help.addArgument('BuildCheck', '-buildBranch',      nargs.Arg(None, '', 'Check build logs coresponding to given branch name'))
    return help
コード例 #24
0
 def setupHelp(self, help):
     import nargs
     help.addArgument(
         'Compiler Flags', '-optionsModule=<module name>',
         nargs.Arg(
             None, 'config.compilerOptions',
             'The Python module used to determine compiler options and versions'
         ))
     help.addArgument(
         'Compiler Flags', '-with-debugging=<bool>',
         nargs.ArgBool(None, 1, 'Specify debugging version of libraries'))
     help.addArgument(
         'Compiler Flags', '-C_VERSION=<string>',
         nargs.Arg(None, 'Unknown', 'The version of the C compiler'))
     help.addArgument(
         'Compiler Flags', '-CXX_VERSION=<string>',
         nargs.Arg(None, 'Unknown', 'The version of the C++ compiler'))
     help.addArgument(
         'Compiler Flags', '-FC_VERSION=<string>',
         nargs.Arg(None, 'Unknown', 'The version of the Fortran compiler'))
     help.addArgument(
         'Compiler Flags', '-CUDA_VERSION=<string>',
         nargs.Arg(None, 'Unknown', 'The version of the CUDA compiler'))
     help.addArgument(
         'Compiler Flags', '-COPTFLAGS=<string>',
         nargs.Arg(
             None, None,
             'Override the debugging/optimization flags for the C compiler')
     )
     help.addArgument(
         'Compiler Flags', '-CXXOPTFLAGS=<string>',
         nargs.Arg(
             None, None,
             'Override the debugging/optimization flags for the C++ compiler'
         ))
     help.addArgument(
         'Compiler Flags', '-FOPTFLAGS=<string>',
         nargs.Arg(
             None, None,
             'Override the debugging/optimization flags for the Fortran compiler'
         ))
     help.addArgument(
         'Compiler Flags', '-CUDAOPTFLAGS=<string>',
         nargs.Arg(
             None, None,
             'Override the debugging/optimization flags for the CUDA compiler'
         ))
     # not sure where to put this, currently gcov is handled in ../compilerOptions.py
     help.addArgument(
         'Compiler Flags', '-with-gcov=<bool>',
         nargs.ArgBool(None, 0,
                       'Specify that GNUs coverage tool gcov is used'))
     return
コード例 #25
0
 def setupHelp(self, help):
     import nargs
     config.package.Package.setupHelp(self, help)
     help.addArgument(
         'CUDA', '-with-cuda-arch=<arch>',
         nargs.Arg(None, None, 'Target architecture for nvcc, e.g. sm_20'))
     return
コード例 #26
0
 def setupHelp(self, help):
     import nargs
     script.Script.setupHelp(self, help)
     help.addArgument(
         'Installer', '-destDir=<path>',
         nargs.Arg(None, None, 'Destination Directory for install'))
     return
コード例 #27
0
ファイル: memAlign.py プロジェクト: khazali/PETSc
 def setupHelp(self, help):
     import nargs
     help.addArgument(
         'PETSc', '-with-memalign=<4,8,16,32,64>',
         nargs.Arg(None, '16',
                   'Specify alignment of arrays allocated by PETSc'))
     return
コード例 #28
0
ファイル: petscdir.py プロジェクト: Tech-XCorp/petsc
 def setupHelp(self, help):
     import nargs
     help.addArgument(
         'PETSc', '-PETSC_DIR=<root-dir>',
         nargs.Arg(None, None,
                   'The root directory of the PETSc installation'))
     return
コード例 #29
0
 def setupHelp(self, help):
     config.package.Package.setupHelp(self, help)
     import nargs
     help.addArgument(
         'PETSC4PY', '-download-petsc4py-python=<prog>',
         nargs.Arg(None, None, 'Use this python program to build petsc4py'))
     return
コード例 #30
0
ファイル: openblas.py プロジェクト: zhenguonie/petsc
 def setupHelp(self, help):
   config.package.Package.setupHelp(self,help)
   import nargs
   help.addArgument('OpenBLAS', '-download-openblas-64-bit-blas-indices', nargs.ArgBool(None, 0, 'Use 64 bit integers for OpenBLAS (deprecated: use --with-64-bit-blas-indices'))
   help.addArgument('OpenBLAS', '-download-openblas-use-pthreads', nargs.ArgBool(None, 0, 'Use pthreads for OpenBLAS'))
   help.addArgument('OpenBLAS', '-download-openblas-make-options=<options>', nargs.Arg(None, None, 'additional options for building OpenBLAS'))
   return