summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-04-11 16:06:46 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-04-11 16:06:46 +0000
commitcf191d929dc5b33c3bd103c77c7820ce50c42a9d (patch)
tree8689429d1a37dc9da384c0430fe58d585d840384
parent4bfeacbc85d68e78b70bca8bcde2fb7f7ba81586 (diff)
[buildroot] rules.mk: properly populate $(LIBGCC_S) for external toolchains
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26593 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--rules.mk5
1 files changed, 5 insertions, 0 deletions
diff --git a/rules.mk b/rules.mk
index a3516a57a..7be2d6195 100644
--- a/rules.mk
+++ b/rules.mk
@@ -110,7 +110,12 @@ TARGET_PATH:=$(STAGING_DIR_HOST)/bin:$(PATH)
TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3)
TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include
TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib
+ifneq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
+LIBGCC_S_PATH=$(realpath $(wildcard $(call qstrip,$(CONFIG_LIBGCC_ROOT_DIR))/$(call qstrip,$(CONFIG_LIBGCC_FILE_SPEC))))
+LIBGCC_S=$(if $(LIBGCC_S_PATH),-L$(dir $(LIBGCC_S_PATH)) -lgcc_s)
+else
LIBGCC_S=$(if $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so),-L$(TOOLCHAIN_DIR)/lib -lgcc_s,$(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.a))
+endif
ifdef CONFIG_USE_UCLIBC
LIBRPC=-lrpc
endif