svn commit: trunk/buildroot/toolchain: binutils dependancies

andersen at uclibc.org andersen at uclibc.org
Tue May 2 21:35:59 UTC 2006


Author: andersen
Date: 2006-05-02 14:35:55 -0700 (Tue, 02 May 2006)
New Revision: 14979

Log:
Add some finer grained dependancy checking.  Check that
make >= 3.80 is installed, check that at least gcc 2.95
is installed.  Other dependancy will be added as needed.


Added:
   trunk/buildroot/toolchain/dependancies/
   trunk/buildroot/toolchain/dependancies/dependancies.mk
   trunk/buildroot/toolchain/dependancies/dependancies.sh

Modified:
   trunk/buildroot/toolchain/binutils/binutils.mk


Changeset:
Modified: trunk/buildroot/toolchain/binutils/binutils.mk
===================================================================
--- trunk/buildroot/toolchain/binutils/binutils.mk	2006-05-02 19:46:52 UTC (rev 14978)
+++ trunk/buildroot/toolchain/binutils/binutils.mk	2006-05-02 21:35:55 UTC (rev 14979)
@@ -73,26 +73,8 @@
 $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR1)/binutils/objdump
 	$(MAKE) -C $(BINUTILS_DIR1) install
 
-binutils-dependancies:
-	@if ! which which > /dev/null ; then \
-		echo -e "\n\nYou must install 'which' on your build machine\n"; \
-		exit 1; \
-	fi;
-	@if ! which bison > /dev/null ; then \
-		echo -e "\n\nYou must install 'bison' on your build machine\n"; \
-		exit 1; \
-	fi;
-	@if ! which flex > /dev/null ; then \
-		echo -e "\n\nYou must install 'flex' on your build machine\n"; \
-		exit 1; \
-	fi;
-	@if ! which msgfmt > /dev/null ; then \
-		echo -e "\n\nYou must install 'gettext' on your build machine\n"; \
-		exit 1; \
-	fi;
+binutils: dependancies $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/bin/ld
 
-binutils: binutils-dependancies $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/bin/ld
-
 binutils-source: $(DL_DIR)/$(BINUTILS_SOURCE)
 
 binutils-clean:

Added: trunk/buildroot/toolchain/dependancies/dependancies.mk
===================================================================
--- trunk/buildroot/toolchain/dependancies/dependancies.mk	2006-05-02 19:46:52 UTC (rev 14978)
+++ trunk/buildroot/toolchain/dependancies/dependancies.mk	2006-05-02 21:35:55 UTC (rev 14979)
@@ -0,0 +1,25 @@
+######################################################################
+#
+# Check buildroot dependancies and bail out if the user's
+# system is judged to be lacking....
+#
+######################################################################
+
+dependancies:
+	$(TOPDIR)/toolchain/dependancies/dependancies.sh
+
+dependancies-source:
+
+dependancies-clean:
+	rm -f $(SSTRIP_TARGET)
+
+dependancies-dirclean:
+	true
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+# unconditionally include this one...
+TARGETS+=dependancies

