Skip to content

Commit 25b5ade

Browse files
authored
Merge pull request #3800 from boegel/SHARED_LIBS
also define $BLAS_SHARED_LIBS & co in build environment (analogous to $BLAS_STATIC_LIBS)
2 parents 585dd1c + b2662fb commit 25b5ade

File tree

6 files changed

+156
-10
lines changed

6 files changed

+156
-10
lines changed

easybuild/toolchains/fft/fftw.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def _set_fft_variables(self):
7171
# TODO can these be replaced with the FFT ones?
7272
self.variables.join('FFTW_INC_DIR', 'FFT_INC_DIR')
7373
self.variables.join('FFTW_LIB_DIR', 'FFT_LIB_DIR')
74-
if 'FFT_STATIC_LIBS' in self.variables:
75-
self.variables.join('FFTW_STATIC_LIBS', 'FFT_STATIC_LIBS')
76-
if 'FFT_STATIC_LIBS_MT' in self.variables:
77-
self.variables.join('FFTW_STATIC_LIBS_MT', 'FFT_STATIC_LIBS_MT')
74+
75+
for key in ('SHARED_LIBS', 'SHARED_LIBS_MT', 'STATIC_LIBS', 'STATIC_LIBS_MT'):
76+
if 'FFT_' + key in self.variables:
77+
self.variables.join('FFTW_' + key, 'FFT_' + key)

