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.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Gustavo Zacarias 2011-05-02 15:16:41 -03:00 committed by Peter Korsgaard
parent 0a2af382bb
commit 0073143087
2 changed files with 22 additions and 1 deletions

View File

@ -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

View File

@ -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 \
@ -469,6 +478,11 @@ ifeq ($(BR2_INSTALL_LIBGCJ),y)
cp -dpf $(HOST_DIR)/usr/lib/security/classpath.security \
$(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 \