From 77fc0c2c2eea2b2e331a0d1d6440f6dc6077dc59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCdepohl?= <lorenz.huedepohl@rzg.mpg.de> Date: Wed, 23 Oct 2019 12:01:12 +0200 Subject: [PATCH] Support 'latest_gcc', 'latest_intel' meta compilers --- mpcdf_common.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mpcdf_common.py b/mpcdf_common.py index b1144b0..c7f2032 100644 --- a/mpcdf_common.py +++ b/mpcdf_common.py @@ -294,6 +294,13 @@ def mpcdf_enable_repositories(api_url, project, package, verbose=False, filter_r default_mpis = try_get_attribute(None, "default_mpi") default_cudas = try_get_attribute(None, "default_cuda") + def sort_key(string): + name, *version = string.split("_") + return (name,) + tuple(map(int, version)) + + latest_intel = sorted((c for c in all_compilers if c.startswith("intel")), key=sort_key)[-1] + latest_gcc = sorted((c for c in all_compilers if c.startswith("gcc")), key=sort_key)[-1] + def enable(name): if any(filtered_repo in name for filtered_repo in filter_repos): return @@ -305,7 +312,7 @@ def mpcdf_enable_repositories(api_url, project, package, verbose=False, filter_r print("Enabling", name) def actual_compilers(): - for compiler in (c for c in compilers if c in all_compilers + ["default_compiler", "intel", "gcc"]): + for compiler in (c for c in compilers if c in all_compilers + ["default_compiler", "intel", "gcc", "latest_intel", "latest_gcc"]): if compiler == "intel": for intel_compiler in [cc for cc in all_compilers if cc.startswith("intel")]: yield intel_compiler @@ -315,6 +322,10 @@ def mpcdf_enable_repositories(api_url, project, package, verbose=False, filter_r elif compiler == "default_compiler": for default_compiler in default_compilers: yield default_compiler + elif compiler == "latest_intel": + yield latest_intel + elif compiler == "latest_gcc": + yield latest_gcc else: yield compiler -- GitLab