diff options
author | Stephen Dolan <mu@netsoc.tcd.ie> | 2013-05-09 11:31:17 +0100 |
---|---|---|
committer | Stephen Dolan <mu@netsoc.tcd.ie> | 2013-05-09 11:31:17 +0100 |
commit | f6089a627a932bad7cfd5c8030bf32fcc9888996 (patch) | |
tree | ef1eece9787f1f4df579b5dbcffee9f74e133dfb | |
parent | 898dc8978b546c3c67a5678cc6101643b160d710 (diff) |
Autotools hackery so that "make dist" builds lexer and parser.
-rw-r--r-- | Makefile.am | 23 | ||||
-rw-r--r-- | Makefile.in | 52 | ||||
-rw-r--r-- | config.h.in | 4 | ||||
-rwxr-xr-x | configure | 220 | ||||
-rw-r--r-- | configure.ac | 14 |
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 @@ -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 |