Sun Dec 10 11:59:33 1995 Tom Tromey <tromey@cambric.colorado.edu>
+ * Makefile.am (pkgdata_DATA): Cause INSTALL, install-sh, mdate-sh,
+ mkinstalldirs, texinfo.tex to be installed.
+ * automake.in (symlink_exists): New global.
+ (install_missing): Ditto.
+ (require_file): Install missing files if possible.
+ (parse_arguments): Handle --install-missing option.
+ (initialize_global_constants): Document --install-missing.
+
* Makefile.am (cvs-dist): Don't release unless NEWS updated.
Ensure 'checks' pass before release.
+ (maintainer-check): Renamed. Look in $(srcdir) for sources. From
+ Franc,ois Pinard.
+ (cvs-dist): Depend on maintainer-check instead of explicitly
+ running check.
* configure.in (VERSION): Version 0.26.
remake-subd.am remake.am scripts.am subdirs.am tags.am tags-subd.am \
tags-clean.am \
texi-clean.am texi-version.am texinfos-vars.am texinfos.am \
-libraries-clean.am scripts-clean.am programs-clean.am data-clean.am
+libraries-clean.am scripts-clean.am programs-clean.am data-clean.am \
+INSTALL install-sh mdate-sh mkinstalldirs texinfo.tex
DIST_OTHER = automake.in
# * syntax check with perl4 and perl5.
# * make sure the scripts don't use 'true'
# These are only really guaranteed to work on my machine.
-check-local: automake
+maintainer-check: automake
@PERL@ -c -w automake
- if grep '^[^#].*true' [a-z]*.am; then \
+ if grep '^[^#].*true' $(srcdir)/[a-z]*.am; then \
echo "can't use 'true' in GNU Makefile" 1>&2; \
exit 1; \
else :; fi
# Tag before making distribution. Also, don't make a distribution if
# checks fail. Also, make sure the NEWS file is up-to-date.
-cvs-dist:
- $(MAKE) check
+cvs-dist: maintainer-check
if sed 1q NEWS | grep -e "$(VERSION)"; then :; else \
echo "NEWS not updated; not releasing" 1>&2; \
exit 1; \
-# Makefile.in generated automatically by automake 0.25 from Makefile.am
+# Makefile.in generated automatically by automake 0.26 from Makefile.am
# Copyright (C) 1994, 1995 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
remake-subd.am remake.am scripts.am subdirs.am tags.am tags-subd.am \
tags-clean.am \
texi-clean.am texi-version.am texinfos-vars.am texinfos.am \
-libraries-clean.am scripts-clean.am programs-clean.am data-clean.am
+libraries-clean.am scripts-clean.am programs-clean.am data-clean.am \
+INSTALL install-sh mdate-sh mkinstalldirs texinfo.tex
DIST_OTHER = automake.in
DATA = $(pkgdata_DATA)
ACLOCAL = aclocal.m4
-DIST_COMMON = mkinstalldirs configure Makefile.in stamp-vti configure.in ChangeLog THANKS README version.texi mdate-sh TODO INSTALL Makefile.am texinfo.tex NEWS aclocal.m4 install-sh
+DIST_COMMON = mkinstalldirs configure Makefile.in stamp-vti configure.in ChangeLog THANKS README version.texi mdate-sh TODO INSTALL Makefile.am NEWS aclocal.m4 install-sh
PACKAGE = @PACKAGE@
VERSION = @VERSION@
dvi: $(DVIS)
-check: check-local
+check:
installcheck:
# * syntax check with perl4 and perl5.
# * make sure the scripts don't use 'true'
# These are only really guaranteed to work on my machine.
-check-local: automake
+maintainer-check: automake
@PERL@ -c -w automake
- if grep '^[^#].*true' [a-z]*.am; then \
+ if grep '^[^#].*true' $(srcdir)/[a-z]*.am; then \
echo "can't use 'true' in GNU Makefile" 1>&2; \
exit 1; \
else :; fi
# Tag before making distribution. Also, don't make a distribution if
# checks fail. Also, make sure the NEWS file is up-to-date.
-cvs-dist:
- $(MAKE) check
+cvs-dist: maintainer-check
if sed 1q NEWS | grep -e "$(VERSION)"; then :; else \
echo "NEWS not updated; not releasing" 1>&2; \
exit 1; \
+New in 0.26:
+* Added --install-missing option.
+\f
New in 0.25:
* Bug fixes.
* Works with Perl 4 again.
Top priorities:
* Fix up how 'clean' interacts with new naming scheme.
+* am_error should use printf-style arguments (for eventual gettext scheme)
uninstall and pkg-dirs should rm -rf the dir.
Should 'maintainer-clean' do "rm -rf .deps"?
Should look for clean-local targets in Makefile.am.
-Consider a --install-missing option to install missing files such as
-mdate-sh, texinfo.tex, etc.
-
Think about writing a small tool to guess what the local Makefile.am
should look like.
# we have processed all input files.
$exit_status = 0;
+# From the Perl manual.
+$symlink_exists = (eval 'symlink ("", "");', $@ eq '');
+
+# TRUE if missing standard files should be installed.
+$install_missing = 0;
+
\f
&initialize_global_constants;
shift (@arglist);
$output_directory = $arglist[0];
}
+ elsif ($arglist[0] eq '--install-missing')
+ {
+ $install_missing = 1;
+ }
elsif ($arglist[0] eq '--')
{
# Stop option processing.
--amdir=DIR directory storing config files
--help print this help, then exit
--include-deps include generated dependencies in Makefile.in
+ --install-missing install missing standard files
--output-dir=DIR put generated Makefile.in's into DIR
--strictness=LEVEL set strictness level. LEVEL is normal, gnu, gnits
--version print version number, then exit\n";
{
&push_dist_common ($file);
}
+ elsif ($install_missing && -f ($am_dir . '/' . $file))
+ {
+ # Install the missing file. Symlink if we can, copy if we must.
+ if ($symlink_exists)
+ {
+ symlink ($am_dir . '/' . $file, $fullfile);
+ }
+ else
+ {
+ system ('cp', $am_dir . '/' . $file, $fullfile);
+ }
+ &am_error ("required file \"$fullfile\" not found; installing");
+ }
elsif ($strictness >= $mystrict)
{
# Only an error if strictness constraint violated.
remake-subd.am remake.am scripts.am subdirs.am tags.am tags-subd.am \
tags-clean.am \
texi-clean.am texi-version.am texinfos-vars.am texinfos.am \
-libraries-clean.am scripts-clean.am programs-clean.am data-clean.am
+libraries-clean.am scripts-clean.am programs-clean.am data-clean.am \
+INSTALL install-sh mdate-sh mkinstalldirs texinfo.tex
DIST_OTHER = automake.in
# * syntax check with perl4 and perl5.
# * make sure the scripts don't use 'true'
# These are only really guaranteed to work on my machine.
-check-local: automake
+maintainer-check: automake
@PERL@ -c -w automake
- if grep '^[^#].*true' [a-z]*.am; then \
+ if grep '^[^#].*true' $(srcdir)/[a-z]*.am; then \
echo "can't use 'true' in GNU Makefile" 1>&2; \
exit 1; \
else :; fi
# Tag before making distribution. Also, don't make a distribution if
# checks fail. Also, make sure the NEWS file is up-to-date.
-cvs-dist:
- $(MAKE) check
+cvs-dist: maintainer-check
if sed 1q NEWS | grep -e "$(VERSION)"; then :; else \
echo "NEWS not updated; not releasing" 1>&2; \
exit 1; \