From 798dc9801853e484de7a2df4ac4c310620c01403 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Sat, 19 Jan 2002 08:36:14 +0000 Subject: [PATCH] Fix for PR automake/204: * tests/pr204.test: New file. * tests/Makefile.am (TESTS): Add it. * automake.in (handle_single_transform_list): Don't distribute sources derived from non-distributed sources. --- ChangeLog | 8 ++++++++ automake.in | 6 ++++-- tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/pr204.test | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 68 insertions(+), 2 deletions(-) create mode 100755 tests/pr204.test diff --git a/ChangeLog b/ChangeLog index 5f8d3b6..20c2b5a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2002-01-19 Alexandre Duret-Lutz + + Fix for PR automake/204: + * tests/pr204.test: New file. + * tests/Makefile.am (TESTS): Add it. + * automake.in (handle_single_transform_list): Don't distribute + sources derived from non-distributed sources. + 2002-01-18 Alexandre Duret-Lutz Fix for PR automake/229: diff --git a/automake.in b/automake.in index ff67e62..3ab25bc 100755 --- a/automake.in +++ b/automake.in @@ -2012,8 +2012,10 @@ sub handle_single_transform_list ($$$$@) # Make sure this new source file is handled next. That will # make it appear to be at the right place in the list. unshift (@files, $object); - # FIXME: nodist. - &push_dist_common ($object); + # Distribute derived sources unless the source they are + # derived from is not. + &push_dist_common ($object) + unless ($topparent =~ /^(:?nobase_)?nodist_/); next; } diff --git a/tests/Makefile.am b/tests/Makefile.am index 84603d3..4f93d5e 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -249,6 +249,7 @@ pluseq7.test \ pluseq8.test \ ppf77.test \ pr2.test \ +pr204.test \ pr211.test \ pr220.test \ pr229.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index c1a6d7e..2eab6a5 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -323,6 +323,7 @@ pluseq7.test \ pluseq8.test \ ppf77.test \ pr2.test \ +pr204.test \ pr211.test \ pr220.test \ pr229.test \ diff --git a/tests/pr204.test b/tests/pr204.test new file mode 100755 index 0000000..394590a --- /dev/null +++ b/tests/pr204.test @@ -0,0 +1,54 @@ +#! /bin/sh +# For PR 204. +# Sources derived from nodist_ sources should not be distributed. + +required=bison + +. $srcdir/defs || exit 1 + +set -e + +cat > configure.in <<'EOF' +AC_INIT(pr204, 0.1) +AM_INIT_AUTOMAKE +AC_PROG_CC +AC_PROG_YACC +AC_CONFIG_FILES(Makefile) +AC_OUTPUT +EOF + +# The PARSE2 intermediate variable is there to make +# sure Automake match 'nodist_' against the right +# variable name... +cat > Makefile.am << 'EOF' +EXTRA_PROGRAMS = foo +PARSE2 = parse2.y +nodist_foo_SOURCES = parse.y $(PARSE2) +EOF + +cat > parse.y << 'END' +%{ +int yylex () {return 0;} +void yyerror (char *s) {} +%} +%% +maude : 'm' 'a' 'u' 'd' 'e' {}; +END + +cp parse.y parse2.y + +# We are not checking Autoconf, so we pick $YACC for it. +YACC="bison -y" +export YACC + +$ACLOCAL +$AUTOCONF +$AUTOMAKE -a +./configure +$MAKE distdir +test -f pr204-0.1/parse.c && exit 1 +test -f pr204-0.1/parse.y && exit 1 +test -f pr204-0.1/parse2.c && exit 1 +test -f pr204-0.1/parse2.y && exit 1 +# Make sure parse.c and parse2.c are still targets. +make parse.c parse2.c -- 2.7.4