/
usr
/
lib64
/
python2.6
/
site-packages
/
numpy
/
distutils
/
fcompiler
/
/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler
mkdir
upload
Name
Size
Mode
Actions
absoft.py
5415
0644
edit
dl
rm
absoft.pyc
5803
0644
edit
dl
rm
absoft.pyo
5803
0644
edit
dl
rm
compaq.py
3941
0644
edit
dl
rm
compaq.pyc
5281
0644
edit
dl
rm
compaq.pyo
5281
0644
edit
dl
rm
g95.py
1312
0644
edit
dl
rm
g95.pyc
1856
0644
edit
dl
rm
g95.pyo
1856
0644
edit
dl
rm
gnu.py
13388
0644
edit
dl
rm
gnu.pyc
11280
0644
edit
dl
rm
gnu.pyo
11280
0644
edit
dl
rm
hpux.py
1394
0644
edit
dl
rm
hpux.pyc
2300
0644
edit
dl
rm
hpux.pyo
2300
0644
edit
dl
rm
ibm.py
3350
0644
edit
dl
rm
ibm.pyc
4080
0644
edit
dl
rm
ibm.pyo
4080
0644
edit
dl
rm
intel.py
8196
0644
edit
dl
rm
intel.pyc
9373
0644
edit
dl
rm
intel.pyo
9373
0644
edit
dl
rm
lahey.py
1367
0644
edit
dl
rm
lahey.pyc
2341
0644
edit
dl
rm
lahey.pyo
2341
0644
edit
dl
rm
mips.py
1756
0644
edit
dl
rm
mips.pyc
2814
0644
edit
dl
rm
mips.pyo
2814
0644
edit
dl
rm
nag.py
1319
0644
edit
dl
rm
nag.pyc
2232
0644
edit
dl
rm
nag.pyo
2232
0644
edit
dl
rm
none.py
744
0644
edit
dl
rm
none.pyc
1167
0644
edit
dl
rm
none.pyo
1167
0644
edit
dl
rm
pg.py
1184
0644
edit
dl
rm
pg.pyc
1962
0644
edit
dl
rm
pg.pyo
1962
0644
edit
dl
rm
sun.py
1540
0644
edit
dl
rm
sun.pyc
2402
0644
edit
dl
rm
sun.pyo
2402
0644
edit
dl
rm
vast.py
1708
0644
edit
dl
rm
vast.pyc
2333
0644
edit
dl
rm
vast.pyo
2333
0644
edit
dl
rm
__init__.py
36924
0644
edit
dl
rm
__init__.pyc
33396
0644
edit
dl
rm
__init__.pyo
33197
0644
edit
dl
rm
Edit:
/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/ibm.py
(3350B)
import os import re import sys from numpy.distutils.fcompiler import FCompiler from numpy.distutils.exec_command import exec_command, find_executable from numpy.distutils.misc_util import make_temp_file from distutils import log compilers = ['IBMFCompiler'] class IBMFCompiler(FCompiler): compiler_type = 'ibm' description = 'IBM XL Fortran Compiler' version_pattern = r'(xlf\(1\)\s*|)IBM XL Fortran ((Advanced Edition |)Version |Enterprise Edition V)(?P<version>[^\s*]*)' #IBM XL Fortran Enterprise Edition V10.1 for AIX \nVersion: 10.01.0000.0004 executables = { 'version_cmd' : ["<F77>", "-qversion"], 'compiler_f77' : ["xlf"], 'compiler_fix' : ["xlf90", "-qfixed"], 'compiler_f90' : ["xlf90"], 'linker_so' : ["xlf95"], 'archiver' : ["ar", "-cr"], 'ranlib' : ["ranlib"] } def get_version(self,*args,**kwds): version = FCompiler.get_version(self,*args,**kwds) if version is None and sys.platform.startswith('aix'): # use lslpp to find out xlf version lslpp = find_executable('lslpp') xlf = find_executable('xlf') if os.path.exists(xlf) and os.path.exists(lslpp): s,o = exec_command(lslpp + ' -Lc xlfcmp') m = re.search('xlfcmp:(?P<version>\d+([.]\d+)+)', o) if m: version = m.group('version') xlf_dir = '/etc/opt/ibmcmp/xlf' if version is None and os.path.isdir(xlf_dir): # linux: # If the output of xlf does not contain version info # (that's the case with xlf 8.1, for instance) then # let's try another method: l = os.listdir(xlf_dir) l.sort() l.reverse() l = [d for d in l if os.path.isfile(os.path.join(xlf_dir,d,'xlf.cfg'))] if l: from distutils.version import LooseVersion self.version = version = LooseVersion(l[0]) return version def get_flags(self): return ['-qextname'] def get_flags_debug(self): return ['-g'] def get_flags_linker_so(self): opt = [] if sys.platform=='darwin': opt.append('-Wl,-bundle,-flat_namespace,-undefined,suppress') else: opt.append('-bshared') version = self.get_version(ok_status=[0,40]) if version is not None: if sys.platform.startswith('aix'): xlf_cfg = '/etc/xlf.cfg' else: xlf_cfg = '/etc/opt/ibmcmp/xlf/%s/xlf.cfg' % version fo, new_cfg = make_temp_file(suffix='_xlf.cfg') log.info('Creating '+new_cfg) fi = open(xlf_cfg,'r') crt1_match = re.compile(r'\s*crt\s*[=]\s*(?P<path>.*)/crt1.o').match for line in fi.readlines(): m = crt1_match(line) if m: fo.write('crt = %s/bundle1.o\n' % (m.group('path'))) else: fo.write(line) fi.close() fo.close() opt.append('-F'+new_cfg) return opt def get_flags_opt(self): return ['-O5'] if __name__ == '__main__': log.set_verbosity(2) compiler = IBMFCompiler() compiler.customize() print compiler.get_version()
Save
cmd:
run