summaryrefslogtreecommitdiff
path: root/numpy/distutils/fcompiler
diff options
context:
space:
mode:
authorGavinZhang <zhanggan@cn.ibm.com>2022-08-14 11:01:22 +0800
committerGavinZhang <zhanggan@cn.ibm.com>2022-08-14 11:01:22 +0800
commit505cff914de69205daec2dc4e60a3017a0534b4b (patch)
tree68cb2c1a5a3996b9fa2d0dfbc4adb724909bad04 /numpy/distutils/fcompiler
parentc652fcbd9c7d651780ea56f078c8609932822cf7 (diff)
downloadnumpy-505cff914de69205daec2dc4e60a3017a0534b4b.tar.gz
DEV: supporting IBM i system
Diffstat (limited to 'numpy/distutils/fcompiler')
-rw-r--r--numpy/distutils/fcompiler/__init__.py6
-rw-r--r--numpy/distutils/fcompiler/gnu.py4
2 files changed, 8 insertions, 2 deletions
diff --git a/numpy/distutils/fcompiler/__init__.py b/numpy/distutils/fcompiler/__init__.py
index d8dcfa899..ecba3e5d5 100644
--- a/numpy/distutils/fcompiler/__init__.py
+++ b/numpy/distutils/fcompiler/__init__.py
@@ -527,6 +527,12 @@ class FCompiler(CCompiler):
ld_so_aix = os.path.join(python_lib, 'config', 'ld_so_aix')
python_exp = os.path.join(python_lib, 'config', 'python.exp')
linker_so = [ld_so_aix] + linker_so + ['-bI:'+python_exp]
+ if sys.platform.startswith('os400'):
+ from distutils.sysconfig import get_config_var
+ python_config = get_config_var('LIBPL')
+ ld_so_aix = os.path.join(python_config, 'ld_so_aix')
+ python_exp = os.path.join(python_config, 'python.exp')
+ linker_so = [ld_so_aix] + linker_so + ['-bI:'+python_exp]
self.set_commands(linker_so=linker_so+linker_so_flags)
linker_exe = self.linker_exe
diff --git a/numpy/distutils/fcompiler/gnu.py b/numpy/distutils/fcompiler/gnu.py
index cdb6aef94..3472b5d4c 100644
--- a/numpy/distutils/fcompiler/gnu.py
+++ b/numpy/distutils/fcompiler/gnu.py
@@ -256,7 +256,7 @@ class GnuFCompiler(FCompiler):
if sys.platform == 'darwin':
return f'-Wl,-rpath,{dir}'
- elif sys.platform[:3] == 'aix':
+ elif sys.platform.startswith(('aix', 'os400')):
# AIX RPATH is called LIBPATH
return f'-Wl,-blibpath:{dir}'
else:
@@ -305,7 +305,7 @@ class Gnu95FCompiler(GnuFCompiler):
module_dir_switch = '-J'
module_include_switch = '-I'
- if sys.platform[:3] == 'aix':
+ if sys.platform.startswith(('aix', 'os400')):
executables['linker_so'].append('-lpthread')
if platform.architecture()[0][:2] == '64':
for key in ['compiler_f77', 'compiler_f90','compiler_fix','linker_so', 'linker_exe']: