Tag
Hash :
adf4c603
Author :
Date :
2001-05-09T03:10:05
For PR automake/29: * ylwrap: Handle arguments to program. Remove old code that tried to avoid absolute paths and add new code to do it in all cases. Removed ancient logic that tried to deal with relative path. * tests/Makefile.am (TESTS): Added yacc4.test. * tests/yacc4.test: New file.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
#! /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
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