For PR738:
Demote check for bison from error to warning and make sure that the
makefile can handle an empty definition for BISON variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29861 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Makefile.rules b/Makefile.rules
index 42c367a..808e2b5 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -1315,10 +1315,14 @@
 
 # Rule for building the bison based parsers...
 $(PROJ_SRC_DIR)/%.cpp $(PROJ_SRC_DIR)/%.h : $(PROJ_SRC_DIR)/%.y
+ifneq ($(BISON),)
 	$(Echo) "Bisoning $*.y"
 	$(Verb) $(BISON) -v -d -p $(<F:%Parser.y=%) -o $*.tab.c $<
 	$(Verb) $(MV) -f $*.tab.c $(PROJ_SRC_DIR)/$*.cpp
 	$(Verb) $(MV) -f $*.tab.h $(PROJ_SRC_DIR)/$*.h
+else
+	$(Echo) "Bison of $*.y SKIPPED -- bison not found"
+endif
 
 # IFF the .y file has changed since it was last checked into CVS, copy the .y
 # file to .y.cvs and the generated .cpp/.h file to .cpp.cvs/.h.cvs.  We use this
diff --git a/autoconf/m4/bison.m4 b/autoconf/m4/bison.m4
index e186af0..48b83cc 100644
--- a/autoconf/m4/bison.m4
+++ b/autoconf/m4/bison.m4
@@ -8,7 +8,8 @@
 AC_DEFUN([AC_PROG_BISON],
 [AC_CACHE_CHECK([],[llvm_cv_has_bison],[AC_PROG_YACC()])
 if test "$YACC" != "bison -y"; then
-  AC_MSG_ERROR([bison not found but required])
+  AC_SUBST(BISON,[])
+  AC_MSG_WARN([bison not found, can't rebuild grammars])
 else
-  AC_SUBST(BISON,[bison],[location of bison])
+  AC_SUBST(BISON,[bison])
 fi])
diff --git a/configure b/configure
index 25bbe72..7f35be5 100755
--- a/configure
+++ b/configure
@@ -6365,9 +6365,9 @@
 { echo "$as_me:$LINENO: result: $llvm_cv_has_bison" >&5
 echo "${ECHO_T}$llvm_cv_has_bison" >&6; }
 if test "$YACC" != "bison -y"; then
-  { { echo "$as_me:$LINENO: error: bison not found but required" >&5
-echo "$as_me: error: bison not found but required" >&2;}
-   { (exit 1); exit 1; }; }
+
+  { echo "$as_me:$LINENO: WARNING: bison not found, can't rebuild grammars" >&5
+echo "$as_me: WARNING: bison not found, can't rebuild grammars" >&2;}
 else
   BISON=bison