summaryrefslogtreecommitdiffstats
path: root/package/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'package/gcc')
-rw-r--r--package/gcc/gcc-final/gcc-final.mk29
1 files changed, 24 insertions, 5 deletions
diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk
index 622dcf2c72..44b956196a 100644
--- a/package/gcc/gcc-final/gcc-final.mk
+++ b/package/gcc/gcc-final/gcc-final.mk
@@ -35,7 +35,7 @@ define HOST_GCC_FINAL_CONFIGURE_CMDS
./configure \
--prefix="$(HOST_DIR)/usr" \
--sysconfdir="$(HOST_DIR)/etc" \
- --enable-shared --enable-static \
+ --enable-static \
$(QUIET) $(HOST_GCC_FINAL_CONF_OPT) \
)
endef
@@ -54,6 +54,13 @@ HOST_GCC_FINAL_CONF_OPT = \
$(DISABLE_LARGEFILE) \
--with-build-time-tools=$(HOST_DIR)/usr/$(GNU_TARGET_NAME)/bin
+# Disable shared libs like libstdc++ if we do static since it confuses linking
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+HOST_GCC_FINAL_CONF_OPT += --disable-shared
+else
+HOST_GCC_FINAL_CONF_OPT += --enable-shared
+endif
+
ifeq ($(BR2_GCC_ENABLE_OPENMP),y)
HOST_GCC_FINAL_CONF_OPT += --enable-libgomp
else
@@ -141,17 +148,29 @@ endif
endif
ifneq ($(HOST_GCC_FINAL_USR_LIBS),)
-define HOST_GCC_FINAL_INSTALL_USR_LIBS
- mkdir -p $(TARGET_DIR)/usr/lib
+define HOST_GCC_FINAL_INSTALL_STATIC_LIBS
for i in $(HOST_GCC_FINAL_USR_LIBS) ; do \
- cp -dpf $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib*/$${i}.so* \
- $(STAGING_DIR)/usr/lib/ ; \
cp -dpf $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib*/$${i}.a \
$(STAGING_DIR)/usr/lib/ ; \
+ done
+endef
+
+ifeq ($(BR2_PREFER_STATIC_LIB),)
+define HOST_GCC_FINAL_INSTALL_SHARED_LIBS
+ for i in $(HOST_GCC_FINAL_USR_LIBS) ; do \
+ cp -dpf $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib*/$${i}.so* \
+ $(STAGING_DIR)/usr/lib/ ; \
cp -dpf $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib*/$${i}.so* \
$(TARGET_DIR)/usr/lib/ ; \
done
endef
+endif
+
+define HOST_GCC_FINAL_INSTALL_USR_LIBS
+ mkdir -p $(TARGET_DIR)/usr/lib
+ $(HOST_GCC_FINAL_INSTALL_STATIC_LIBS)
+ $(HOST_GCC_FINAL_INSTALL_SHARED_LIBS)
+endef
HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_INSTALL_USR_LIBS
endif
OpenPOWER on IntegriCloud