From: Gustavo Zacarias Date: Mon, 2 May 2011 18:16:41 +0000 (-0300) Subject: toolchain/gcc: add openmp support option X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0073143087989caf4e4406a9ee3c80097684c9f3;p=buildroot.git 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 Signed-off-by: Peter Korsgaard --- diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index fcdcc198cf..437b86bb7d 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -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 diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk index 568aa1a84e..9b8bf685cc 100644 --- a/toolchain/gcc/gcc-uclibc-4.x.mk +++ b/toolchain/gcc/gcc-uclibc-4.x.mk @@ -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 \