From a14f10e8825fd25e0615095feaa548b1938fffac Mon Sep 17 00:00:00 2001 From: Karol Krizka Date: Thu, 26 Dec 2024 15:44:08 +0100 Subject: [PATCH] openloops: Fix configuration of cmodel setting for gfortran (#48288) * openloops: Add cmodel to user config file to override setting added in 2.1.2. * openloops: Change cmodel from small to large following author recommendation. --- var/spack/repos/builtin/packages/openloops/package.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/openloops/package.py b/var/spack/repos/builtin/packages/openloops/package.py index 97510a2c685..e0be6694e19 100644 --- a/var/spack/repos/builtin/packages/openloops/package.py +++ b/var/spack/repos/builtin/packages/openloops/package.py @@ -274,12 +274,16 @@ def configure(self, spec, prefix): f.write("fortran_compiler = {0}\n".format(env["SPACK_FC"])) if self.spec.satisfies("@1.3.1") and not is_intel: f.write("gfortran_f_flags = -ffree-line-length-none\n") - if self.spec.satisfies("@2.1.1:") and not is_intel: + if self.spec.satisfies("@2.1.1") and not is_intel: f.write("gfortran_f_flags = -ffree-line-length-none " + "-fdollar-ok ") if self.spec.target.family == "aarch64": - f.write("-mcmodel=small\n") + f.write("-mcmodel=large\n") else: f.write("-mcmodel=medium\n") + if self.spec.satisfies("@2.1.2:") and not is_intel: + f.write("gfortran_f_flags = -ffree-line-length-none " + "-fdollar-ok\n") + if self.spec.target.family == "aarch64": + f.write("cmodel = large\n") if self.spec.satisfies("@:1 processes=lcg.coll"): copy(join_path(os.path.dirname(__file__), "sft1.coll"), "lcg.coll")