Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions eb_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -717,26 +717,26 @@ def post_prepare_hook_highway_handle_test_compilation_issues(self, *args, **kwar
update_build_option('optarch', self.orig_optarch)


def pre_prepare_hook_llvm15_a64fx(self, *args, **kwargs):
def pre_prepare_hook_llvm_a64fx(self, *args, **kwargs):
"""
Solve issues with compiling LLVM 15.0.5 on A64FX by changing the optarch build option.
Solve issues with compiling LLVM 14 and 15 on A64FX by changing the optarch build option.
Rust 1.65.0 also includes LLVM 15, so we do the same for that application.
cfr. https://github.com/EESSI/software-layer/issues/1213
"""
cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR')
if cpu_target == CPU_TARGET_A64FX:
if (self.name == 'LLVM' and self.version == '15.0.5') or (self.name == 'Rust' and self.version == '1.65.0'):
if (self.name == 'LLVM' and self.version in ['14.0.6', '15.0.5']) or (self.name == 'Rust' and self.version == '1.65.0'):
self.orig_optarch = build_option('optarch')
update_build_option('optarch', 'march=armv8.2-a')


def post_prepare_hook_llvm15_a64fx(self, *args, **kwargs):
def post_prepare_hook_llvm_a64fx(self, *args, **kwargs):
"""
Post-prepare hook for LLVM 15 to reset optarch build option.
Post-prepare hook for LLVM 14 and 15 on A64FX to reset optarch build option.
"""
cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR')
if cpu_target == CPU_TARGET_A64FX:
if (self.name == 'LLVM' and self.version == '15.0.5') or (self.name == 'Rust' and self.version == '1.65.0'):
if (self.name == 'LLVM' and self.version in ['14.0.6', '15.0.5']) or (self.name == 'Rust' and self.version == '1.65.0'):
update_build_option('optarch', self.orig_optarch)


Expand Down Expand Up @@ -1620,15 +1620,15 @@ def post_easyblock_hook(self, *args, **kwargs):

PRE_PREPARE_HOOKS = {
'Highway': pre_prepare_hook_highway_handle_test_compilation_issues,
'LLVM': pre_prepare_hook_llvm15_a64fx,
'Rust': pre_prepare_hook_llvm15_a64fx,
'LLVM': pre_prepare_hook_llvm_a64fx,
'Rust': pre_prepare_hook_llvm_a64fx,
}

POST_PREPARE_HOOKS = {
'GCCcore': post_prepare_hook_gcc_prefixed_ld_rpath_wrapper,
'Highway': post_prepare_hook_highway_handle_test_compilation_issues,
'LLVM': post_prepare_hook_llvm15_a64fx,
'Rust': post_prepare_hook_llvm15_a64fx,
'LLVM': post_prepare_hook_llvm_a64fx,
'Rust': post_prepare_hook_llvm_a64fx,
}

PRE_CONFIGURE_HOOKS = {
Expand Down