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
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 41529
Build 38418: arc lint + arc unit

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