summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--adk/config/Makefile4
-rw-r--r--mk/build.mk8
-rw-r--r--mk/vars.mk4
-rwxr-xr-xscripts/bulk-toolchain.sh30
-rw-r--r--scripts/scan-tools.sh2
5 files changed, 39 insertions, 9 deletions
diff --git a/adk/config/Makefile b/adk/config/Makefile
index d1d8ac73a..1c17f800c 100644
--- a/adk/config/Makefile
+++ b/adk/config/Makefile
@@ -6,11 +6,11 @@ include ${ADK_TOPDIR}/rules.mk
endif
CP=cp -fpR
-HOST_CFLAGS:=-DKBUILD_NO_NLS -O0 -g0 -w
+HOST_CFLAGS:=-DKBUILD_NO_NLS -O0 -g0 -w -static-libgcc
all: ncurses conf mconf
-LIBS= -lncurses
+LIBS= -lncurses -ltinfo
ifeq (/usr/include/ncurses/ncurses.h, $(wildcard /usr/include/ncurses/ncurses.h))
HOST_CFLAGS+= -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"
else
diff --git a/mk/build.mk b/mk/build.mk
index 72652c144..dcaf643ab 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -305,7 +305,7 @@ ifeq ($(filter-out distclean,${MAKECMDGOALS}),)
include ${ADK_TOPDIR}/mk/vars.mk
else
include $(ADK_TOPDIR)/prereq.mk
-export HOST_CC BASH MAKE LANGUAGE LC_ALL OStype PATH QEMU SHELL
+export HOST_CC HOST_CXX BASH MAKE LANGUAGE LC_ALL OStype PATH QEMU SHELL
endif
all: menuconfig
@@ -509,13 +509,13 @@ buildall:
$(GMAKE) VERBOSE=1 all 2>&1 | tee firmware/buildall.log
$(ADK_TOPDIR)/adk/tools/pkgmaker: $(ADK_TOPDIR)/adk/tools/pkgmaker.c $(ADK_TOPDIR)/adk/tools/sortfile.c $(ADK_TOPDIR)/adk/tools/strmap.c
- @$(HOST_CC) $(HOST_CFLAGS) -o $@ adk/tools/pkgmaker.c adk/tools/sortfile.c adk/tools/strmap.c
+ @$(HOST_CC) -O0 -g0 -static-libgcc -o $@ adk/tools/pkgmaker.c adk/tools/sortfile.c adk/tools/strmap.c
$(ADK_TOPDIR)/adk/tools/pkgrebuild: $(ADK_TOPDIR)/adk/tools/pkgrebuild.c $(ADK_TOPDIR)/adk/tools/strmap.c
- @$(HOST_CC) $(HOST_CFLAGS) -o $@ adk/tools/pkgrebuild.c adk/tools/strmap.c
+ @$(HOST_CC) -O0 -g0 -static-libgcc -o $@ adk/tools/pkgrebuild.c adk/tools/strmap.c
$(ADK_TOPDIR)/adk/tools/depmaker: $(ADK_TOPDIR)/adk/tools/depmaker.c
- @$(HOST_CC) $(HOST_CFLAGS) -o $@ $(ADK_TOPDIR)/adk/tools/depmaker.c
+ @$(HOST_CC) -O0 -g0 -static-libgcc -o $@ $(ADK_TOPDIR)/adk/tools/depmaker.c
menu .menu: $(wildcard package/*/Makefile) $(wildcard target/*/systems) $(wildcard target/*/systems/*) $(ADK_TOPDIR)/adk/tools/pkgmaker $(ADK_TOPDIR)/adk/tools/pkgrebuild $(wildcard target/*/collections)
@echo "Generating menu structure ..."
diff --git a/mk/vars.mk b/mk/vars.mk
index 128164da0..da79804a5 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -185,8 +185,8 @@ endif
# host compiler and linker flags
HOST_CPPFLAGS:= -I$(STAGING_HOST_DIR)/usr/include
-HOST_CFLAGS:= -O0 -g0
-HOST_CXXFLAGS:= -O0 -g0
+HOST_CFLAGS:= -O0 -g0 -static-libgcc
+HOST_CXXFLAGS:= -O0 -g0 -static-libgcc
HOST_LDFLAGS:= -L$(STAGING_HOST_DIR)/usr/lib -Wl,-rpath -Wl,${STAGING_HOST_DIR}/usr/lib
PATCH= PATH=${HOST_PATH} ${BASH} $(SCRIPT_DIR)/patch.sh
diff --git a/scripts/bulk-toolchain.sh b/scripts/bulk-toolchain.sh
new file mode 100755
index 000000000..ba087c24f
--- /dev/null
+++ b/scripts/bulk-toolchain.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+if [ ! -z $1 ];then
+ c=$1
+else
+ c="uclibc-ng glibc musl uclibc"
+fi
+
+for libc in $c; do
+ for arch in $(cat toolchain/$libc/arch.lst);do
+ echo "Cleaning old stuff"
+ make cleandir
+ echo "Building $libc for $arch"
+ DEFAULT="VERBOSE=1 ADK_TARGET_ARCH=$arch ADK_TARGET_SYSTEM=toolchain-$arch ADK_TARGET_LIBC=$libc"
+ case $arch in
+ mips|microblaze|sh)
+ for endian in little big;do
+ make $DEFAULT ADK_TARGET_ENDIAN=$endian defconfig all
+ done
+ ;;
+ *)
+ make $DEFAULT defconfig all
+ ;;
+ esac
+ if [ $? -ne 0 ];then
+ echo "build failed"
+ exit 1
+ fi
+ done
+done
diff --git a/scripts/scan-tools.sh b/scripts/scan-tools.sh
index 03d5c845f..988c9cceb 100644
--- a/scripts/scan-tools.sh
+++ b/scripts/scan-tools.sh
@@ -82,7 +82,7 @@ include ${ADK_TOPDIR}/prereq.mk
all: run-test
test: test.c
- ${HOST_CC} -o $@ $^ ${LDADD}
+ ${HOST_CC} -static-libgcc -o $@ $^ ${LDADD}
run-test: test
./test