From: Alexandre Duret-Lutz Date: Sat, 19 Jan 2002 08:36:13 +0000 (+0000) Subject: Fix for PR automake/204: X-Git-Tag: Release-1-5d~21 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=8611d6abf1997d9e53370f86e618523ef01afa51;p=automake.git 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. --- diff --git a/ChangeLog b/ChangeLog index 5f8d3b60..20c2b5ad 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 ff67e62a..3ab25bcb 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 84603d37..4f93d5e9 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 c1a6d7e0..2eab6a5d 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 00000000..394590ae --- /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