Page MenuHomeFreeBSD

Remove compiler:openmp from Mk/Uses/compiler.mk
ClosedPublic

Authored by fernape on Sep 15 2021, 4:41 PM.
Tags
None
Referenced Files
F102969917: D31971.diff
Tue, Nov 19, 8:21 AM
Unknown Object (File)
Tue, Nov 12, 4:39 AM
Unknown Object (File)
Tue, Nov 12, 2:01 AM
Unknown Object (File)
Fri, Oct 25, 8:24 AM
Unknown Object (File)
Oct 4 2024, 4:07 AM
Unknown Object (File)
Oct 4 2024, 1:30 AM
Unknown Object (File)
Oct 3 2024, 7:06 PM
Unknown Object (File)
Oct 3 2024, 12:30 PM
Subscribers

Details

Summary

Remove compiler:openmp from ports framework.

The option implied a dependency on gcc but clang got openmp support long ago.

For ports using USE=compiler:openmp, just remove the option and make them build with
clang.

Fix conditionals when necessary.

Bump PORTREVISION where appropriate

Test Plan

I removed the option and adjusted Makefiles for all ports with
USES=compiler:openmp. All of them built fine in {11.4,12.2}{amd64,i386} and
13.0amd64:

archivers/pxz/Makefile
archivers/rpm4/Makefile
biology/pooler/Makefile
biology/seqan-apps/Makefile
cad/calculix-ccx/Makefile
graphics/ImageMagick6/Makefile
graphics/ImageMagick7/Makefile
graphics/aaphoto/Makefile
math/hmat-oss/Makefile
math/librsb/Makefile
math/py-theano/Makefile
math/tmv/Makefile
math/viennacl/Makefile

For ports using openmp as an option:

audio/soundtouch
biology/bolt-lmm
graphics/ImageMagick6
graphics/ImageMagick7
graphics/colmap
graphics/inkscape
graphics/libmypaint
graphics/libraw
graphics/mypaint
graphics/pfstools
graphics/shotwell
lang/gcc10
math/ceres-solver
math/fftw3
math/metis
math/metis
math/polymake
ports-mgmt/pkg
security/john
sysutils/b2sum/

Enable option and build in 13.0. All of them built fine.

Unfortunately I can only test in amd64 and i386 and a proper exp-run shuld be
run.

If any runtime issues are detected, including USE_GCC=yes will suffice to
restore previous behavior.

This review should be paired with another one for the Porter's Handbook removing
mentions to that option. I can work on that.

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Sep 29 2021, 1:58 PM

Thanks for the review!

I'll update the PHB if nothing arises.

Note that there's no OpenMP with clang on armv7. It's a bit weird to take this out because now way more ports will fail to build on armv7. Would have been better to make compiler:openmp only chose gcc on architectures where LLVM doesn't implement OpenMP.

In D31971#728590, @fuz_fuz.su wrote:

Note that there's no OpenMP with clang on armv7. It's a bit weird to take this out because now way more ports will fail to build on armv7. Would have been better to make compiler:openmp only chose gcc on architectures where LLVM doesn't implement OpenMP.

Well, yes I think it would have been better. Unfortunately the change is already landed.

For ports failing this way, we could add USE_GCC depending on the ARCH. In CURRENT with clang 12.0, at least we should have full OpenMP 4.5 support in Aarch64.

name