+2002-01-19 Alexandre Duret-Lutz <duret_g@epita.fr>
+
+ 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 <duret_g@epita.fr>
Fix for PR automake/229:
# 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;
}
--- /dev/null
+#! /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