|
29 | 29 |
|
30 | 30 | :author: Miguel Dias Costa (National University of Singapore) |
31 | 31 | """ |
| 32 | +import os |
| 33 | + |
| 34 | +import easybuild.tools.environment as env |
32 | 35 | import easybuild.tools.systemtools as systemtools |
33 | 36 | from easybuild.tools.toolchain.compiler import Compiler, DEFAULT_OPT_LEVEL |
34 | 37 |
|
35 | 38 | TC_CONSTANT_FUJITSU = 'Fujitsu' |
| 39 | +TC_CONSTANT_MODULE_NAME = 'lang' |
| 40 | +TC_CONSTANT_MODULE_VAR = 'FJSVXTCLANGA' |
36 | 41 |
|
37 | 42 |
|
38 | 43 | class FujitsuCompiler(Compiler): |
39 | 44 | """Generic support for using Fujitsu compiler drivers.""" |
40 | 45 | TOOLCHAIN_FAMILY = TC_CONSTANT_FUJITSU |
41 | 46 |
|
42 | | - # compiler module name is lang (with version e.g. tcsds-1.2.31) |
43 | | - COMPILER_MODULE_NAME = ['lang'] |
| 47 | + COMPILER_MODULE_NAME = [TC_CONSTANT_MODULE_NAME] |
44 | 48 | COMPILER_FAMILY = TC_CONSTANT_FUJITSU |
45 | 49 |
|
46 | 50 | # make sure fcc is always called in clang compatibility mode |
@@ -82,6 +86,14 @@ class FujitsuCompiler(Compiler): |
82 | 86 | (systemtools.AARCH64, systemtools.ARM): '-mcpu=generic -mtune=generic', |
83 | 87 | } |
84 | 88 |
|
| 89 | + def prepare(self, *args, **kwargs): |
| 90 | + super(FujitsuCompiler, self).prepare(*args, **kwargs) |
| 91 | + |
| 92 | + # make sure the fujitsu module libraries are found (and added to rpath by wrapper) |
| 93 | + libdir = os.path.join(os.getenv(TC_CONSTANT_MODULE_VAR), 'lib64') |
| 94 | + self.log.debug("Adding %s to $LIBRARY_PATH" % libdir) |
| 95 | + env.setvar('LIBRARY_PATH', os.pathsep.join([os.getenv('LIBRARY_PATH'), libdir])) |
| 96 | + |
85 | 97 | def _set_compiler_vars(self): |
86 | 98 | super(FujitsuCompiler, self)._set_compiler_vars() |
87 | 99 |
|
|
0 commit comments