Skip to contentSkip to conversation

toolchain/gcc: add openmp support option

PATCH New Gustavo Zacarias 2 participants 2 messages May 2, 2011

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 toolchain/gcc: add openmp support option

Add OpenMP support in gcc as an option instead of dynamically enabling it when threads are present.
Also fix it up since we never installed libgomp to the target or staging thus it was never really functional.

---
 toolchain/gcc/Config.in         |    6 ++++++
 toolchain/gcc/gcc-uclibc-4.x.mk |   17 ++++++++++++++++-
 2 files changed, 22 insertions(+), 1 deletions(-)
toolchain/gcc/Config.in +6 -0
index fcdcc19..437b86b 100644
@@ -109,3 +109,9 @@ config BR2_GCC_ENABLE_TLS
 	help
 	  Enable the compiler to generate code for accessing
 	  thread local storage variables
+
+config BR2_GCC_ENABLE_OPENMP
+	bool "Enable compiler OpenMP support"
+	depends on !BR2_PTHREADS_NONE && !BR2_avr32
+	help
+	  Enable OpenMP support for the compiler
toolchain/gcc/gcc-uclibc-4.x.mk +16 -1
index 568aa1a..9b8bf68 100644
@@ -147,6 +147,12 @@ else
 GCC_SHARED_LIBGCC:=--disable-shared
 endif
 
+ifeq ($(BR2_GCC_ENABLE_OPENMP),y)
+GCC_ENABLE_OPENMP:=--enable-libgomp
+else
+GCC_ENABLE_OPENMP:=--disable-libgomp
+endif
+
 ifeq ($(BR2_GCC_ENABLE_TLS),y)
 GCC_TLS:=--enable-tls
 else
@@ -154,7 +160,7 @@ GCC_TLS:=--disable-tls
 endif
 
 ifeq ($(BR2_PTHREADS_NONE),y)
-THREADS:=--disable-threads --disable-libgomp
+THREADS:=--disable-threads
 else
 THREADS:=--enable-threads
 endif
@@ -234,6 +240,7 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched
 		--disable-__cxa_atexit \
 		$(GCC_OPTSPACE) \
 		$(GCC_QUADMATH) \
+		$(GCC_ENABLE_OPENMP) \
 		--with-gnu-ld \
 		--disable-shared \
 		--disable-libssp \
@@ -301,6 +308,7 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched
 		--disable-__cxa_atexit \
 		$(GCC_OPTSPACE) \
 		$(GCC_QUADMATH) \
+		$(GCC_ENABLE_OPENMP) \
 		--with-gnu-ld \
 		--enable-shared \
 		--disable-libssp \
@@ -379,6 +387,7 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_SRC_DIR)/.patched $(GCC_STAGING_PREREQ)
 		--disable-__cxa_atexit \
 		$(GCC_OPTSPACE) \
 		$(GCC_QUADMATH) \
+		$(GCC_ENABLE_OPENMP) \
 		--with-gnu-ld \
 		--disable-libssp \
 		--disable-multilib \
@@ -470,6 +479,11 @@ ifeq ($(BR2_INSTALL_LIBGCJ),y)
 		$(TARGET_DIR)/usr/lib/security/
 	-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgcj.so*
 endif
+ifeq ($(BR2_GCC_ENABLE_OPENMP),y)
+	cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgomp.so* $(STAGING_DIR)/usr/lib/
+	cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgomp.so* $(TARGET_DIR)/usr/lib/
+	-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgomp.so*
+endif
 	mkdir -p $(@D)
 	touch $@
 
@@ -523,6 +537,7 @@ $(GCC_BUILD_DIR4)/.configured: $(GCC_BUILD_DIR4)/.prepared
 		--disable-__cxa_atexit \
 		$(GCC_OPTSPACE) \
 		$(GCC_QUADMATH) \
+		$(GCC_ENABLE_OPENMP) \
 		--with-gnu-ld \
 		--disable-libssp \
 		--disable-multilib \
Signature · 1 line
1.7.3.4
#1 lore raw

PATCH v2 1/1 toolchain/gcc: add openmp support option

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Gustavo" == Gustavo Zacarias <[email protected]> writes:

Gustavo> Add OpenMP support in gcc as an option instead of dynamically Gustavo> enabling it when threads are present. Also fix it up since we Gustavo> never installed libgomp to the target or staging thus it was Gustavo> never really functional.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard