summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--adk/config/Makefile2
-rw-r--r--mk/build.mk6
-rw-r--r--mk/vars.mk2
-rw-r--r--scripts/scan-tools.sh23
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.