Tag
Hash :
081f2d51
Author :
Date :
2001-06-24T03:38:27
Fix for yacc5.test: * lib/ylwrap: Changed usage. * lib/am/yacc.am: Rewrote to use new substitutions. * lib/am/lex.am: Likewise. * automake.in (handle_languages): Skip files whose language doesn't have a compiler. Handle `define_flag' attribute. Changed '$' to "\$" to aid Emacs fontification. (struct): Added `rule_file'. Removed `derived_autodep'. Added `_target_hook' and `define_flag'. (yacc, yaccxx, lex, lexxx): Set `rule_file', `flags', `compile', and `compiler' attributes. Removed `linker', `derived_autodep', and `ansi' attributes. Added `define_flag'. (yacc, yaccxx): Added `_target_hook'. (saw_extension): Count number of times extension seen. (count_files_for_language): New sub. (saw_sources_p): Use it. (handle_single_transform_list): Allow language rewrite function to return a new source extension. Call target_hook. (yacc_sources, lex_sources): Removed. (initialize_per_input): Don't initialize yacc_sources or lex_sources. (lang_yacc_rewrite): Rewrote. (lang_yaccxx_rewrite): Likewise. (lang_lex_rewrite): Likewise. (lang_lexxx_rewrite): Likewise. (output_yacc_build_rule): Removed. (output_lex_build_rule): Removed. (lang_yacc_finish): Removed build rule generation. (lang_lex_finish): Likewise. (DASH_D_PATTERN): New global. (lang_yacc_target_hook): New function. (_target_hook): New function. (register_language): Default `define_flag'. * tests/yacc5.test: Updated test. * tests/yacc4.test: Exit with status 77 if bison doesn't work. * tests/yacc3.test: Remove bogus `make' invocation. Added test for all YFLAGS variables.
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
#! /bin/sh
# Test of yacc functionality, derived from GNU binutils
# by Tim Van Holder.
. $srcdir/defs || exit 1
cat > configure.in << 'END'
AC_INIT
AM_INIT_AUTOMAKE(nonesuch, nonesuch)
AC_ARG_PROGRAM
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_YACC
AC_OUTPUT(Makefile)
END
cat > Makefile.am << 'END'
bin_PROGRAMS = maude
maude_SOURCES = sub/maude.y
END
mkdir sub
: > sub/maude.y
$ACLOCAL || exit 1
$AUTOMAKE -a || exit 1
grep '^maude\.c:' Makefile.in || exit 1
## Try again with subdir-objects.
cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS = maude
maude_SOURCES = sub/maude.y
END
$ACLOCAL || exit 1
$AUTOMAKE -a || exit 1
grep '^sub/maude\.c:' Makefile.in || exit 1
## Try again with per-exe flags.
cat > Makefile.am << 'END'
bin_PROGRAMS = maude
maude_SOURCES = sub/maude.y
## A particularly trickey case.
maude_YFLAGS = -d
END
$ACLOCAL || exit 1
$AUTOMAKE -a || exit 1
# Rule should use maude_YFLAGS.
grep 'AM_YFLAGS.*maude' Makefile.in && exit 1
# Silly regression.
grep 'maudec' Makefile.in && exit 1
# Make sure the .o file is required.
grep '^am_maude_OBJECTS.*maude' Makefile.in || exit 1
exit 0