Subversion Repositories slepc-dev

Rev

Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2272 Rev 2478
Line 24... Line 24...
 
 
import petscconf
import petscconf
import log
import log
import check
import check
 
 
def Check(conf,vars,cmake):
def Check(conf,vars,cmake,tmpdir):
  log.write('='*80)
  log.write('='*80)
  log.Println('Checking LAPACK library...')
  log.Println('Checking LAPACK library...')
 
 
  # LAPACK standard functions
  # LAPACK standard functions
  l = ['laev2','gehrd','lanhs','lange','getri','hseqr','trexc','trevc','geevx','ggevx','gelqf','gesdd','tgexc','gges','tgevc','ggev']
  l = ['laev2','gehrd','lanhs','lange','getri','hseqr','trexc','trevc','geevx','ggevx','gelqf','gesdd','tgexc','gges','tgevc','ggev']
Line 69... Line 69...
    f += i + '\n'
    f += i + '\n'
    f += '#endif\n'
    f += '#endif\n'
    all.append(f)
    all.append(f)
 
 
  log.write('=== Checking all LAPACK functions...')
  log.write('=== Checking all LAPACK functions...')
  if check.Link(all,[],[]):
  if check.Link(tmpdir,all,[],[]):
    return []
    return []
 
 
  # check functions one by one
  # check functions one by one
  missing = []
  missing = []
  for i in functions:
  for i in functions:
Line 84... Line 84...
    f += '#else\n'
    f += '#else\n'
    f += i + '\n'
    f += i + '\n'
    f += '#endif\n'
    f += '#endif\n'
 
 
    log.write('=== Checking LAPACK '+i+' function...')
    log.write('=== Checking LAPACK '+i+' function...')
    if not check.Link([f],[],[]):
    if not check.Link(tmpdir,[f],[],[]):
      missing.append(i)
      missing.append(i)
      conf.write('#ifndef SLEPC_MISSING_LAPACK_' + i[1:].upper() + '\n#define SLEPC_MISSING_LAPACK_' + i[1:].upper() + ' 1\n#endif\n\n')
      conf.write('#ifndef SLEPC_MISSING_LAPACK_' + i[1:].upper() + '\n#define SLEPC_MISSING_LAPACK_' + i[1:].upper() + ' 1\n#endif\n\n')
      cmake.write('set (SLEPC_MISSING_LAPACK_' + i[1:].upper() + ' YES)\n')
      cmake.write('set (SLEPC_MISSING_LAPACK_' + i[1:].upper() + ' YES)\n')
 
 
  if missing:
  if missing: