+Thu Jan 18 00:25:56 1996 Tom Tromey <tromey@creche.cygnus.com>
+
+ * automake.in (parse_arguments): Initialize strictness to
+ 'normal'.
+
Sun Jan 14 13:54:16 1996 Tom Tromey <tromey@creche.cygnus.com>
+ * automake.in (scan_configure): Look for NLS support.
+
Changes from François Pinard:
* texinfos.am (install-info): Correctly install when build dir is
not srcdir.
+## Process this file with automake to create Makefile.in
+
AUTOMAKE_OPTIONS = gnits
bin_SCRIPTS = automake
DATA = $(pkgdata_DATA)
-DIST_COMMON = README mkinstalldirs configure Makefile.in stamp-vti \
-AUTHORS configure.in ChangeLog THANKS README version.texi mdate-sh TODO \
-INSTALL COPYING Makefile.am texinfo.tex NEWS aclocal.m4 install-sh
+DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
+Makefile.in NEWS README THANKS TODO aclocal.m4 configure configure.in \
+install-sh mdate-sh mkinstalldirs stamp-vti texinfo.tex version.texi
PACKAGE = @PACKAGE@
install-info: $(INFO_DEPS)
$(top_srcdir)/mkinstalldirs $(infodir)
for file in $(INFO_DEPS); do \
- for ifile in $(srcdir)/$${file}*; do \
+ for ifile in `cd $(srcdir) && echo $${file}*`; do \
$(INSTALL_DATA) $(srcdir)/$$ifile $(infodir)/$$ifile; \
done; \
done
rm -f $(pkgdatadir)/$$p; \
done
-ID: $(HEADERS) $(SOURCES)
+ID: $(HEADERS) $(SOURCES)
here=`pwd` && cd $(srcdir) && mkid -f $$here/ID $(SOURCES) $(HEADERS)
tags: TAGS
done
@for dir in $(DIST_SUBDIRS); do \
echo copying directory $$dir; \
- tar -chf - $$dir | (cd $(distdir) && tar -xBpf -); \
+ tar chf - $$dir | (cd $(distdir) && tar xBpf -); \
done
chmod -R a+r $(distdir)
- tar -chozf $(distdir).tar.gz $(distdir)
+ tar chozf $(distdir).tar.gz $(distdir)
rm -rf $(distdir)
all: info $(SCRIPTS) $(DATA)
* am_error should use printf-style arguments (for eventual gettext scheme)
+--install-missing should only install COPYRIGHT when --gnu or better.
+
+if configure.in not found, move up a directory and try again? This
+could eliminate a common source of problems.
+
uninstall and pkg-dirs should rm -rf the dir.
In general most .am files should be merged into automake. For
Should 'maintainer-clean' do "rm -rf .deps"?
Should look for clean-local targets in Makefile.am.
+If 'foo' is in SCRIPTS, and 'foo.in' exists, generate code to rebuild
+by running configure. Also, ensure that 'foo' is listed in AC_OUTPUT
+line.
+
Think about writing a small tool to guess what the local Makefile.am
should look like.
Some things for --strictness=gnits:
* "cd $(foo); something" is an error in a rule. Should be:
"cd $(foo) && something"
-* check for version number in NEWS file.
-
-Maybe it should be possible to disable all GNU-specific things with
---no-gnu? --ignore-standards? But what? And why?
Allow ".h" files to appear in blah_SOURCES; just write them out of
existence. [ This is nixed for now because of the auto-dependency
Should COPYING.LIB be distributed?
-Look at configure.in to see if NLS support is used. Then require the
-file ABOUT-NLS. Be sure to write this so that other configure.in
-tweaks are easy.
-
Check all source files to make sure that FSF address is up-to-date.
--gnits or --gnu only.
Make the output minimal: only output definitions for variables that
are used.
-Look at dist's jmake for ideas. [what is this?]
+Look at dist's jmake for ideas. dist is the name of the distribution
+including Metaconfig. Perl uses it.
Should handle directory hierarchies deeper than 2. Right now there is
no support for this at all.
local (@arglist) = @_;
local (@make_list);
+ # Start off as normal.
+ &set_strictness ('normal');
+
while (@arglist)
{
if ($arglist[0] eq "--version")
################################################################
# Scan configure.in for interesting things.
+# FIXME ensure VERSION, PACKAGE are set.
sub scan_configure
{
open (CONFIGURE, 'configure.in')
|| die "automake: couldn't open configure.in: $!\n";
local ($seen_make_set) = 0;
+ local ($seen_prog_install) = 0;
+ local ($seen_arg_prog) = 0;
while (<CONFIGURE>)
{
# Populate libobjs array.
$libsources{$1 . '.c'} = 1;
}
+ # Check for NLS support.
+ if (/ud_GNU_GETTEXT/)
+ {
+ &am_error
+ ("ud_GNU_GETTEXT in configure.in but SUBDIRS not defined")
+ if ! defined $contents{'SUBDIRS'};
+ &am_error ("ud_GNU_GETTEXT if configure.in but po not in SUBDIRS")
+ if $contents{'SUBDIRS'} !~ /\<po\>/;
+ &am_error
+ ("ud_GNU_GETTEXT if configure.in but intl not in SUBDIRS")
+ if $contents{'SUBDIRS'} !~ /\<intl\>/;
+
+ &require_file ($NORMAL, 'ABOUT-NLS');
+ }
+
+ # Some things required by Automake. FIXME we only really
+ # require fp_PROG_INSTALL if some scripts are installed. And
+ # we only really require AC_ARG_PROGRAM if any program is
+ # installed.
$seen_make_set = 1 if /AC_PROG_MAKE_SET/;
+ $seen_prog_install = 1 if /fp_PROG_INSTALL/;
+ $seen_arg_prog = 1 if /AC_ARG_PROGRAM/;
}
# If SUBDIRS defined, require AC_PROG_MAKE_SET.
&am_error ("AC_PROG_MAKE_SET must be used in configure.in")
if defined $contents{'SUBDIRS'} && ! $seen_make_set;
+ &am_error ("fp_PROG_INSTALL must be used in configure.in")
+ unless $seen_prog_install;
+ &am_error ("AC_ARG_PROGRAM must be used in configure.in")
+ unless $seen_arg_prog;
close (CONFIGURE);
}
+## Process this file with automake to create Makefile.in
+
AUTOMAKE_OPTIONS = gnits
bin_SCRIPTS = automake