Ver Fonte

Merge branch 'master' of git+ssh://openadk.org/git/openadk

Waldemar Brodkorb há 9 anos atrás
pai
commit
cde74d4ade
4 ficheiros alterados com 19 adições e 14 exclusões
  1. 2 0
      adk/config/Makefile
  2. 3 3
      mk/build.mk
  3. 0 2
      mk/vars.mk
  4. 14 9
      scripts/scan-tools.sh

+ 2 - 0
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

+ 3 - 3
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 ..."

+ 0 - 2
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

+ 14 - 9
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.