summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/busybox/Makefile6
-rw-r--r--package/cfgfs/Makefile2
-rw-r--r--package/dropbear/Makefile3
-rw-r--r--package/musl/Config.in.manual1
-rw-r--r--target/config/Config.in7
5 files changed, 18 insertions, 1 deletions
diff --git a/package/busybox/Makefile b/package/busybox/Makefile
index b9476be3e..4d751a2b1 100644
--- a/package/busybox/Makefile
+++ b/package/busybox/Makefile
@@ -38,7 +38,11 @@ BB_MAKE_FLAGS:= V=1 IPKG_ARCH="${CPU_ARCH}" ARCH="${ARCH}" GCC_HONOUR_COPTS=s \
HOSTCC="${CC_FOR_BUILD}" HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" \
-C ${WRKBUILD}
ifneq (${ADK_NATIVE},y)
-BB_MAKE_FLAGS+= CROSS_COMPILE="$(TARGET_CROSS)" EXTRA_LDFLAGS="-static-libgcc"
+ifeq ($(ADK_TARGET_LIB_STATIC_LIBGCC),y)
+BB_MAKE_FLAGS+= CROSS_COMPILE="$(TARGET_CROSS)" EXTRA_LDFLAGS='-static-libgcc'
+else
+BB_MAKE_FLAGS+= CROSS_COMPILE="$(TARGET_CROSS)"
+endif
else
BB_MAKE_FLAGS+= EXTRA_LDFLAGS="-static-libgcc"
endif
diff --git a/package/cfgfs/Makefile b/package/cfgfs/Makefile
index 159bd229b..5c902fc1e 100644
--- a/package/cfgfs/Makefile
+++ b/package/cfgfs/Makefile
@@ -26,7 +26,9 @@ $(eval $(call PKG_template,CFGFS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG
CONFIG_STYLE:= manual
INSTALL_STYLE:= manual
+ifeq ($(ADK_TARGET_LIB_STATIC_LIBGCC),y)
TARGET_LDFLAGS+= -static-libgcc
+endif
do-install:
${INSTALL_DIR} ${IDIR_CFGFS}/sbin
diff --git a/package/dropbear/Makefile b/package/dropbear/Makefile
index 69eb5ff5d..08a0743d3 100644
--- a/package/dropbear/Makefile
+++ b/package/dropbear/Makefile
@@ -32,7 +32,9 @@ ifeq ($(ADK_STATIC),y)
TARGET_LDFLAGS+= -static
endif
+ifeq ($(ADK_TARGET_LIB_STATIC_LIBGCC),y)
TARGET_LDFLAGS+= -static-libgcc
+endif
BUILD_STYLE:= manual
INSTALL_STYLE:= manual
CONFIGURE_ARGS+= --disable-pam \
@@ -52,6 +54,7 @@ else
CONFIGURE_ENV+= conf_utmp_location=/var/run/utmp
endif
+
pre-configure:
$(SED) 's,^/\* #define PKG_MULTI.*,#define PKG_MULTI,g' $(WRKBUILD)/options.h
$(SED) 's,^#define DO_HOST_LOOKUP,/* & */,g' $(WRKBUILD)/options.h
diff --git a/package/musl/Config.in.manual b/package/musl/Config.in.manual
index 19f590e61..a3881c1e8 100644
--- a/package/musl/Config.in.manual
+++ b/package/musl/Config.in.manual
@@ -4,6 +4,7 @@ config ADK_PACKAGE_MUSL
default y if ADK_TARGET_LIB_MUSL && !ADK_TOOLCHAIN_ONLY
default n
depends on ADK_TARGET_LIB_MUSL
+ select ADK_PACKAGE_LIBGCC
help
Embedded C library.
diff --git a/target/config/Config.in b/target/config/Config.in
index a14ef5b7a..fc5c8d94a 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -564,6 +564,9 @@ config ADK_musl
config ADK_libc
boolean
+config ADK_TARGET_LIB_STATIC_LIBGCC
+ boolean
+
config ADK_TARGET_LIBC
string
default "uclibc" if ADK_uclibc
@@ -585,6 +588,7 @@ config ADK_TARGET_LIB_UCLIBC
!ADK_LINUX_SPARC64 && \
!ADK_LINUX_PPC64 && \
!ADK_LINUX_NATIVE
+ select ADK_TARGET_LIB_STATIC_LIBGCC
help
http://uclibc.org
@@ -605,6 +609,7 @@ config ADK_TARGET_LIB_EGLIBC
ADK_LINUX_SPARC64 || \
ADK_LINUX_X86 || \
ADK_LINUX_X86_64
+ select ADK_TARGET_LIB_STATIC_LIBGCC
help
http://www.eglibc.org
@@ -625,6 +630,7 @@ config ADK_TARGET_LIB_GLIBC
ADK_LINUX_SPARC64 || \
ADK_LINUX_X86 || \
ADK_LINUX_X86_64
+ select ADK_TARGET_LIB_STATIC_LIBGCC
help
http://www.gnu.org/libc
@@ -646,6 +652,7 @@ config ADK_TARGET_LIB_LIBC
prompt "Native C library"
boolean
select ADK_libc
+ select ADK_TARGET_LIB_STATIC_LIBGCC
depends on ADK_LINUX_NATIVE
endchoice