Compare commits

..

2 Commits

Author SHA1 Message Date
169ec60e71 Fix C runtime objects path
Some gcc versions append an extension to the patch version number, but
this extension is not part of the installation path. This patch removes
the extension to the patch version.
2025-05-28 15:11:25 +02:00
b72fef45ff Remove dangling ompv symlink 2025-05-28 15:03:22 +02:00

View File

@ -9,12 +9,14 @@
, ompss2rt ? null
}:
with lib;
let
usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes");
sameNosv = openmp.nosv == ompss2rt.nosv;
in
assert lib.assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V";
assert assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V";
let
homevar = if ompss2rt.pname == "nanos6" then "NANOS6_HOME" else "NODES_HOME";
@ -34,11 +36,11 @@ let
targetConfig = stdenv.targetPlatform.config;
inherit gcc;
cc = clangOmpss2Unwrapped;
gccVersion = lib.strings.concatStringsSep "." [(lib.versions.major gcc.version) (lib.versions.minor gcc.version) (lib.versions.patch gcc.version)];
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
in wrapCCWith {
inherit cc bintools;
# extraPackages adds packages to depsTargetTargetPropagated
extraPackages = lib.optional (openmp != null) openmp;
extraPackages = optional (openmp != null) openmp;
extraBuildCommands = ''
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-cflags
@ -56,12 +58,12 @@ in wrapCCWith {
wrap clang++ $wrapper $ccPath/clang++
'' + lib.optionalString (openmp != null) ''
'' + optionalString (openmp != null) ''
echo "export OPENMP_RUNTIME=${ompname}" >> $out/nix-support/cc-wrapper-hook
'' + lib.optionalString (ompss2rt != null) ''
'' + optionalString (ompss2rt != null) ''
echo "export OMPSS2_RUNTIME=${rtname}" >> $out/nix-support/cc-wrapper-hook
echo "export ${homevar}=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
'' + lib.optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
'' + optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
echo "export NOSV_HOME=${ompss2rt.nosv}" >> $out/nix-support/cc-wrapper-hook
'';
}