* [Buildroot] [PATCH 0/2] Add OpenMP support for custom external toolchains
@ 2019-03-28 18:48 Ed Blake
2019-03-28 18:48 ` [Buildroot] [PATCH 1/2] toolchain-external: introduce BR2_TOOLCHAIN_EXTERNAL_OPENMP Ed Blake
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Ed Blake @ 2019-03-28 18:48 UTC (permalink / raw)
To: buildroot
This patchset adds OpenMP support for custom external toolchains. The first
patch adds a new 'BR2_TOOLCHAIN_EXTERNAL_OPENMP' option for custom external
toolchains to enable OpenMP support, and the second patch adds a check that
the toolchain has OpenMP support.
Ed Blake (2):
toolchain-external: introduce BR2_TOOLCHAIN_EXTERNAL_OPENMP
toolchain-external: add a check for OpenMP support
toolchain/helpers.mk | 18 ++++++++++++++++++
.../pkg-toolchain-external.mk | 3 +++
.../Config.in.options | 8 ++++++++
3 files changed, 29 insertions(+)
--
2.17.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 2/2] toolchain-external: add a check for OpenMP support
2019-03-28 18:48 [Buildroot] [PATCH 0/2] Add OpenMP support for custom external toolchains Ed Blake
2019-03-28 18:48 ` [Buildroot] [PATCH 1/2] toolchain-external: introduce BR2_TOOLCHAIN_EXTERNAL_OPENMP Ed Blake
@ 2019-03-28 18:48 ` Ed Blake
2019-03-28 18:53 ` [Buildroot] [PATCH 0/2] Add OpenMP support for custom external toolchains Thomas Petazzoni
2 siblings, 0 replies; 4+ messages in thread
From: Ed Blake @ 2019-03-28 18:48 UTC (permalink / raw)
To: buildroot
Signed-off-by: Ed Blake <ed.blake@sondrel.com>
---
toolchain/helpers.mk | 18 ++++++++++++++++++
.../pkg-toolchain-external.mk | 3 +++
2 files changed, 21 insertions(+)
diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
index e5520c00c3..03355f56dd 100644
--- a/toolchain/helpers.mk
+++ b/toolchain/helpers.mk
@@ -359,6 +359,24 @@ check_fortran = \
fi ; \
rm -f $${__o}* \
+#
+#
+# Check that the external toolchain supports OpenMP
+#
+# $1: cross-gcc path
+#
+check_openmp = \
+ __CROSS_CC=$(strip $1) ; \
+ __o=$(BUILD_DIR)/.br-toolchain-test-openmp.tmp ; \
+ printf '\#include <omp.h>\nint main(void) { return omp_get_thread_num(); }' | \
+ $${__CROSS_CC} -fopenmp -x c -o $${__o} - ; \
+ if test $$? -ne 0 ; then \
+ rm -f $${__o}* ; \
+ echo "OpenMP support is selected but is not available in external toolchain"; \
+ exit 1 ; \
+ fi ; \
+ rm -f $${__o}* \
+
#
# Check that the cross-compiler given in the configuration exists
#
diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk
index 747837fdc6..baf719ad1f 100644
--- a/toolchain/toolchain-external/pkg-toolchain-external.mk
+++ b/toolchain/toolchain-external/pkg-toolchain-external.mk
@@ -545,6 +545,9 @@ define $(2)_CONFIGURE_CMDS
if test "$$(BR2_TOOLCHAIN_HAS_FORTRAN)" = "y" ; then \
$$(call check_fortran,$$(TOOLCHAIN_EXTERNAL_FC)) ; \
fi ; \
+ if test "$$(BR2_TOOLCHAIN_HAS_OPENMP)" = "y" ; then \
+ $$(call check_openmp,$$(TOOLCHAIN_EXTERNAL_CC)) ; \
+ fi ; \
if test "$$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)" = "y" ; then \
$$(call check_uclibc,$$$${SYSROOT_DIR}) ; \
elif test "$$(BR2_TOOLCHAIN_EXTERNAL_MUSL)" = "y" ; then \
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 1/2] toolchain-external: introduce BR2_TOOLCHAIN_EXTERNAL_OPENMP
2019-03-28 18:48 [Buildroot] [PATCH 0/2] Add OpenMP support for custom external toolchains Ed Blake
@ 2019-03-28 18:48 ` Ed Blake
2019-03-28 18:48 ` [Buildroot] [PATCH 2/2] toolchain-external: add a check for OpenMP support Ed Blake
2019-03-28 18:53 ` [Buildroot] [PATCH 0/2] Add OpenMP support for custom external toolchains Thomas Petazzoni
2 siblings, 0 replies; 4+ messages in thread
From: Ed Blake @ 2019-03-28 18:48 UTC (permalink / raw)
To: buildroot
Add a new option for custom external toolchains to enable OpenMP
support.
Signed-off-by: Ed Blake <ed.blake@sondrel.com>
---
.../toolchain-external-custom/Config.in.options | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
index 08a79ee4d9..74e445d625 100644
--- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
+++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
@@ -421,6 +421,14 @@ config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
support. If you don't know, leave the default value,
Buildroot will tell you if it's correct or not.
+config BR2_TOOLCHAIN_EXTERNAL_OPENMP
+ bool "Toolchain has OpenMP support?"
+ select BR2_TOOLCHAIN_HAS_OPENMP
+ help
+ Select this option if your external toolchain has OpenMP
+ support. If you don't know, leave the default value,
+ Buildroot will tell you if it's correct or not.
+
config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
string "Extra toolchain libraries to be copied to target"
help
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 0/2] Add OpenMP support for custom external toolchains
2019-03-28 18:48 [Buildroot] [PATCH 0/2] Add OpenMP support for custom external toolchains Ed Blake
2019-03-28 18:48 ` [Buildroot] [PATCH 1/2] toolchain-external: introduce BR2_TOOLCHAIN_EXTERNAL_OPENMP Ed Blake
2019-03-28 18:48 ` [Buildroot] [PATCH 2/2] toolchain-external: add a check for OpenMP support Ed Blake
@ 2019-03-28 18:53 ` Thomas Petazzoni
2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2019-03-28 18:53 UTC (permalink / raw)
To: buildroot
On Thu, 28 Mar 2019 18:48:14 +0000
Ed Blake <ed.blake@sondrel.com> wrote:
> Ed Blake (2):
> toolchain-external: introduce BR2_TOOLCHAIN_EXTERNAL_OPENMP
> toolchain-external: add a check for OpenMP support
Thanks, applied!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-03-28 18:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-28 18:48 [Buildroot] [PATCH 0/2] Add OpenMP support for custom external toolchains Ed Blake
2019-03-28 18:48 ` [Buildroot] [PATCH 1/2] toolchain-external: introduce BR2_TOOLCHAIN_EXTERNAL_OPENMP Ed Blake
2019-03-28 18:48 ` [Buildroot] [PATCH 2/2] toolchain-external: add a check for OpenMP support Ed Blake
2019-03-28 18:53 ` [Buildroot] [PATCH 0/2] Add OpenMP support for custom external toolchains Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.