Added: trunk/buildroot/toolchain/dependancies/dependancies.sh
===================================================================
--- trunk/buildroot/toolchain/dependancies/dependancies.sh	2006-05-02 19:46:52 UTC (rev 14978)
+++ trunk/buildroot/toolchain/dependancies/dependancies.sh	2006-05-02 21:35:55 UTC (rev 14979)
@@ -0,0 +1,129 @@
+#!/bin/sh
+
+set -e
+#set -x
+
+echo "Checking build system dependancies:"
+echo ""
+
+
+#############################################################
+#
+# check build system 'make'
+#
+#############################################################
+MAKE=$(which make)
+if [ -z "$MAKE" ] ; then
+	echo "make installed:		    FALSE"
+	echo -e "\n\nYou must install 'make' on your build machine\n";
+	exit 1;
+fi;
+MAKE_VERSION=$($MAKE --version 2>&1 | head -n1 | sed -e 's/^.* \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g')
+if [ -z "$MAKE_VERSION" ] ; then
+	echo "make installed:		    FALSE"
+	echo -e "\n\nYou must install 'make' on your build machine\n";
+	exit 1;
+fi;
+MAKE_MAJOR=$(echo $MAKE_VERSION | sed -e "s/\..*//g")
+MAKE_MINOR=$(echo $MAKE_VERSION | sed -e "s/^$MAKE_MAJOR\.//g" -e "s/\..*//g")
+if [ $MAKE_MAJOR -lt 3 -o $MAKE_MAJOR -eq 3 -a $MAKE_MINOR -lt 8 ] ; then
+	echo "You have make '$MAKE_VERSION' installed.  GNU make >=3.80 is required"
+	exit 1;
+fi;
+echo "GNU make version '$MAKE_VERSION':	    Ok"
+
+
+
+#############################################################
+#
+# check build system 'gcc'
+#
+#############################################################
+COMPILER=$(which gcc)
+if [ -z "$COMPILER" ] ; then
+	COMPILER=$(which cc)
+	if [ -z "$COMPILER" ] ; then
+		echo "gcc installed:		    FALSE"
+		echo -e "\n\nYou must install 'gcc' on your build machine\n";
+		exit 1;
+	fi;
+fi;
+COMPILER_VERSION=$($COMPILER --version 2>&1 | head -n1 | sed -e 's/^.* \([0-9\.]\)/\1/g' -e "s/[-\ ].*//g")
+if [ -z "$COMPILER_VERSION" ] ; then
+	echo "gcc installed:		    FALSE"
+	echo -e "\n\nYou must install 'gcc' on your build machine\n";
+	exit 1;
+fi;
+COMPILER_MAJOR=$(echo $COMPILER_VERSION | sed -e "s/\..*//g")
+COMPILER_MINOR=$(echo $COMPILER_VERSION | sed -e "s/^$COMPILER_MAJOR\.//g" -e "s/\..*//g")
+if [ $COMPILER_MAJOR -lt 3 -o $COMPILER_MAJOR -eq 2 -a $COMPILER_MINOR -lt 95 ] ; then
+	echo "You have gcc '$COMPILER_VERSION' installed.  gcc >= 2.95 is required"
+	exit 1;
+fi;
+echo "gcc version '$COMPILER_VERSION':		    Ok"
+
+
+
+
+#############################################################
+#
+# check build system 'which'
+#
+#############################################################
+if ! which which > /dev/null ; then
+	echo "which installed:		    FALSE"
+	echo -e "\n\nYou must install 'which' on your build machine\n";
+	exit 1;
+fi;
+echo "which installed:		    Ok"
+
+
+#############################################################
+#
+# check build system 'bison'
+#
+#############################################################
+if ! which bison > /dev/null ; then
+	echo "bison installed:		    FALSE"
+	echo -e "\n\nYou must install 'bison' on your build machine\n";
+	exit 1;
+fi;
+echo "bison installed:		    Ok"
+
+
+#############################################################
+#
+# check build system 'flex'
+#
+#############################################################
+if ! which flex > /dev/null ; then
+	echo "flex installed:		    FALSE"
+	echo -e "\n\nYou must install 'flex' on your build machine\n";
+	exit 1;
+fi;
+echo "flex installed:			    Ok"
+
+
+#############################################################
+#
+# check build system 'gettext'
+#
+#############################################################
+if ! which msgfmt > /dev/null ; then \
+	echo "gettext installed:		    FALSE"
+	echo -e "\n\nYou must install 'gettext' on your build machine\n"; \
+	exit 1; \
+fi;
+echo "gettext installed:		    Ok"
+
+
+
+
+
+#############################################################
+#
+# All done
+#
+#############################################################
+echo "Build system dependancies:	    Ok"
+


Property changes on: trunk/buildroot/toolchain/dependancies/dependancies.sh
___________________________________________________________________
Name: svn:executable
   + *




More information about the uClibc-cvs mailing list