Test for flex & bison when building the toolchain
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 17 Jul 2015 15:33:56 +0000 (11:33 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 24 Jul 2015 07:05:13 +0000 (03:05 -0400)
Installing at least one of them fixes errors such as:

../../binutils-2.24/gold/script-c.h:221:7: error: ‘YYSTYPE’ was not
declared in this scope
../../binutils-2.24/gold/script-c.h:221:15: error: expected
primary-expression before ‘,’ token
 yylex(YYSTYPE*, void* closure);
               ^
You will need to make clean after installing flex and bison.

tools/compilers/gcc-glibc/Makefile

index dc2900b..48f48d6 100644 (file)
@@ -144,6 +144,22 @@ endef
 BUILD_ERRORS := $(call add_error, $(BUILD_ERROR))
 endif
 
+FLEXEXISTS := $(shell which flex > /dev/null 2>&1 ; echo $$?)
+ifneq ($(FLEXEXISTS),0)
+define BUILD_ERROR
+    You need to have 'flex' installed on your system before proceeding!"
+endef
+BUILD_ERRORS := $(call add_error, $(BUILD_ERROR))
+endif
+
+BISONEXISTS := $(shell which bison > /dev/null 2>&1 ; echo $$?)
+ifneq ($(BISONEXISTS),0)
+define BUILD_ERROR
+    You need to have 'bison' installed on your system before proceeding!"
+endef
+BUILD_ERRORS := $(call add_error, $(BUILD_ERROR))
+endif
+
 ifeq ($(INSTDIR),)
 define BUILD_ERROR
     You need to setup $(INSTDIR_STRING), to point to where you