easybuild/tools/toolchain/constants.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
"""
3131

3232
from easybuild.tools.variables import AbsPathList
33-
from easybuild.tools.toolchain.variables import LinkLibraryPaths, IncludePaths, CommandFlagList, CommaStaticLibs
34-
from easybuild.tools.toolchain.variables import FlagList, LibraryList
33+
from easybuild.tools.toolchain.variables import CommandFlagList, CommaSharedLibs, CommaStaticLibs
34+
from easybuild.tools.toolchain.variables import FlagList, IncludePaths, LibraryList, LinkLibraryPaths
3535

3636

3737
COMPILER_VARIABLES = [
@@ -114,6 +114,10 @@
114114
('LIBBLAS', 'BLAS libraries'),
115115
('LIBBLAS_MT', 'multithreaded BLAS libraries'),
116116
],
117+
CommaSharedLibs: [
118+
('BLAS_SHARED_LIBS', 'Comma-separated list of shared BLAS libraries'),
119+
('BLAS_MT_SHARED_LIBS', 'Comma-separated list of shared multithreaded BLAS libraries'),
120+
],
117121
CommaStaticLibs: [
118122
('BLAS_STATIC_LIBS', 'Comma-separated list of static BLAS libraries'),
119123
('BLAS_MT_STATIC_LIBS', 'Comma-separated list of static multithreaded BLAS libraries'),
@@ -132,6 +136,12 @@
132136
('LIBLAPACK', 'LAPACK libraries'),
133137
('LIBLAPACK_MT', 'multithreaded LAPACK libraries'),
134138
],
139+
CommaSharedLibs: [
140+
('LAPACK_SHARED_LIBS', 'Comma-separated list of shared LAPACK libraries'),
141+
('LAPACK_MT_SHARED_LIBS', 'Comma-separated list of shared LAPACK libraries'),
142+
('BLAS_LAPACK_SHARED_LIBS', 'Comma-separated list of shared BLAS and LAPACK libraries'),
143+
('BLAS_LAPACK_MT_SHARED_LIBS', 'Comma-separated list of shared BLAS and LAPACK libraries'),
144+
],
135145
CommaStaticLibs: [
136146
('LAPACK_STATIC_LIBS', 'Comma-separated list of static LAPACK libraries'),
137147
('LAPACK_MT_STATIC_LIBS', 'Comma-separated list of static LAPACK libraries'),
@@ -166,6 +176,10 @@
166176
('LIBSCALAPACK', 'SCALAPACK libraries'),
167177
('LIBSCALAPACK_MT', 'multithreaded SCALAPACK libraries'),
168178
],
179+
CommaSharedLibs: [
180+
('SCALAPACK_SHARED_LIBS', 'Comma-separated list of shared SCALAPACK libraries'),
181+
('SCALAPACK_MT_SHARED_LIBS', 'Comma-separated list of shared SCALAPACK libraries'),
182+
],
169183
CommaStaticLibs: [
170184
('SCALAPACK_STATIC_LIBS', 'Comma-separated list of static SCALAPACK libraries'),
171185
('SCALAPACK_MT_STATIC_LIBS', 'Comma-separated list of static SCALAPACK libraries'),
@@ -181,6 +195,10 @@
181195
('LIBFFT', 'FFT libraries'),
182196
('LIBFFT_MT', 'Multithreaded FFT libraries'),
183197
],
198+
CommaSharedLibs: [
199+
('FFT_SHARED_LIBS', 'Comma-separated list of shared FFT libraries'),
200+
('FFT_SHARED_LIBS_MT', 'Comma-separated list of shared multithreaded FFT libraries'),
201+
],
184202
CommaStaticLibs: [
185203
('FFT_STATIC_LIBS', 'Comma-separated list of static FFT libraries'),
186204
('FFT_STATIC_LIBS_MT', 'Comma-separated list of static multithreaded FFT libraries'),
@@ -192,6 +210,10 @@
192210
('FFTW_LIB_DIR', 'FFTW library directory'),
193211
('FFTW_INC_DIR', 'FFTW include directory'),
194212
],
213+
CommaSharedLibs: [
214+
('FFTW_SHARED_LIBS', 'Comma-separated list of shared FFTW libraries'),
215+
('FFTW_SHARED_LIBS_MT', 'Comma-separated list of shared multithreaded FFTW libraries'),
216+
],
195217
CommaStaticLibs: [
196218
('FFTW_STATIC_LIBS', 'Comma-separated list of static FFTW libraries'),
197219
('FFTW_STATIC_LIBS_MT', 'Comma-separated list of static multithreaded FFTW libraries'),

easybuild/tools/toolchain/fft.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ def _set_fft_variables(self):
6868
if getattr(self, 'LIB_MULTITHREAD', None) is not None:
6969
self.variables.nappend('LIBFFT_MT', self.LIB_MULTITHREAD)
7070

71+
self.variables.join('FFT_SHARED_LIBS', 'LIBFFT')
7172
self.variables.join('FFT_STATIC_LIBS', 'LIBFFT')
73+
self.variables.join('FFT_SHARED_LIBS_MT', 'LIBFFT_MT')
7274
self.variables.join('FFT_STATIC_LIBS_MT', 'LIBFFT_MT')
7375

7476
for root in self.get_software_root(self.FFT_MODULE_NAME):

easybuild/tools/toolchain/linalg.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,9 @@ def _set_blas_variables(self):
127127
self.variables.nappend('LIBBLAS', self.LIB_EXTRA, position=20)
128128
self.variables.nappend('LIBBLAS_MT', self.LIB_EXTRA, position=20)
129129

130+
self.variables.join('BLAS_SHARED_LIBS', 'LIBBLAS')
130131
self.variables.join('BLAS_STATIC_LIBS', 'LIBBLAS')
132+
self.variables.join('BLAS_MT_SHARED_LIBS', 'LIBBLAS_MT')
131133
self.variables.join('BLAS_MT_STATIC_LIBS', 'LIBBLAS_MT')
132134
for root in self.get_software_root(self.BLAS_MODULE_NAME):
133135
self.variables.append_exists('BLAS_LIB_DIR', root, self.BLAS_LIB_DIR)
@@ -147,7 +149,9 @@ def _set_lapack_variables(self):
147149
self.variables.join('LIBLAPACK_MT_ONLY', 'LIBBLAS_MT')
148150
self.variables.join('LIBLAPACK', 'LIBBLAS')
149151
self.variables.join('LIBLAPACK_MT', 'LIBBLAS_MT')
152+
self.variables.join('LAPACK_SHARED_LIBS', 'BLAS_SHARED_LIBS')
150153
self.variables.join('LAPACK_STATIC_LIBS', 'BLAS_STATIC_LIBS')
154+
self.variables.join('LAPACK_MT_SHARED_LIBS', 'BLAS_MT_SHARED_LIBS')
151155
self.variables.join('LAPACK_MT_STATIC_LIBS', 'BLAS_MT_STATIC_LIBS')
152156
self.variables.join('LAPACK_LIB_DIR', 'BLAS_LIB_DIR')
153157
self.variables.join('LAPACK_INC_DIR', 'BLAS_INC_DIR')
@@ -183,7 +187,9 @@ def _set_lapack_variables(self):
183187
self.variables.nappend('LIBLAPACK', self.LIB_EXTRA, position=20)
184188
self.variables.nappend('LIBLAPACK_MT', self.LIB_EXTRA, position=20)
185189

190+
self.variables.join('LAPACK_SHARED_LIBS', 'LIBLAPACK')
186191
self.variables.join('LAPACK_STATIC_LIBS', 'LIBLAPACK')
192+
self.variables.join('LAPACK_MT_SHARED_LIBS', 'LIBLAPACK_MT')
187193
self.variables.join('LAPACK_MT_STATIC_LIBS', 'LIBLAPACK_MT')
188194

189195
for root in self.get_software_root(self.LAPACK_MODULE_NAME):
@@ -192,7 +198,9 @@ def _set_lapack_variables(self):
192198

193199
self.variables.join('BLAS_LAPACK_LIB_DIR', 'LAPACK_LIB_DIR', 'BLAS_LIB_DIR')
194200
self.variables.join('BLAS_LAPACK_INC_DIR', 'LAPACK_INC_DIR', 'BLAS_INC_DIR')
201+
self.variables.join('BLAS_LAPACK_SHARED_LIBS', 'LAPACK_SHARED_LIBS', 'BLAS_SHARED_LIBS')
195202
self.variables.join('BLAS_LAPACK_STATIC_LIBS', 'LAPACK_STATIC_LIBS', 'BLAS_STATIC_LIBS')
203+
self.variables.join('BLAS_LAPACK_MT_SHARED_LIBS', 'LAPACK_MT_SHARED_LIBS', 'BLAS_MT_SHARED_LIBS')
196204
self.variables.join('BLAS_LAPACK_MT_STATIC_LIBS', 'LAPACK_MT_STATIC_LIBS', 'BLAS_MT_STATIC_LIBS')
197205

198206
# add general dependency variables
@@ -293,7 +301,9 @@ def _set_scalapack_variables(self):
293301
self.variables.nappend('LIBSCALAPACK', self.LIB_EXTRA, position=20)
294302
self.variables.nappend('LIBSCALAPACK_MT', self.LIB_EXTRA, position=20)
295303

304+
self.variables.join('SCALAPACK_SHARED_LIBS', 'LIBSCALAPACK')
296305
self.variables.join('SCALAPACK_STATIC_LIBS', 'LIBSCALAPACK')
306+
self.variables.join('SCALAPACK_MT_SHARED_LIBS', 'LIBSCALAPACK_MT')
297307
self.variables.join('SCALAPACK_MT_STATIC_LIBS', 'LIBSCALAPACK_MT')
298308
for root in self.get_software_root(self.SCALAPACK_MODULE_NAME):
299309
self.variables.append_exists('SCALAPACK_LIB_DIR', root, self.SCALAPACK_LIB_DIR)

easybuild/tools/toolchain/variables.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"""
3131

