#!/bin/sh # Copyright (C) 2004, 2011 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Check rules output for parser defined conditionally. # Report from Roman Fietze. required='flex bison gcc' . ./defs || Exit 1 set -e cat >>configure.in <<'EOF' AM_CONDITIONAL([CASE_A], test -z "$case_B") AC_PROG_CC AM_PROG_LEX AC_PROG_YACC AC_OUTPUT EOF cat >>Makefile.am <<'EOF' AM_YFLAGS = -d BUILT_SOURCES = tparse.h if CASE_A bin_PROGRAMS = ta ta_SOURCES = ta.c tparse.h tscan.l tparse.y ta_LDADD = $(LEXLIB) else bin_PROGRAMS = tb tb_SOURCES = tb.c tparse.h tscan.l tparse.y tb_LDADD = $(LEXLIB) endif test-ta: test -f ta$(EXEEXT) test-tb: test -f tb$(EXEEXT) EOF $ACLOCAL $AUTOCONF $AUTOMAKE --add-missing test `grep tparse.h: Makefile.in | wc -l` = 1 cat > tscan.l << 'END' %% "END" return EOF; %% /* Avoid possible link errors. */ int yywrap (void) { return 1; } END cat > tparse.y << 'END' %{ void yyerror (char *s) {} %} %token EOF %% foobar : 'f' 'o' 'o' 'b' 'a' 'r' EOF {}; END cat >ta.c <<'END' int main() { return 0; } END cp ta.c tb.c ./configure $MAKE $MAKE test-ta ./configure case_B=yes $MAKE $MAKE test-tb