Commit Graph

12 Commits

Author SHA1 Message Date
Aleix Roca Nonell
c4d5135fde Split openmp versions in separate derivations
The openmp derivation provides both libomp and libompv. To avoid
accidentally linking with the wrong library and to avoid the nosv
dependency on libomp, this patch separates each version in a different
derivation.

Also, it adapts the clang wrappers and stdenvs to provide an stdenv per
openmp library where each openmp will be used by default when the
compiler flag "-fopenmp" is used. This eases linking ompv with nixpkgs
libraries, such as blis, that expect openmp to be provided with stdenv.

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-12-07 18:01:20 +01:00
Aleix Roca Nonell
3f2b9a766b Update clang with internal bug release
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-12-07 18:01:08 +01:00
Raúl Peñacoba
8ceaddfea7 Split OpenMP from Clang in LLVM
As the OpenMP-V implementation requires to be built with nOS-V, we can
split the OpenMP package in a different derivation to prevent rebuilds
of clang. Additionally, as OpenMP-V now can be build alongside the
vanilla OpenMP runtime, we simply build a single openmp derivation with
both runtimes. Only a single build of the clang compiler is now
required.

Reviewed-by: Aleix Roca Nonell <aleix.rocanonell@bsc.es>
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-12-01 16:31:56 +01:00
Aleix Roca Nonell
af590d5ace Clang 2023.11 update
Clang nos-v-merge branch has been merged into master.

Reviewed-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-11-24 16:47:02 +01:00
Rodrigo Arias Mallo
3f17a489ef Fix clang build adding rpath to libstdc++
The binaries generated during the build process of clang are missing the
RPATH of the libstdc++.so library, which is provided by gcc libs.
Similarly, the clang binary itself also needs the rpath to the
libstdc++.so library path.

Reviewed-by: Aleix Roca Nonell <aleix.rocanonell@bsc.es>
2023-11-22 15:38:28 +01:00
Aleix Roca Nonell
f0f6b7c354 Enable dontStrip on clang if enableDebug is set
Reviewed-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-11-15 16:22:13 +01:00
Aleix Roca Nonell
0086b9452a Fix llvm postInstall
Some llvm versions do not generate the intel and gomp support libraries
and the post install script fails because it cannot remove them. This
patch makes removal optional.

Reviewed-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-11-15 16:21:47 +01:00
Aleix Roca Nonell
4111b22f57 Fix clang link flag typo
Reviewed-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-11-14 17:09:23 +01:00
Raúl Peñacoba
85c70a8d6b Always enable assertions in OmpSs-2 LLVM
There are important assertions for OmpSs-2 to catch early bugs. Building
without asserts enabled causes warnings due to unused variables.

Reviewed-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-11-09 16:57:37 +01:00
Aleix Roca Nonell
bb1de835f7 Add clang with nosv-powered OpenMP
Reviewed-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-10-31 16:52:55 +01:00
Aleix Roca Nonell
ebeb2ff549 Set NOSV_HOME for clang wrapped with nodes
This is needed since nosv must appear as a 1rst level dependency on the
final executable. Clang will add the dependency as long as it knows
where to find nosv (and nodes is used).

Reviewed-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-10-31 16:52:55 +01:00
Rodrigo Arias Mallo
916e4f49a6 Move packages from bsc/ to pkgs/ 2023-10-02 10:57:53 +02:00