eospac: add patch to fix selection of compiler flags (#21626)
Patch eospac's Makefile.-linux-gnu.hashes to consider only `$(notdir $(F90))` when constructing a key to look up compiler flags in the _F90-CPUINFO_COMP_FLAGS associative array. This patch was accepted into eospac itself after the release of 6.4.2beta, so apply it only to 6.4.2beta and earlier releases.
This commit is contained in:
parent
f346db83ac
commit
821769c95e
2 changed files with 26 additions and 0 deletions
|
@ -0,0 +1,23 @@
|
|||
--- a/Source/config/Makefile.-linux-gnu.hashes 2019-10-12 12:16:17.000000000 -0600
|
||||
+++ b/Source/config/Makefile.-linux-gnu.hashes 2020-09-25 15:14:45.990734000 -0600
|
||||
@@ -267,9 +267,9 @@
|
||||
ifneq ($(strip $(CPUFLAGS)),)
|
||||
|
||||
KEYLIST = $(call keys,_F90-CPUINFO_COMP_FLAGS)
|
||||
- MYKEYS = $(addprefix $(F90)-$(_F90_MAJOR_VERSION)-,$(CPUFLAGS))
|
||||
+ MYKEYS = $(addprefix $(notdir $(F90))-$(_F90_MAJOR_VERSION)-,$(CPUFLAGS))
|
||||
SHORTCUT = $(filter $(MYKEYS),$(KEYLIST))
|
||||
- OTHER = $(subst $(F90)-$(_F90_MAJOR_VERSION)-,,$(filter-out $(SHORTCUT),$(MYKEYS)))
|
||||
+ OTHER = $(subst $(notdir $(F90))-$(_F90_MAJOR_VERSION)-,,$(filter-out $(SHORTCUT),$(MYKEYS)))
|
||||
# $(warning CPUFLAGS : "$(CPUFLAGS)")
|
||||
# $(warning KEYLIST : $(KEYLIST))
|
||||
# $(warning MYKEYS : $(MYKEYS))
|
||||
@@ -284,7 +284,7 @@
|
||||
|
||||
ifeq ($(ALT_SUBDIR_Key1),craype-mic-knl)
|
||||
# define the default _CPUINFO_FLAGS for the craype-mic-knl
|
||||
- _CPUINFO_FLAGS += $(call get,_F90-CPUINFO_COMP_FLAGS,$(F90)-$(_F90_MAJOR_VERSION)-knl)
|
||||
+ _CPUINFO_FLAGS += $(call get,_F90-CPUINFO_COMP_FLAGS,$(notdir $(F90))-$(_F90_MAJOR_VERSION)-knl)
|
||||
else
|
||||
# define the default _CPUINFO_FLAGS
|
||||
_CPUINFO_FLAGS += $(call get,_F90-CPUINFO_COMP_FLAGS,$(notdir $(F90)-$(_F90_MAJOR_VERSION)-$(lastword $(_SUPPORTED_CPUINFO_FLAGS))))
|
|
@ -46,6 +46,9 @@ class Eospac(Package):
|
|||
# This patch allows the use of spack's compile wrapper 'flang'
|
||||
patch('flang.patch', when='@:6.4.0beta.2%clang')
|
||||
patch('frt.patch', when='%fj')
|
||||
# This patch corrects EOSPAC's selection of compiler flags when
|
||||
# compilers are specified using absolute pathnames.
|
||||
patch('cpuinfo_comp_flags_key.patch', when='@:6.4.1,6.4.2beta')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('Source'):
|
||||
|
|
Loading…
Reference in a new issue