summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Dolan <mu@netsoc.tcd.ie>2013-05-09 11:31:17 +0100
committerStephen Dolan <mu@netsoc.tcd.ie>2013-05-09 11:31:17 +0100
commitf6089a627a932bad7cfd5c8030bf32fcc9888996 (patch)
treeef1eece9787f1f4df579b5dbcffee9f74e133dfb
parent898dc8978b546c3c67a5678cc6101643b160d710 (diff)
Autotools hackery so that "make dist" builds lexer and parser.
-rw-r--r--Makefile.am23
-rw-r--r--Makefile.in52
-rw-r--r--config.h.in4
-rwxr-xr-xconfigure220
-rw-r--r--configure.ac14
5 files changed, 246 insertions, 67 deletions
diff --git a/Makefile.am b/Makefile.am
index 7deffb3b..274197f5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,11 +3,11 @@
JQ_INCS = jq_parser.h builtin.h bytecode.h compile.h execute.h \
forkable_stack.h frame_layout.h jv.h jv_alloc.h jv_aux.h jv_dtoa.h \
jv_parse.h jv_unicode.h locfile.h opcode.h opcode_list.h parser.y \
- jv_utf8_tables.h
+ jv_utf8_tables.h lexer.l
JQ_SRC = opcode.c bytecode.c compile.c execute.c builtin.c jv.c \
jv_parse.c jv_print.c jv_dtoa.c jv_unicode.c jv_aux.c jv_alloc.c \
- lexer.c jq_test.c ${JQ_INCS}
+ jq_test.c ${JQ_INCS}
### C build options
@@ -40,13 +40,19 @@ bin_PROGRAMS = jq
jq_SOURCES = ${JQ_SRC} main.c
-### Tests
+### Tests (make check)
-# this is what gets "make check" to work
TESTS = tests/all.test
TEST_LOG_COMPILER = tests/run
+### Building the manpage
+
+man_MANS = jq.1
+jq.1: docs/content/3.manual/manual.yml
+ ( cd ${abs_srcdir}/docs; rake manpage ) > $@ || rm -f $@
+
+
### Packaging
@@ -61,19 +67,14 @@ install-binaries: $(BUILT_SOURCES)
# setup is only used by distribution developers, not package developers.
# Still, as a matter of allowing patching, its not a bad idea to distribute
# the developer setup script in the tarball.
-EXTRA_DIST = setup.sh config.h.in ChangeLog lexer.l lexer.h \
- gen_utf8_tables.py jq.spec testdata
+EXTRA_DIST = config.h.in $(BUILT_SOURCES) $(man_MANS) $(TESTS) \
+ $(TEST_LOG_COMPILER) gen_utf8_tables.py jq.spec
# README.md is expected in Github projects, good stuff in it, so we'll
# distribute it and install it with the package in the doc directory.
docdir = ${datadir}/doc/${PACKAGE}
dist_doc_DATA = README.md COPYING AUTHORS README
-man_MANS = jq.1
-
-jq.1: docs/content/3.manual/manual.yml
- ( cd ${abs_srcdir}/docs; rake manpage ) > $@ || rm -f $@
-
releasetag:
git tag -s "jq-$$(cat VERSION)" -m "jq release $$(cat VERSION)"
diff --git a/Makefile.in b/Makefile.in
index daedb879..9c1f39c7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -57,8 +57,8 @@ subdir = .
DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \
- ChangeLog config/compile config/depcomp config/install-sh \
- config/missing config/ylwrap parser.c parser.h
+ config/compile config/depcomp config/install-sh config/missing \
+ config/ylwrap lexer.c parser.c parser.h
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -72,12 +72,12 @@ CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
"$(DESTDIR)$(docdir)"
PROGRAMS = $(bin_PROGRAMS)
-am__objects_1 = parser.$(OBJEXT)
+am__objects_1 = parser.$(OBJEXT) lexer.$(OBJEXT)
am__objects_2 = opcode.$(OBJEXT) bytecode.$(OBJEXT) compile.$(OBJEXT) \
execute.$(OBJEXT) builtin.$(OBJEXT) jv.$(OBJEXT) \
jv_parse.$(OBJEXT) jv_print.$(OBJEXT) jv_dtoa.$(OBJEXT) \
jv_unicode.$(OBJEXT) jv_aux.$(OBJEXT) jv_alloc.$(OBJEXT) \
- lexer.$(OBJEXT) jq_test.$(OBJEXT) $(am__objects_1)
+ jq_test.$(OBJEXT) $(am__objects_1)
am_jq_OBJECTS = $(am__objects_2) main.$(OBJEXT)
jq_OBJECTS = $(am_jq_OBJECTS)
jq_LDADD = $(LDADD)
@@ -98,11 +98,15 @@ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
+LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS)
+AM_V_LEX = $(am__v_LEX_@AM_V@)
+am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@)
+am__v_LEX_0 = @echo " LEX " $@;
+YLWRAP = $(top_srcdir)/config/ylwrap
YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS)
AM_V_YACC = $(am__v_YACC_@AM_V@)
am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@)
am__v_YACC_0 = @echo " YACC " $@;
-YLWRAP = $(top_srcdir)/config/ylwrap
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
@@ -241,7 +245,7 @@ am__remove_distdir = \
&& rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).zip
+DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
@@ -272,6 +276,9 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
@@ -303,7 +310,6 @@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
-bison_cmd = @bison_cmd@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
@@ -343,11 +349,11 @@ valgrind_cmd = @valgrind_cmd@
JQ_INCS = jq_parser.h builtin.h bytecode.h compile.h execute.h \
forkable_stack.h frame_layout.h jv.h jv_alloc.h jv_aux.h jv_dtoa.h \
jv_parse.h jv_unicode.h locfile.h opcode.h opcode_list.h parser.y \
- jv_utf8_tables.h
+ jv_utf8_tables.h lexer.l
JQ_SRC = opcode.c bytecode.c compile.c execute.c builtin.c jv.c \
jv_parse.c jv_print.c jv_dtoa.c jv_unicode.c jv_aux.c jv_alloc.c \
- lexer.c jq_test.c ${JQ_INCS}
+ jq_test.c ${JQ_INCS}
### C build options
@@ -367,25 +373,25 @@ BUILT_SOURCES = lexer.h lexer.c parser.h parser.c
AM_YFLAGS = --warnings=all -d
jq_SOURCES = ${JQ_SRC} main.c
-### Tests
-
-# this is what gets "make check" to work
+### Tests (make check)
TESTS = tests/all.test
TEST_LOG_COMPILER = tests/run
+### Building the manpage
+man_MANS = jq.1
+
# setup is only used by distribution developers, not package developers.
# Still, as a matter of allowing patching, its not a bad idea to distribute
# the developer setup script in the tarball.
-EXTRA_DIST = setup.sh config.h.in ChangeLog lexer.l lexer.h \
- gen_utf8_tables.py jq.spec testdata
+EXTRA_DIST = config.h.in $(BUILT_SOURCES) $(man_MANS) $(TESTS) \
+ $(TEST_LOG_COMPILER) gen_utf8_tables.py jq.spec
dist_doc_DATA = README.md COPYING AUTHORS README
-man_MANS = jq.1
all: $(BUILT_SOURCES) config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
-.SUFFIXES: .c .html .log .o .obj .test .test$(EXEEXT) .y
+.SUFFIXES: .c .html .l .log .o .obj .test .test$(EXEEXT) .y
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@@ -519,6 +525,9 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+.l.c:
+ $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
+
.y.c:
$(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
install-man1: $(man_MANS)
@@ -824,6 +833,7 @@ distdir: $(DISTFILES)
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
+
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__remove_distdir)
@@ -847,6 +857,7 @@ dist-tarZ: distdir
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
+
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
@@ -854,9 +865,6 @@ dist-zip: distdir
dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
@@ -988,6 +996,7 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+ -rm -f lexer.c
-rm -f parser.c
-rm -f parser.h
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
@@ -1096,6 +1105,8 @@ lexer.h: lexer.c
### Building the jq binary
main.c: config.h
+jq.1: docs/content/3.manual/manual.yml
+ ( cd ${abs_srcdir}/docs; rake manpage ) > $@ || rm -f $@
### Packaging
@@ -1106,9 +1117,6 @@ docs/site.yml: configure.ac
install-binaries: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) install-exec
-jq.1: docs/content/3.manual/manual.yml
- ( cd ${abs_srcdir}/docs; rake manpage ) > $@ || rm -f $@
-
releasetag:
git tag -s "jq-$$(cat VERSION)" -m "jq release $$(cat VERSION)"
diff --git a/config.h.in b/config.h.in
index dbfa12bc..46b33c08 100644
--- a/config.h.in
+++ b/config.h.in
@@ -26,3 +26,7 @@
/* Version number of package */
#undef VERSION
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+ `char[]'. */
+#undef YYTEXT_POINTER
diff --git a/configure b/configure
index 7170e4a2..9520197a 100755
--- a/configure
+++ b/configure
@@ -589,8 +589,10 @@ am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
valgrind_cmd
-bison_cmd
flex_cmd
+LEXLIB
+LEX_OUTPUT_ROOT
+LEX
YFLAGS
YACC
CPP
@@ -1483,6 +1485,52 @@ fi
as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
@@ -3966,17 +4014,18 @@ fi
-for ac_prog in flex
+
+for ac_prog in flex lex
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_flex_cmd+:} false; then :
+if ${ac_cv_prog_LEX+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$flex_cmd"; then
- ac_cv_prog_flex_cmd="$flex_cmd" # Let the user override the test.
+ if test -n "$LEX"; then
+ ac_cv_prog_LEX="$LEX" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -3985,7 +4034,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_flex_cmd="$ac_prog"
+ ac_cv_prog_LEX="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -3995,35 +4044,152 @@ IFS=$as_save_IFS
fi
fi
-flex_cmd=$ac_cv_prog_flex_cmd
-if test -n "$flex_cmd"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flex_cmd" >&5
-$as_echo "$flex_cmd" >&6; }
+LEX=$ac_cv_prog_LEX
+if test -n "$LEX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5
+$as_echo "$LEX" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- test -n "$flex_cmd" && break
+ test -n "$LEX" && break
done
+test -n "$LEX" || LEX=":"
+
+if test "x$LEX" != "x:"; then
+ cat >conftest.l <<_ACEOF
+%%
+a { ECHO; }
+b { REJECT; }
+c { yymore (); }
+d { yyless (1); }
+e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */
+ yyless ((input () != 0)); }
+f { unput (yytext[0]); }
+. { BEGIN INITIAL; }
+%%
+#ifdef YYTEXT_POINTER
+extern char *yytext;
+#endif
+int
+main (void)
+{
+ return ! yylex () + ! yywrap ();
+}
+_ACEOF
+{ { ac_try="$LEX conftest.l"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$LEX conftest.l") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5
+$as_echo_n "checking lex output file root... " >&6; }
+if ${ac_cv_prog_lex_root+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
-if test x$flex_cmd = "x" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: flex is required to patch jq." >&5
-$as_echo "$as_me: flex is required to patch jq." >&6;}
+if test -f lex.yy.c; then
+ ac_cv_prog_lex_root=lex.yy
+elif test -f lexyy.c; then
+ ac_cv_prog_lex_root=lexyy
+else
+ as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5
fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5
+$as_echo "$ac_cv_prog_lex_root" >&6; }
+LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
-for ac_prog in bison
+if test -z "${LEXLIB+set}"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5
+$as_echo_n "checking lex library... " >&6; }
+if ${ac_cv_lib_lex+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ac_save_LIBS=$LIBS
+ ac_cv_lib_lex='none needed'
+ for ac_lib in '' -lfl -ll; do
+ LIBS="$ac_lib $ac_save_LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+`cat $LEX_OUTPUT_ROOT.c`
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_lex=$ac_lib
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ test "$ac_cv_lib_lex" != 'none needed' && break
+ done
+ LIBS=$ac_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5
+$as_echo "$ac_cv_lib_lex" >&6; }
+ test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5
+$as_echo_n "checking whether yytext is a pointer... " >&6; }
+if ${ac_cv_prog_lex_yytext_pointer+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # POSIX says lex can declare yytext either as a pointer or an array; the
+# default is implementation-dependent. Figure out which it is, since
+# not all implementations provide the %pointer and %array declarations.
+ac_cv_prog_lex_yytext_pointer=no
+ac_save_LIBS=$LIBS
+LIBS="$LEXLIB $ac_save_LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #define YYTEXT_POINTER 1
+`cat $LEX_OUTPUT_ROOT.c`
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_prog_lex_yytext_pointer=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5
+$as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; }
+if test $ac_cv_prog_lex_yytext_pointer = yes; then
+
+$as_echo "#define YYTEXT_POINTER 1" >>confdefs.h
+
+fi
+rm -f conftest.l $LEX_OUTPUT_ROOT.c
+
+fi
+if test "x$LEX" != xflex; then
+ LEX="$SHELL $missing_dir/missing flex"
+fi
+
+
+for ac_prog in flex
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_bison_cmd+:} false; then :
+if ${ac_cv_prog_flex_cmd+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$bison_cmd"; then
- ac_cv_prog_bison_cmd="$bison_cmd" # Let the user override the test.
+ if test -n "$flex_cmd"; then
+ ac_cv_prog_flex_cmd="$flex_cmd" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -4032,7 +4198,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_bison_cmd="$ac_prog"
+ ac_cv_prog_flex_cmd="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -4042,22 +4208,22 @@ IFS=$as_save_IFS
fi
fi
-bison_cmd=$ac_cv_prog_bison_cmd
-if test -n "$bison_cmd"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bison_cmd" >&5
-$as_echo "$bison_cmd" >&6; }
+flex_cmd=$ac_cv_prog_flex_cmd
+if test -n "$flex_cmd"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flex_cmd" >&5
+$as_echo "$flex_cmd" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- test -n "$bison_cmd" && break
+ test -n "$flex_cmd" && break
done
-if test x$bison_cmd = "x" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: bison is required to patch jq." >&5
-$as_echo "$as_me: bison is required to patch jq." >&6;}
+if test x$flex_cmd = "x" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: flex is required to patch jq." >&5
+$as_echo "$as_me: flex is required to patch jq." >&6;}
fi
for ac_prog in valgrind
diff --git a/configure.ac b/configure.ac
index 5bbc0b55..503ceaa0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,18 +20,18 @@ dnl
dnl these program checks should probably be deleted
dnl
+AC_PROG_LEX
+if test "x$LEX" != xflex; then
+ LEX="$SHELL $missing_dir/missing flex"
+fi
+
+
dnl Check for flex
AC_CHECK_PROGS(flex_cmd, flex)
if test x$flex_cmd = "x" ; then
AC_MSG_NOTICE([flex is required to patch jq.])
fi
-dnl Check for bison
-AC_CHECK_PROGS(bison_cmd, bison)
-if test x$bison_cmd = "x" ; then
- AC_MSG_NOTICE([bison is required to patch jq.])
-fi
-
dnl Check for valgrind
AC_CHECK_PROGS(valgrind_cmd, valgrind)
if test x$valgrind_cmd = "x" ; then
@@ -40,7 +40,7 @@ fi
dnl AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS(config.h)
-AM_INIT_AUTOMAKE([-Wall dist-bzip2 dist-zip])
+AM_INIT_AUTOMAKE([-Wall])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT