summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorPearu Peterson <pearu@pearu-laptop.(none)>2010-10-06 21:41:22 +0300
committerPearu Peterson <pearu@pearu-laptop.(none)>2010-10-06 21:41:22 +0300
commit8b0d65986dad4b4d17a51ea272bf17afc5dd7031 (patch)
treeb79a13fec52c1b321b1797431b6cca572762eb55 /numpy
parent394bb8548cd8174c81be0876380a08ffb97b99eb (diff)
downloadnumpy-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__.py4
-rw-r--r--numpy/distutils/fcompiler/pg.py23
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