@@ -57,15 +57,18 @@ def __init__(self, *args, **kwargs):
57
57
# comparing subversions that include letters causes TypeErrors in Python 3
58
58
# 'a' is assumed to be equivalent with '.01' (January), and 'b' with '.07' (June)
59
59
# (good enough for this purpose)
60
- self .iimpi_ver = LooseVersion (self .version .replace ('a' , '.01' ).replace ('b' , '.07' ))
61
- if self .iimpi_ver >= LooseVersion ('2020.12' ):
60
+ self .iimpi_ver = self .version .replace ('a' , '.01' ).replace ('b' , '.07' )
61
+ if LooseVersion (self .iimpi_ver ) >= LooseVersion ('2020.12' ):
62
+ self .oneapi_gen = True
62
63
self .SUBTOOLCHAIN = IntelCompilersToolchain .NAME
63
64
self .COMPILER_MODULE_NAME = IntelCompilersToolchain .COMPILER_MODULE_NAME
64
65
else :
66
+ self .oneapi_gen = False
65
67
self .SUBTOOLCHAIN = IccIfort .NAME
66
68
self .COMPILER_MODULE_NAME = IccIfort .COMPILER_MODULE_NAME
67
69
else :
68
70
self .iimpi_ver = self .version
71
+ self .oneapi_gen = False
69
72
70
73
def is_deprecated (self ):
71
74
"""Return whether or not this toolchain is deprecated."""
@@ -74,34 +77,35 @@ def is_deprecated(self):
74
77
75
78
# make sure a non-symbolic version (e.g., 'system') is used before making comparisons using LooseVersion
76
79
if re .match ('^[0-9]' , str (self .iimpi_ver )):
80
+ loosever = LooseVersion (self .iimpi_ver )
77
81
# iimpi toolchains older than iimpi/2016.01 are deprecated
78
82
# iimpi 8.1.5 is an exception, since it used in intel/2016a (which is not deprecated yet)
79
- if self . iimpi_ver < LooseVersion ('8.0' ):
83
+ if loosever < LooseVersion ('8.0' ):
80
84
deprecated = True
81
- elif self . iimpi_ver > LooseVersion ('2000' ) and self . iimpi_ver < LooseVersion ('2016.01' ):
85
+ elif loosever > LooseVersion ('2000' ) and loosever < LooseVersion ('2016.01' ):
82
86
deprecated = True
83
87
84
88
return deprecated
85
89
86
90
def is_dep_in_toolchain_module (self , * args , ** kwargs ):
87
91
"""Check whether a specific software name is listed as a dependency in the module for this toolchain."""
88
- if re .match ('^[0-9]' , str (self .iimpi_ver )) and self .iimpi_ver < LooseVersion ('2020.12' ):
89
- res = IccIfort .is_dep_in_toolchain_module (self , * args , ** kwargs )
90
- else :
92
+ if self .oneapi_gen :
91
93
res = IntelCompilersToolchain .is_dep_in_toolchain_module (self , * args , ** kwargs )
94
+ else :
95
+ res = IccIfort .is_dep_in_toolchain_module (self , * args , ** kwargs )
92
96
93
97
return res
94
98
95
99
def _set_compiler_vars (self ):
96
100
"""Intel compilers-specific adjustments after setting compiler variables."""
97
- if re .match ('^[0-9]' , str (self .iimpi_ver )) and self .iimpi_ver < LooseVersion ('2020.12' ):
98
- IccIfort ._set_compiler_vars (self )
99
- else :
101
+ if self .oneapi_gen :
100
102
IntelCompilersToolchain ._set_compiler_vars (self )
103
+ else :
104
+ IccIfort ._set_compiler_vars (self )
101
105
102
106
def set_variables (self ):
103
107
"""Intel compilers-specific adjustments after setting compiler variables."""
104
- if re .match ('^[0-9]' , str (self .iimpi_ver )) and self .iimpi_ver < LooseVersion ('2020.12' ):
105
- IccIfort .set_variables (self )
106
- else :
108
+ if self .oneapi_gen :
107
109
IntelCompilersToolchain .set_variables (self )
110
+ else :
111
+ IccIfort .set_variables (self )
0 commit comments