#! /bin/sh # Some simple tests of ylwrap functionality. . $srcdir/defs || exit 1 # Fail gracefully if no autoconf. $needs_autoconf # Likewise for some other tools. (gcc -v) > /dev/null 2>&1 || exit 77 (bison -V) > /dev/null 2>&1 || exit 77 cat > configure.in << 'END' AC_INIT AC_CONFIG_AUX_DIR([.]) AM_INIT_AUTOMAKE(foo, 0.1) PACKAGE=foo VERSION=0.1 AC_PROG_CC AC_PROG_YACC AC_OUTPUT(Makefile) END cat > Makefile.am << 'END' bin_PROGRAMS = foo bar foo_SOURCES = parse.y foo.c bar_SOURCES = bar.y foo.c END # First parser. cat > parse.y << 'END' %{ int yylex () {return 0;} void yyerror (char *s) {} %} %% foobar : 'f' 'o' 'o' 'b' 'a' 'r' {}; END # Second parser. cat > bar.y << 'END' %{ int yylex () {return 0;} void yyerror (char *s) {} %} %% fubar : 'f' 'o' 'o' 'b' 'a' 'r' {}; END cat > foo.c << 'END' int main () { return 0; } END # We are not checking Autoconf, so we pick $YACC for it. YACC="bison -y" export YACC $YACC --version || exit 77 set -e $ACLOCAL $AUTOCONF $AUTOMAKE -a test -f ylwrap mkdir sub cd sub ../configure $MAKE grep '^#.*/sub/\.\./' bar.c && exit 1 grep '^#.*/sub/\.\./' parse.c && exit 1 exit 0