]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
After r346168, also merge build infrastructure for LLVM libomp.
authordim <dim@FreeBSD.org>
Wed, 17 Apr 2019 20:16:48 +0000 (20:16 +0000)
committerdim <dim@FreeBSD.org>
Wed, 17 Apr 2019 20:16:48 +0000 (20:16 +0000)
commit90d714cf7db643223d620900d88ec67f002ae11c
tree8a859e924a5d1db2251dc0b12f1b35e161b60047
parent8f971373dae398fca255a133ef53325f99b23372
After r346168, also merge build infrastructure for LLVM libomp.

MFC r345235:

Add lib/libomp, with a Makefile, and generated configuration headers.
Not connected to the main build yet, as there is still the issue of the
GNU omp.h header conflicting with the LLVM one.  (That is, if MK_GCC is
enabled.)

PR: 236062

MFC r345236:

Connect lib/libomp to the build.

* Set MK_OPENMP to yes by default only on amd64, for now.
* Bump __FreeBSD_version to signal this addition.
* Ensure gcc's conflicting omp.h is not installed if MK_OPENMP is yes.
* Update OptionalObsoleteFiles.inc to cope with the conflicting omp.h.
* Regenerate src.conf(5) with new WITH/WITHOUT fragments.

Relnotes: yes
PR: 236062

MFC r345242:

Explicitly link libomp.so against -lpthread, as it depends on pthread
functionality.  This should make example OpenMP programs work out of the
box.

Reported by: jbeich
PR: 236062, 236581

MFC r345278:

Also explicitly link libomp.so against -lm, as it transitively depends
on scalbn and a few other math functions, via libcompiler-rt.  This
should allow OpenMP programs to link with BFD linkers too.

Reported by: jbeich
PR: 236062, 236581

MFC r345282:

Remove --as-needed from the linker flags for libomp.so, as these
actually prevent the transitive dependency on libm.

Reported by: jbeich
PR: 236062, 236581

MFC r345291:

Turn on MK_OPENMP for i386 by default, now that it can build.

Noticed by: jbeich
PR: 236062, 236582
12 files changed:
gnu/lib/Makefile
lib/libomp/Makefile [new file with mode: 0644]
lib/libomp/kmp_config.h [new file with mode: 0644]
lib/libomp/kmp_i18n_default.inc [new file with mode: 0644]
lib/libomp/kmp_i18n_id.inc [new file with mode: 0644]
lib/libomp/omp-tools.h [new file with mode: 0644]
lib/libomp/omp.h [new file with mode: 0644]
share/man/man5/src.conf.5
share/mk/src.opts.mk
tools/build/mk/OptionalObsoleteFiles.inc
tools/build/options/WITHOUT_OPENMP [new file with mode: 0644]
tools/build/options/WITH_OPENMP [new file with mode: 0644]