]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
After r346168, also merge build infrastructure for LLVM libomp.
authorDimitry Andric <dim@FreeBSD.org>
Wed, 17 Apr 2019 20:08:01 +0000 (20:08 +0000)
committerDimitry Andric <dim@FreeBSD.org>
Wed, 17 Apr 2019 20:08:01 +0000 (20:08 +0000)
commitbdc0c74bffa4b69cc27b538c31e491eb9f852ad5
tree62e4df121d1eca54aaf94e8b0226176130a00926
parentd3aca40d70cd589cf6e66b385ea689a7db4908e0
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]