3232
from easybuild.tools.build_log import EasyBuildError
33+
from easybuild.tools.systemtools import get_shared_lib_ext
3334
from easybuild.tools.variables import StrList, AbsPathList
3435

3536

@@ -111,8 +112,16 @@ def change(self, separator=None, separator_begin_end=None, prefix=None, prefix_b
111112
self.END.PREFIX = prefix_begin_end
112113

113114

115+
class CommaSharedLibs(LibraryList):
116+
"""Comma-separated list of shared libraries"""
117+
SEPARATOR = ','
118+
119+
PREFIX = 'lib'
120+
SUFFIX = '.' + get_shared_lib_ext()
121+
122+
114123
class CommaStaticLibs(LibraryList):
115-
"""Comma-separated list"""
124+
"""Comma-separated list of static libraries"""
116125
SEPARATOR = ','
117126

118127
PREFIX = 'lib'

test/framework/toolchain.py

Lines changed: 106 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
from easybuild.tools.filetools import read_file, symlink, write_file, which
5252
from easybuild.tools.py2vs3 import string_type
5353
from easybuild.tools.run import run_cmd
54+
from easybuild.tools.systemtools import get_shared_lib_ext
5455
from easybuild.tools.toolchain.mpi import get_mpi_cmd_template
5556
from easybuild.tools.toolchain.toolchain import env_vars_external_module
5657
from easybuild.tools.toolchain.utilities import get_toolchain, search_toolchain
@@ -1448,11 +1449,15 @@ def test_old_new_iccifort(self):
14481449
self.setup_sandbox_for_intel_fftw(self.test_prefix, imklver='10.2.6.038')
14491450
self.modtool.prepend_module_path(self.test_prefix)
14501451

1452+
shlib_ext = get_shared_lib_ext()
1453+
14511454
# incl. -lguide
14521455
libblas_mt_intel3 = "-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core"
14531456
libblas_mt_intel3 += " -Wl,--end-group -Wl,-Bdynamic -liomp5 -lguide -lpthread"
14541457

14551458
# no -lguide
1459+
blas_static_libs_intel4 = 'libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a'
1460+
blas_shared_libs_intel4 = blas_static_libs_intel4.replace('.a', '.' + shlib_ext)
14561461
libblas_intel4 = "-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core"
14571462
libblas_intel4 += " -Wl,--end-group -Wl,-Bdynamic"
14581463
libblas_mt_intel4 = "-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core"
@@ -1469,18 +1474,83 @@ def test_old_new_iccifort(self):
14691474
libscalack_intel4 = "-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_intel_lp64 -lmkl_sequential "
14701475
libscalack_intel4 += "-lmkl_core"
14711476

1472-
libblas_mt_fosscuda = "-lopenblas -lgfortran -lpthread"
1477+
blas_static_libs_fosscuda = "libopenblas.a,libgfortran.a"
1478+
blas_shared_libs_fosscuda = blas_static_libs_fosscuda.replace('.a', '.' + shlib_ext)
1479+
blas_mt_static_libs_fosscuda = blas_static_libs_fosscuda + ",libpthread.a"
1480+
blas_mt_shared_libs_fosscuda = blas_mt_static_libs_fosscuda.replace('.a', '.' + shlib_ext)
1481+
libblas_fosscuda = "-lopenblas -lgfortran"
1482+
libblas_mt_fosscuda = libblas_fosscuda + " -lpthread"
1483+
1484+
fft_static_libs_fosscuda = "libfftw3.a"
1485+
fft_shared_libs_fosscuda = fft_static_libs_fosscuda.replace('.a', '.' + shlib_ext)
1486+
fft_mt_static_libs_fosscuda = "libfftw3.a,libpthread.a"
1487+
fft_mt_shared_libs_fosscuda = fft_mt_static_libs_fosscuda.replace('.a', '.' + shlib_ext)
1488+
fft_mt_static_libs_fosscuda_omp = "libfftw3_omp.a,libfftw3.a,libpthread.a"
1489+
fft_mt_shared_libs_fosscuda_omp = fft_mt_static_libs_fosscuda_omp.replace('.a', '.' + shlib_ext)
1490+
libfft_fosscuda = "-lfftw3"
1491+
libfft_mt_fosscuda = libfft_fosscuda + " -lpthread"
1492+
libfft_mt_fosscuda_omp = "-lfftw3_omp " + libfft_fosscuda + " -lpthread"
1493+
1494+
lapack_static_libs_fosscuda = "libopenblas.a,libgfortran.a"
1495+
lapack_shared_libs_fosscuda = lapack_static_libs_fosscuda.replace('.a', '.' + shlib_ext)
1496+
lapack_mt_static_libs_fosscuda = lapack_static_libs_fosscuda + ",libpthread.a"
1497+
lapack_mt_shared_libs_fosscuda = lapack_mt_static_libs_fosscuda.replace('.a', '.' + shlib_ext)
1498+
liblapack_fosscuda = "-lopenblas -lgfortran"
1499+
liblapack_mt_fosscuda = liblapack_fosscuda + " -lpthread"
1500+
14731501
libscalack_fosscuda = "-lscalapack -lopenblas -lgfortran"
1474-
libfft_mt_fosscuda = "-lfftw3_omp -lfftw3 -lpthread"
1502+
libscalack_mt_fosscuda = libscalack_fosscuda + " -lpthread"
1503+
scalapack_static_libs_fosscuda = "libscalapack.a,libopenblas.a,libgfortran.a"
1504+
scalapack_shared_libs_fosscuda = scalapack_static_libs_fosscuda.replace('.a', '.' + shlib_ext)
1505+
scalapack_mt_static_libs_fosscuda = "libscalapack.a,libopenblas.a,libgfortran.a,libpthread.a"
1506+
scalapack_mt_shared_libs_fosscuda = scalapack_mt_static_libs_fosscuda.replace('.a', '.' + shlib_ext)
14751507

14761508
tc = self.get_toolchain('fosscuda', version='2018a')
14771509
tc.prepare()
1510+
self.assertEqual(os.environ['BLAS_SHARED_LIBS'], blas_shared_libs_fosscuda)
1511+
self.assertEqual(os.environ['BLAS_STATIC_LIBS'], blas_static_libs_fosscuda)
1512+
self.assertEqual(os.environ['BLAS_MT_SHARED_LIBS'], blas_mt_shared_libs_fosscuda)
1513+
self.assertEqual(os.environ['BLAS_MT_STATIC_LIBS'], blas_mt_static_libs_fosscuda)
1514+
self.assertEqual(os.environ['LIBBLAS'], libblas_fosscuda)
14781515
self.assertEqual(os.environ['LIBBLAS_MT'], libblas_mt_fosscuda)
1516+
1517+
self.assertEqual(os.environ['LAPACK_SHARED_LIBS'], lapack_shared_libs_fosscuda)
1518+
self.assertEqual(os.environ['LAPACK_STATIC_LIBS'], lapack_static_libs_fosscuda)
1519+
self.assertEqual(os.environ['LAPACK_MT_SHARED_LIBS'], lapack_mt_shared_libs_fosscuda)
1520+
self.assertEqual(os.environ['LAPACK_MT_STATIC_LIBS'], lapack_mt_static_libs_fosscuda)
1521+
self.assertEqual(os.environ['LIBLAPACK'], liblapack_fosscuda)
1522+
self.assertEqual(os.environ['LIBLAPACK_MT'], liblapack_mt_fosscuda)
1523+
1524+
self.assertEqual(os.environ['BLAS_LAPACK_SHARED_LIBS'], blas_shared_libs_fosscuda)
1525+
self.assertEqual(os.environ['BLAS_LAPACK_STATIC_LIBS'], blas_static_libs_fosscuda)
1526+
self.assertEqual(os.environ['BLAS_LAPACK_MT_SHARED_LIBS'], blas_mt_shared_libs_fosscuda)
1527+
self.assertEqual(os.environ['BLAS_LAPACK_MT_STATIC_LIBS'], blas_mt_static_libs_fosscuda)
1528+
1529+
self.assertEqual(os.environ['FFT_SHARED_LIBS'], fft_shared_libs_fosscuda)
1530+
self.assertEqual(os.environ['FFT_STATIC_LIBS'], fft_static_libs_fosscuda)
1531+
self.assertEqual(os.environ['FFT_SHARED_LIBS_MT'], fft_mt_shared_libs_fosscuda)
1532+
self.assertEqual(os.environ['FFT_STATIC_LIBS_MT'], fft_mt_static_libs_fosscuda)
1533+
self.assertEqual(os.environ['FFTW_SHARED_LIBS'], fft_shared_libs_fosscuda)
1534+
self.assertEqual(os.environ['FFTW_STATIC_LIBS'], fft_static_libs_fosscuda)
1535+
self.assertEqual(os.environ['FFTW_SHARED_LIBS_MT'], fft_mt_shared_libs_fosscuda)
1536+
self.assertEqual(os.environ['FFTW_STATIC_LIBS_MT'], fft_mt_static_libs_fosscuda)
1537+
self.assertEqual(os.environ['LIBFFT'], libfft_fosscuda)
1538+
self.assertEqual(os.environ['LIBFFT_MT'], libfft_mt_fosscuda)
1539+
14791540
self.assertEqual(os.environ['LIBSCALAPACK'], libscalack_fosscuda)
1541+
self.assertEqual(os.environ['LIBSCALAPACK_MT'], libscalack_mt_fosscuda)
1542+
self.assertEqual(os.environ['SCALAPACK_SHARED_LIBS'], scalapack_shared_libs_fosscuda)
1543+
self.assertEqual(os.environ['SCALAPACK_STATIC_LIBS'], scalapack_static_libs_fosscuda)
1544+
self.assertEqual(os.environ['SCALAPACK_MT_SHARED_LIBS'], scalapack_mt_shared_libs_fosscuda)
1545+
self.assertEqual(os.environ['SCALAPACK_MT_STATIC_LIBS'], scalapack_mt_static_libs_fosscuda)
14801546
self.modtool.purge()
14811547

14821548
tc = self.get_toolchain('intel', version='2018a')
14831549
tc.prepare()
1550+
self.assertEqual(os.environ.get('BLAS_SHARED_LIBS', "(not set)"), blas_shared_libs_intel4)
1551+
self.assertEqual(os.environ.get('BLAS_STATIC_LIBS', "(not set)"), blas_static_libs_intel4)
1552+
self.assertEqual(os.environ.get('LAPACK_SHARED_LIBS', "(not set)"), blas_shared_libs_intel4)
1553+
self.assertEqual(os.environ.get('LAPACK_STATIC_LIBS', "(not set)"), blas_static_libs_intel4)
14841554
self.assertEqual(os.environ.get('LIBBLAS', "(not set)"), libblas_intel4)
14851555
self.assertEqual(os.environ.get('LIBBLAS_MT', "(not set)"), libblas_mt_intel4)
14861556
self.assertEqual(os.environ.get('LIBFFT', "(not set)"), libfft_intel4)
@@ -1517,9 +1587,42 @@ def test_old_new_iccifort(self):
15171587
tc = self.get_toolchain('fosscuda', version='2018a')
15181588
tc.set_options({'openmp': True})
15191589
tc.prepare()
1590+
self.assertEqual(os.environ['BLAS_SHARED_LIBS'], blas_shared_libs_fosscuda)
1591+
self.assertEqual(os.environ['BLAS_STATIC_LIBS'], blas_static_libs_fosscuda)
1592+
self.assertEqual(os.environ['BLAS_MT_SHARED_LIBS'], blas_mt_shared_libs_fosscuda)
1593+
self.assertEqual(os.environ['BLAS_MT_STATIC_LIBS'], blas_mt_static_libs_fosscuda)
1594+
self.assertEqual(os.environ['LIBBLAS'], libblas_fosscuda)
15201595
self.assertEqual(os.environ['LIBBLAS_MT'], libblas_mt_fosscuda)
1521-
self.assertEqual(os.environ['LIBFFT_MT'], libfft_mt_fosscuda)
1596+
1597+
self.assertEqual(os.environ['LAPACK_SHARED_LIBS'], lapack_shared_libs_fosscuda)
1598+
self.assertEqual(os.environ['LAPACK_STATIC_LIBS'], lapack_static_libs_fosscuda)
1599+
self.assertEqual(os.environ['LAPACK_MT_SHARED_LIBS'], lapack_mt_shared_libs_fosscuda)
1600+
self.assertEqual(os.environ['LAPACK_MT_STATIC_LIBS'], lapack_mt_static_libs_fosscuda)
1601+
self.assertEqual(os.environ['LIBLAPACK'], liblapack_fosscuda)
1602+
self.assertEqual(os.environ['LIBLAPACK_MT'], liblapack_mt_fosscuda)
1603+
1604+
self.assertEqual(os.environ['BLAS_LAPACK_SHARED_LIBS'], blas_shared_libs_fosscuda)
1605+
self.assertEqual(os.environ['BLAS_LAPACK_STATIC_LIBS'], blas_static_libs_fosscuda)
1606+
self.assertEqual(os.environ['BLAS_LAPACK_MT_SHARED_LIBS'], blas_mt_shared_libs_fosscuda)
1607+
self.assertEqual(os.environ['BLAS_LAPACK_MT_STATIC_LIBS'], blas_mt_static_libs_fosscuda)
1608+
1609+
self.assertEqual(os.environ['FFT_SHARED_LIBS'], fft_shared_libs_fosscuda)
1610+
self.assertEqual(os.environ['FFT_STATIC_LIBS'], fft_static_libs_fosscuda)
1611+
self.assertEqual(os.environ['FFT_SHARED_LIBS_MT'], fft_mt_shared_libs_fosscuda_omp)
1612+
self.assertEqual(os.environ['FFT_STATIC_LIBS_MT'], fft_mt_static_libs_fosscuda_omp)
1613+
self.assertEqual(os.environ['FFTW_SHARED_LIBS'], fft_shared_libs_fosscuda)
1614+
self.assertEqual(os.environ['FFTW_STATIC_LIBS'], fft_static_libs_fosscuda)
1615+
self.assertEqual(os.environ['FFTW_SHARED_LIBS_MT'], fft_mt_shared_libs_fosscuda_omp)
1616+
self.assertEqual(os.environ['FFTW_STATIC_LIBS_MT'], fft_mt_static_libs_fosscuda_omp)
1617+
self.assertEqual(os.environ['LIBFFT'], libfft_fosscuda)
1618+
self.assertEqual(os.environ['LIBFFT_MT'], libfft_mt_fosscuda_omp)
1619+
15221620
self.assertEqual(os.environ['LIBSCALAPACK'], libscalack_fosscuda)
1621+
self.assertEqual(os.environ['LIBSCALAPACK_MT'], libscalack_mt_fosscuda)
1622+
self.assertEqual(os.environ['SCALAPACK_SHARED_LIBS'], scalapack_shared_libs_fosscuda)
1623+
self.assertEqual(os.environ['SCALAPACK_STATIC_LIBS'], scalapack_static_libs_fosscuda)
1624+
self.assertEqual(os.environ['SCALAPACK_MT_SHARED_LIBS'], scalapack_mt_shared_libs_fosscuda)
1625+
self.assertEqual(os.environ['SCALAPACK_MT_STATIC_LIBS'], scalapack_mt_static_libs_fosscuda)
15231626

15241627
def test_standalone_iccifort(self):
15251628
"""Test whether standalone installation of iccifort matches the iccifort toolchain definition."""

0 commit comments

Comments
 (0)