aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.rules4
-rw-r--r--autoconf/m4/bison.m45
-rwxr-xr-xconfigure6
3 files changed, 10 insertions, 5 deletions
diff --git a/Makefile.rules b/Makefile.rules
index 42c367a949..808e2b5a76 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -1315,10 +1315,14 @@ all:: $(YaccFiles:%.y=$(PROJ_SRC_DIR)/%.cpp.cvs)
# 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 e186af0101..48b83cc4a6 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 25bbe72027..7f35be5d56 100755
--- a/configure
+++ b/configure
@@ -6365,9 +6365,9 @@ fi
{ 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