summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog29
-rw-r--r--TODO14
-rwxr-xr-xautomake.in51
-rw-r--r--automake.texi16
-rw-r--r--compile-kr.am8
-rw-r--r--compile-vars.am3
-rw-r--r--compile.am2
-rw-r--r--lib/am/compile.am2
-rw-r--r--lib/am/texinfos.am9
-rw-r--r--remake.am2
-rw-r--r--tests/ChangeLog12
-rw-r--r--tests/Makefile.am3
-rw-r--r--tests/Makefile.in5
-rwxr-xr-xtests/mkinstall2.test22
-rwxr-xr-xtests/texinfo2.test20
-rwxr-xr-xtests/yacc.test15
-rw-r--r--texinfos.am9
-rw-r--r--version.texi2
18 files changed, 181 insertions, 43 deletions
diff --git a/ChangeLog b/ChangeLog
index 819724d9a..6876cd6ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+Sun Jun 9 17:45:48 1996 Tom Tromey <tromey@creche.cygnus.com>
+
+ * texinfos.am (install-info): Don't install ~ files. Bug report
+ from Greg McGary.
+ * automake.in (handle_texinfo): Don't push '.info*' onto
+ @infos_list.
+
+ * automake.in (handle_gettext): Ensure po and intl in SUBDIRS when
+ using gettext.
+ (handle_dist): Pass --with-included-gettext to configure if using
+ gettext.
+
+ * compile-kr.am (._c._o): Pass -c to $(COMPILE).
+ (.c._o): Ditto.
+ * compile.am (.c.o): Pass -c to $(COMPILE).
+ * compile-vars.am (COMPILE): Don't include -c.
+
+ * remake.am ($(srcdir)/Makefile.in): Pass --strictness to
+ automake.
+ * automake.in (handle_configure): Supply --strictness arg to
+ automake.
+
Fri Jun 7 12:31:31 1996 Tom Tromey <tromey@creche.cygnus.com>
* automake.in (handle_tests): Fix quoting on `pwd`.
@@ -5,6 +27,13 @@ Fri Jun 7 12:31:31 1996 Tom Tromey <tromey@creche.cygnus.com>
(handle_man_pages): Don't put man directory on @installdirs if
no-installman is specified.
(handle_texinfo): Handle no-installinfo option.
+ (handle_options): Compare version against $num_version, not
+ $VERSION.
+ (handle_source_transform): Generate rules for output of lex,
+ yacc. Bug report from Thomas Morgan. Test yacc.test.
+ (handle_dist): "distcheck" now runs "make dvi".
+ (handle_tests): Support $(TESTS_ENVIRONMENT). Idea from Ulrich
+ Drepper.
* dejagnu.am (check-DEJAGNU): Depend on site.exp.
diff --git a/TODO b/TODO
index 39a7bcfc3..9e60ca7a4 100644
--- a/TODO
+++ b/TODO
@@ -1,8 +1,9 @@
Priorities for release:
[ none ]
-** Write test case to check that no-installman suppresses dirs on
- "make installdirs"
+** Consider using implicit .y.c and .l.c rules instead of current
+ lex/yacc trickery
+
consider supporting "var+= stuff" syntax. rewrite to just var=... on
output. This is sometimes convenient when you want to write a
@@ -42,9 +43,6 @@ Consider: "cvs" option adds some cvs-specific rules?
Consider adding an option that statically rewrites @MAINT@ to "#M#".
(this would be useful at Cygnus)
-Automake and Cygnus: info target separate from all. Always make
-install-info target. install-info separate from install.
-
Automake: should EXTRA_DIST files be statically findable?
Automake: devo/inet/Makefile.am has "all-local". "install" depends on
@@ -147,6 +145,8 @@ Lex, yacc support:
for yacc and lex source
* if AC_PROG_LEX used, ensure LEXLIB is in foo_LDADD
* require AC_DECL_YYTEXT for lex
+* Actually use $seen_prog_yacc
+* Require AC_PROG_LEX or equivalent
require AC_PROG_CXX if any C++ source files found?
Better support for C++ all around
@@ -226,6 +226,8 @@ These can both be handled via dist-hook:
. Consider allowing eg "foo/bar" to appear in EXTRA_DIST, and generating
code to make directory foo at dist time
+consider having no-gzip option that turns off gzip/GNU tar.
+
================================================================
Document:
@@ -278,8 +280,6 @@ document new variables introduced when AC_CANONICAL_* used
document _LISP handling
-document no-installinfo option
-
================================================================
Libraries:
diff --git a/automake.in b/automake.in
index 1eda9f32a..50123a931 100755
--- a/automake.in
+++ b/automake.in
@@ -448,7 +448,7 @@ sub handle_options
# Got a version number. Is the syntax too strict?
local ($num_version);
($num_version = $VERSION) =~ tr/0-9//d;
- if ($VERSION < $_)
+ if ($num_version < $_)
{
&am_line_error ('AUTOMAKE_OPTIONS',
"require version $_, only have $VERSION");
@@ -583,11 +583,31 @@ sub handle_source_transform
# Skip things that look like configure substitutions.
next if /^\@.*\@$/;
+ # Include .c file for lex or yacc source in distribution.
if (/^(.*)\.[yl]$/)
{
- # Automatically include generated .c file in
- # distribution.
+ # Yacc source.
&push_dist_common ($1 . '.c');
+ if (! defined $targets{$1 . '.c'})
+ {
+ # Generate a target.
+ $output_rules .= ($1 . '.c: ' . $_ . "\n"
+ . "\t"
+ . 'cd $(srcdir) && $(YACC) $< && mv y.tab.c '
+ . $1 . '.c' . "\n");
+ }
+ }
+ elsif (/^(.*)\.l$/)
+ {
+ # Lex source.
+ &push_dist_common ($1 . '.c');
+ if (! defined $targets{$1 . '.c'})
+ {
+ $output_rules .= ($1 . '.c: ' . $_ . "\n"
+ . "\t"
+ . 'cd $(srcdir) && $(LEX) $< && mv lex.yy.c '
+ . $1 . '.c' . "\n");
+ }
}
# Transform source files into .o files.
@@ -924,7 +944,8 @@ sub handle_texinfo
$output_rules .= ("\n" . $infobase . ".info: "
. join (' ', @texi_deps) . "\n\n");
- push (@infos_list, $infobase . '.info*');
+ push (@infos_list, $infobase . '.info', '.info-[0-9]',
+ '.info-[0-9][0-9]');
push (@info_deps_list, $infobase . '.info');
push (@dvis_list, $infobase . '.dvi');
@@ -1258,7 +1279,7 @@ sub handle_dist
if ($relative_dir eq '.')
{
# Rule to check whether a distribution is viable.
- $output_rules .= '# This target untars the dist file and tries a VPATH configuration. Then
+ $output_rules .= ('# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
@@ -1268,8 +1289,12 @@ distcheck: dist
mkdir $(distdir)/=inst
dc_install_base=`cd $(distdir)/=inst && pwd`; \\
cd $(distdir)/=build \\
- && ../configure --srcdir=.. --prefix=$$dc_install_base \\
+ && ../configure '
+
+ . ($seen_gettext ? '--with-included-gettext ' : '')
+ . '--srcdir=.. --prefix=$$dc_install_base \\
&& $(MAKE) \\
+ && $(MAKE) dvi \\
&& $(MAKE) check \\
&& $(MAKE) install \\
&& $(MAKE) installcheck \\
@@ -1278,7 +1303,7 @@ distcheck: dist
@echo "========================"; \\
echo "$(distdir).tar.gz is ready for distribution"; \\
echo "========================"
-';
+');
$output_rules .= 'dist: distdir' . "\n\t";
$output_rules .= 'chmod -R a+r $(distdir)' . "\n\t";
@@ -1417,7 +1442,10 @@ sub handle_configure
$output_vars .= "ACLOCAL = aclocal.m4\n";
&push_dist_common ('aclocal.m4');
}
- $output_rules .= &file_contents ('remake');
+ $output_rules .= &file_contents_with_transform ('s/\@STRICTNESS\@/'
+ . $strictness_name
+ . '/g',
+ 'remake');
&am_error
("\`install.sh' is an anachronism; use \`install-sh' instead")
@@ -1533,10 +1561,7 @@ sub handle_gettext
{
return if ! $seen_gettext || $relative_dir ne '.';
- # As of 0.10.6, gettext still wants @INTLSUB@ and @POSUB@ in
- # SUBDIRS. This is going to change in a future version. So for
- # now we simply do no checking.
- if (0 && &variable_defined ('SUBDIRS'))
+ if (&variable_defined ('SUBDIRS'))
{
&am_line_error
('SUBDIRS',
@@ -1973,7 +1998,7 @@ sub handle_tests
all=`expr $$all + 1`; \\
if test -f $$tst; then dir=.; \\
else dir="$(srcdir)"; fi; \\
- if $$dir/$$tst; then \\
+ if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \\
echo "PASS: $$tst"; \\
else \\
failed=`expr $$failed + 1`; \\
diff --git a/automake.texi b/automake.texi
index 66f588a97..10a04d6e4 100644
--- a/automake.texi
+++ b/automake.texi
@@ -933,7 +933,8 @@ also contain the file @file{texinfo.tex}. This file is supplied with
Automake.
Automake generates an @code{install-info} target; some people apparently
-use this.
+use this. By default, info pages are installed by @samp{make install}.
+This can be prevented via the @code{no-installinfo} option.
@node Man pages
@@ -1076,7 +1077,11 @@ If the variable @code{TESTS} is defined, its value is taken to be a list
of programs to run in order to do the testing. The programs can either
be derived objects or source objects; the generated rule will look both
in @var{srcdir} and @file{.}. The number of failures will be printed at
-the end of the run.
+the end of the run. The variable @code{TESTS_ENVIRONMENT} can be used
+to set environment variables for the test run; the environment variable
+@code{srcdir} is set in the rule.
+@vindex TESTS
+@vindex TESTS_ENVIRONMENT
If @samp{dejagnu} appears in @code{AUTOMAKE_OPTIONS}, then the a
@code{dejagnu}-based test suite is assumed. The value of the variable
@@ -1116,6 +1121,13 @@ installed by default. However, an @code{install-man} target will still
be available for optional installation.
@trindex install-man
+@item @code{no-installinfo}
+The generated @file{Makefile.in} will not cause info pages to be built
+or installed by default. However, @code{info} and @code{install-info}
+targets will still be available.
+@trindex info
+@trindex install-info
+
@item @code{ansi2knr}
Turn on automatic de-ANSI-fication.
diff --git a/compile-kr.am b/compile-kr.am
index ec71200d6..c1c081481 100644
--- a/compile-kr.am
+++ b/compile-kr.am
@@ -19,15 +19,15 @@
$(ANSI2KNR) $< > $*.tmp && mv $*.tmp $@
._c._o:
- @echo $(COMPILE) $<
+ @echo $(COMPILE) -c $<
@rm -f _$*.c
- @ln $< _$*.c && $(COMPILE) _$*.c && mv _$*.o $@ && rm _$*.c
+ @ln $< _$*.c && $(COMPILE) -c _$*.c && mv _$*.o $@ && rm _$*.c
.c._o:
$(ANSI2KNR) $< > $*.tmp && mv $*.tmp $*._c
- @echo $(COMPILE) $*._c
+ @echo $(COMPILE) -c $*._c
@rm -f _$*.c
- @ln $*._c _$*.c && $(COMPILE) _$*.c && mv _$*.o $@ && rm _$*.c
+ @ln $*._c _$*.c && $(COMPILE) -c _$*.c && mv _$*.o $@ && rm _$*.c
ansi2knr: ansi2knr.o
$(LINK) ansi2knr.o $(LIBS)
diff --git a/compile-vars.am b/compile-vars.am
index b46e510d8..2815629ff 100644
--- a/compile-vars.am
+++ b/compile-vars.am
@@ -19,12 +19,11 @@ CC = @CC@
LEX = @LEX@
YACC = @YACC@
-## FIXME?
DEFS = @DEFS@ -I. -I$(srcdir) @CONFIG_INCLUDE_SPEC@
CPPFLAGS = @CPPFLAGS@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
LINK = $(CC) $(LDFLAGS) -o $@
diff --git a/compile.am b/compile.am
index 6ae415c19..a8ac4a0a9 100644
--- a/compile.am
+++ b/compile.am
@@ -16,7 +16,7 @@
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
.c.o:
- $(COMPILE) $<
+ $(COMPILE) -c $<
mostlyclean-compile:
## Don't remove 'core.*' because some distributions have eg "core.c".
diff --git a/lib/am/compile.am b/lib/am/compile.am
index 6ae415c19..a8ac4a0a9 100644
--- a/lib/am/compile.am
+++ b/lib/am/compile.am
@@ -16,7 +16,7 @@
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
.c.o:
- $(COMPILE) $<
+ $(COMPILE) -c $<
mostlyclean-compile:
## Don't remove 'core.*' because some distributions have eg "core.c".
diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am
index 7b22be90b..bcf2791c8 100644
--- a/lib/am/texinfos.am
+++ b/lib/am/texinfos.am
@@ -27,12 +27,13 @@
## break a possible install-sh reference.
install-info: $(INFO_DEPS)
$(mkinstalldirs) $(infodir)
- for file in $(INFO_DEPS); do \
+ for file in $(INFO_DEPS); do \
## We use these strange circumlocutions because we want the "ifile" to
## be relative, for the install.
- for ifile in `cd $(srcdir) && echo $$file*`; do \
- $(INSTALL_DATA) $(srcdir)/$$ifile $(infodir)/$$ifile; \
- done; \
+ for ifile in `cd $(srcdir) && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
+ test -f $(srcdir)/$$ifile \
+ && $(INSTALL_DATA) $(srcdir)/$$ifile $(infodir)/$$ifile; \
+ done; \
## We need the 'else' because in some broken versions of sh 'if' will
## return false if the test fails. We use ':' because the GNU
## standards prohibit us from using 'true'.
diff --git a/remake.am b/remake.am
index 46cd74129..b1874763b 100644
--- a/remake.am
+++ b/remake.am
@@ -16,7 +16,7 @@
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
$(srcdir)/Makefile.in: @MAINT@Makefile.am configure.in
- cd $(srcdir) && automake Makefile
+ cd $(srcdir) && automake --strictness=@STRICTNESS@ Makefile
# For an explanation of the following Makefile rules, see node
# `Automatic Remaking' in GNU Autoconf documentation.
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 912a411f2..1c061dd8c 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,15 @@
+Sun Jun 9 23:20:03 1996 Tom Tromey <tromey@creche.cygnus.com>
+
+ * texinfo2.test: New file.
+
+Sat Jun 8 10:00:42 1996 Tom Tromey <tromey@creche.cygnus.com>
+
+ * mkinstall2.test: New file.
+
+Fri Jun 7 18:17:11 1996 Tom Tromey <tromey@creche.cygnus.com>
+
+ * yacc.test: New file.
+
Sun Jun 2 09:04:52 1996 Tom Tromey <tromey@creche.cygnus.com>
* dejagnu.test: New file.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 549d4b5bd..428215eec 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -8,6 +8,7 @@ confincl.test spelling.test prefix.test badprog.test depend.test exdir.test \
canon.test installsh.test empty.test rulepat.test insh.test canon2.test \
target.test extra.test noinst.test instman.test mkinstall.test auxdir.test \
canon3.test mdate2.test subdir.test backsl.test package.test number.test \
-insh2.test outdir.test fpinstall.test fpinst2.test texinfo.test dejagnu.test
+insh2.test outdir.test fpinstall.test fpinst2.test texinfo.test dejagnu.test \
+yacc.test mkinstall2.test texinfo2.test
EXTRA_DIST = defs $(TESTS)
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 5afe4ff81..289ec7625 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.0 from Makefile.am
+# Makefile.in generated automatically by automake 1.1a from Makefile.am
# Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -46,7 +46,8 @@ confincl.test spelling.test prefix.test badprog.test depend.test exdir.test \
canon.test installsh.test empty.test rulepat.test insh.test canon2.test \
target.test extra.test noinst.test instman.test mkinstall.test auxdir.test \
canon3.test mdate2.test subdir.test backsl.test package.test number.test \
-insh2.test outdir.test fpinstall.test fpinst2.test texinfo.test dejagnu.test
+insh2.test outdir.test fpinstall.test fpinst2.test texinfo.test dejagnu.test \
+yacc.test mkinstall2.test texinfo2.test
EXTRA_DIST = defs $(TESTS)
mkinstalldirs = $(top_srcdir)/mkinstalldirs
diff --git a/tests/mkinstall2.test b/tests/mkinstall2.test
new file mode 100755
index 000000000..4d64b2e81
--- /dev/null
+++ b/tests/mkinstall2.test
@@ -0,0 +1,22 @@
+#! /bin/sh
+
+# Test to make sure no-installman suppresses man dir creation.
+
+. $srcdir/defs || exit 1
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = no-installman
+man_MANS = foo.1
+END
+
+: > foo.1
+
+cat > mkinstalldirs << 'END'
+echo "$@"
+END
+
+chmod +x mkinstalldirs
+
+$AUTOMAKE || exit 1
+
+make -s -f Makefile.in installdirs | grep -v man
diff --git a/tests/texinfo2.test b/tests/texinfo2.test
new file mode 100755
index 000000000..d5ad9870b
--- /dev/null
+++ b/tests/texinfo2.test
@@ -0,0 +1,20 @@
+#! /bin/sh
+
+# Test to ensure that a ".info~" file doesn't end up in the
+# distribution. Bug report from Greg McGary.
+
+. $srcdir/defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+magic:
+ @echo $(DISTFILES)
+END
+
+: > texinfo.tex
+: > textutils.texi
+: > textutils.info~
+
+$AUTOMAKE || exit 1
+
+test -z `make -s -f Makefile.in magic | grep '~'`
diff --git a/tests/yacc.test b/tests/yacc.test
new file mode 100755
index 000000000..40d088844
--- /dev/null
+++ b/tests/yacc.test
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+# Test to make sure intermediate .c file is built from yacc source.
+# Bug from Thomas Morgan.
+
+. $srcdir/defs || exit 1
+
+cat > Makefile.am <<'END'
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = zardoz.y
+END
+
+$AUTOMAKE || exit 1
+
+grep '^zardoz.c:' Makefile.in
diff --git a/texinfos.am b/texinfos.am
index 7b22be90b..bcf2791c8 100644
--- a/texinfos.am
+++ b/texinfos.am
@@ -27,12 +27,13 @@
## break a possible install-sh reference.
install-info: $(INFO_DEPS)
$(mkinstalldirs) $(infodir)
- for file in $(INFO_DEPS); do \
+ for file in $(INFO_DEPS); do \
## We use these strange circumlocutions because we want the "ifile" to
## be relative, for the install.
- for ifile in `cd $(srcdir) && echo $$file*`; do \
- $(INSTALL_DATA) $(srcdir)/$$ifile $(infodir)/$$ifile; \
- done; \
+ for ifile in `cd $(srcdir) && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
+ test -f $(srcdir)/$$ifile \
+ && $(INSTALL_DATA) $(srcdir)/$$ifile $(infodir)/$$ifile; \
+ done; \
## We need the 'else' because in some broken versions of sh 'if' will
## return false if the test fails. We use ':' because the GNU
## standards prohibit us from using 'true'.
diff --git a/version.texi b/version.texi
index 87c7f95e0..98dd01c7a 100644
--- a/version.texi
+++ b/version.texi
@@ -1,3 +1,3 @@
-@set UPDATED 25 May 1996
+@set UPDATED 8 June 1996
@set EDITION 1.1a
@set VERSION 1.1a