diff options
-rw-r--r-- | adk/config/Makefile | 2 | ||||
-rw-r--r-- | mk/build.mk | 6 | ||||
-rw-r--r-- | mk/vars.mk | 2 | ||||
-rw-r--r-- | scripts/scan-tools.sh | 23 |
4 files changed, 19 insertions, 14 deletions
diff --git a/adk/config/Makefile b/adk/config/Makefile index b6c253f18..989dbeee8 100644 --- a/adk/config/Makefile +++ b/adk/config/Makefile @@ -1,6 +1,8 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. +include ${ADK_TOPDIR}/prereq.mk + ifneq ($(filter-out clean,${MAKECMDGOALS}),) include ${ADK_TOPDIR}/rules.mk endif diff --git a/mk/build.mk b/mk/build.mk index 992a967cf..8bec78bb9 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -561,13 +561,13 @@ buildall: $(GMAKE) ADK_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) -O0 -g0 -o $@ adk/tools/pkgmaker.c adk/tools/sortfile.c adk/tools/strmap.c + @$(HOST_CC) $(HOST_CFLAGS) -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) -O0 -g0 -o $@ adk/tools/pkgrebuild.c adk/tools/strmap.c + @$(HOST_CC) $(HOST_CFLAGS) -o $@ adk/tools/pkgrebuild.c adk/tools/strmap.c $(ADK_TOPDIR)/adk/tools/depmaker: $(ADK_TOPDIR)/adk/tools/depmaker.c - @$(HOST_CC) -O0 -g0 -o $@ $(ADK_TOPDIR)/adk/tools/depmaker.c + @$(HOST_CC) $(HOST_CFLAGS) -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/appliances/*) @echo "Generating menu structure ..." diff --git a/mk/vars.mk b/mk/vars.mk index e73cdc698..3dc51948a 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -280,8 +280,6 @@ endif # host compiler and linker flags HOST_CPPFLAGS:= -I$(STAGING_HOST_DIR)/usr/include -HOST_CFLAGS:= -O0 -g0 -HOST_CXXFLAGS:= -O0 -g0 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/scan-tools.sh b/scripts/scan-tools.sh index 1afdb6c64..7c0e89cea 100644 --- a/scripts/scan-tools.sh +++ b/scripts/scan-tools.sh @@ -5,7 +5,6 @@ shopt -s extglob topdir=$(pwd) opath=$PATH out=0 -clang=0 if [[ $NO_ERROR != @(0|1) ]]; then echo Please do not invoke this script directly! @@ -61,7 +60,6 @@ OpenBSD) fi ;; Darwin*) - clang=1 ;; *) # unsupported @@ -79,16 +77,12 @@ else makecmd=$(which gmake 2>/dev/null ) fi -if [ $clang -ne 1 ];then -HCFLAGS=-static-libgcc -fi - cat >Makefile <<'EOF' include ${ADK_TOPDIR}/prereq.mk all: run-test test: test.c - ${HOST_CC} $(HCFLAGS) -o $@ $^ ${LDADD} + ${HOST_CC} ${HOST_CFLAGS} -o $@ $^ ${LDADD} run-test: test ./test @@ -102,7 +96,18 @@ cat >test.c <<-'EOF' return (0); } EOF -X=$($makecmd ADK_TOPDIR=$topdir 2>&1) +X=$($makecmd ADK_TOPDIR=$topdir LDADD=-lgcc 2>&1) +if [[ $X != *@(Native compiler works)* ]]; then + echo Cannot compile with shared libgcc use static one. + HOST_CFLAGS=-static-libgcc + echo "HOST_CFLAGS:=-O0 -g0 -static-libgcc" >> $topdir/prereq.mk + echo "HOST_CXXFLAGS:=-O0 -g0 -static-libgcc" >> $topdir/prereq.mk +else + echo "HOST_CFLAGS:=-O0 -g0" >> $topdir/prereq.mk + echo "HOST_CXXFLAGS:=-O0 -g0" >> $topdir/prereq.mk +fi + +X=$($makecmd ADK_TOPDIR=$topdir HOST_CFLAGS=${HOST_CFLAGS} 2>&1) if [[ $X != *@(Native compiler works)* ]]; then echo "$X" | sed 's/^/| /' echo Cannot compile a simple test programme. @@ -154,7 +159,7 @@ cat >test.c <<-'EOF' } EOF X=$(echo 'Yay! Native compiler works.' | gzip | \ - $makecmd ADK_TOPDIR=$topdir LDADD=-lz 2>&1) + $makecmd ADK_TOPDIR=$topdir LDADD=-lz HOST_CFLAGS=${HOST_CFLAGS} 2>&1) if [[ $X != *@(Native compiler works)* ]]; then echo "$X" | sed 's/^/| /' echo Cannot compile a libz test programm. |