diff options
author | Pearu Peterson <pearu@pearu-laptop.(none)> | 2010-10-06 21:41:22 +0300 |
---|---|---|
committer | Pearu Peterson <pearu@pearu-laptop.(none)> | 2010-10-06 21:41:22 +0300 |
commit | 8b0d65986dad4b4d17a51ea272bf17afc5dd7031 (patch) | |
tree | b79a13fec52c1b321b1797431b6cca572762eb55 /numpy | |
parent | 394bb8548cd8174c81be0876380a08ffb97b99eb (diff) | |
download | numpy-8b0d65986dad4b4d17a51ea272bf17afc5dd7031.tar.gz |
Added Portland Group compiler support for Darwin platform (thanks to Josef Koller).
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/distutils/fcompiler/__init__.py | 4 | ||||
-rw-r--r-- | numpy/distutils/fcompiler/pg.py | 23 |
2 files changed, 23 insertions, 4 deletions
diff --git a/numpy/distutils/fcompiler/__init__.py b/numpy/distutils/fcompiler/__init__.py index 3fd3f22dc..5c9395869 100644 --- a/numpy/distutils/fcompiler/__init__.py +++ b/numpy/distutils/fcompiler/__init__.py @@ -695,14 +695,14 @@ _default_compilers = ( ('cygwin.*', ('gnu','intelv','absoft','compaqv','intelev','gnu95','g95')), ('linux.*', ('gnu','intel','lahey','pg','absoft','nag','vast','compaq', 'intele','intelem','gnu95','g95')), - ('darwin.*', ('nag', 'absoft', 'ibm', 'intel', 'gnu', 'gnu95', 'g95')), + ('darwin.*', ('nag', 'absoft', 'ibm', 'intel', 'gnu', 'gnu95', 'g95', 'pg')), ('sunos.*', ('sun','gnu','gnu95','g95')), ('irix.*', ('mips','gnu','gnu95',)), ('aix.*', ('ibm','gnu','gnu95',)), # os.name mappings ('posix', ('gnu','gnu95',)), ('nt', ('gnu','gnu95',)), - ('mac', ('gnu','gnu95',)), + ('mac', ('gnu','gnu95','pg')), ) fcompiler_class = None diff --git a/numpy/distutils/fcompiler/pg.py b/numpy/distutils/fcompiler/pg.py index 60c7f4e4b..a34669c36 100644 --- a/numpy/distutils/fcompiler/pg.py +++ b/numpy/distutils/fcompiler/pg.py @@ -2,6 +2,7 @@ # http://www.pgroup.com from numpy.distutils.fcompiler import FCompiler +from sys import platform compilers = ['PGroupFCompiler'] @@ -11,7 +12,19 @@ class PGroupFCompiler(FCompiler): description = 'Portland Group Fortran Compiler' version_pattern = r'\s*pg(f77|f90|hpf) (?P<version>[\d.-]+).*' - executables = { + if platform == 'darwin': + executables = { + 'version_cmd' : ["<F77>", "-V 2>/dev/null"], + 'compiler_f77' : ["pgf77", "-dynamiclib"], + 'compiler_fix' : ["pgf90", "-Mfixed", "-dynamiclib"], + 'compiler_f90' : ["pgf90", "-dynamiclib"], + 'linker_so' : ["libtool"], + 'archiver' : ["ar", "-cr"], + 'ranlib' : ["ranlib"] + } + pic_flags = [''] + else: + executables = { 'version_cmd' : ["<F77>", "-V 2>/dev/null"], 'compiler_f77' : ["pgf77"], 'compiler_fix' : ["pgf90", "-Mfixed"], @@ -20,7 +33,9 @@ class PGroupFCompiler(FCompiler): 'archiver' : ["ar", "-cr"], 'ranlib' : ["ranlib"] } - pic_flags = ['-fpic'] + pic_flags = ['-fpic'] + + module_dir_switch = '-module ' module_include_switch = '-I' @@ -31,6 +46,10 @@ class PGroupFCompiler(FCompiler): return ['-fast'] def get_flags_debug(self): return ['-g'] + + if platform == 'darwin': + def get_flags_linker_so(self): + return ["-dynamic", '-undefined', 'dynamic_lookup'] if __name__ == '__main__': from distutils import log |