diff options
| author | Thomas Green <tomgreen66@hotmail.com> | 2021-11-16 23:01:36 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-16 23:01:36 +0000 |
| commit | 7bfaea7e9f4fdee384b2562a906daf6b48a509cb (patch) | |
| tree | e20bfb755a3cd865dc38f2abd7ece562da63d2c4 /numpy/distutils | |
| parent | 5756700d4b549300f03f477e9b7693b2dadb6cae (diff) | |
| download | numpy-7bfaea7e9f4fdee384b2562a906daf6b48a509cb.tar.gz | |
Create arm.py
Added `-fPIC` due to relocation errors.
Diffstat (limited to 'numpy/distutils')
| -rw-r--r-- | numpy/distutils/fcompiler/arm.py | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/numpy/distutils/fcompiler/arm.py b/numpy/distutils/fcompiler/arm.py new file mode 100644 index 000000000..bc491d947 --- /dev/null +++ b/numpy/distutils/fcompiler/arm.py @@ -0,0 +1,73 @@ +from __future__ import division, absolute_import, print_function + +import sys + +from numpy.distutils.fcompiler import FCompiler, dummy_fortran_file +from sys import platform +from os.path import join, dirname, normpath + +compilers = ['ArmFlangCompiler'] + +import functools + +class ArmFlangCompiler(FCompiler): + compiler_type = 'arm' + description = 'Arm Compiler' + version_pattern = r'\s*Arm.*version (?P<version>[\d.-]+).*' + + ar_exe = 'lib.exe' + possible_executables = ['armflang'] + + executables = { + 'version_cmd': ["", "--version"], + 'compiler_f77': ["armflang", "-fPIC"], + 'compiler_fix': ["armflang", "-fPIC", "-ffixed-form"], + 'compiler_f90': ["armflang", "-fPIC"], + 'linker_so': ["armflang", "-fPIC", "-shared"], + 'archiver': ["ar", "-cr"], + 'ranlib': None + } + + pic_flags = ["-fPIC", "-DPIC"] + c_compiler = 'arm' + module_dir_switch = '-module ' # Don't remove ending space! + + def get_libraries(self): + opt = FCompiler.get_libraries(self) + opt.extend(['flang', 'flangrti', 'ompstub']) + return opt + + @functools.lru_cache(maxsize=128) + def get_library_dirs(self): + """List of compiler library directories.""" + opt = FCompiler.get_library_dirs(self) + flang_dir = dirname(self.executables['compiler_f77'][0]) + opt.append(normpath(join(flang_dir, '..', 'lib'))) + + return opt + + def get_flags(self): + return [] + + def get_flags_free(self): + return [] + + def get_flags_debug(self): + return ['-g'] + + def get_flags_opt(self): + return ['-O3'] + + def get_flags_arch(self): + return [] + + def runtime_library_dir_option(self, dir): + return '-Wl,-rpath=%s' % dir + + +if __name__ == '__main__': + from distutils import log + log.set_verbosity(2) + from numpy.distutils import customized_fcompiler + print(customized_fcompiler(compiler='armflang').get_version()) + |
