From: Tom Tromey Date: Mon, 19 Feb 1996 00:18:16 +0000 (+0000) Subject: Fixed bugs from Gord Matzigkeit X-Git-Tag: Release-0-30~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f8e54caa2ad533f3ba719af50a8e628fc3cb4535;p=thirdparty%2Fautomake.git Fixed bugs from Gord Matzigkeit --- diff --git a/ChangeLog b/ChangeLog index ca5ba0946..8773f3c0f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +Sun Feb 18 17:10:00 1996 Tom Tromey + + * automake.in (handle_scripts): SCRIPTS no longer automatically + cleaned. Now possible to install scripts in pkgdatadir. + ($seen_canonical): New variable. + (generate_makefile): Check for config.guess and config.sub here; + fixes bug reported by Gord Matzigkeit. + + * Makefile.am (pkgdata_SCRIPTS): New variable. + (CLEANFILES): New macro. + + * scripts-clean.am: Removed. + Sat Feb 17 00:15:20 1996 Tom Tromey * automake.in (am_install_var): Error if primary variable actually diff --git a/Makefile.am b/Makefile.am index 84366acb0..df98f015d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,9 +19,13 @@ program.am programs.am remake-hdr.am \ remake-subd.am remake.am scripts.am subdirs.am tags.am tags-subd.am \ tags-clean.am \ texi-version.am texinfos-vars.am texinfos.am \ -libraries-clean.am scripts-clean.am programs-clean.am data-clean.am \ -COPYING INSTALL install-sh mdate-sh mkinstalldirs texinfo.tex \ -config.guess config.sub +libraries-clean.am programs-clean.am data-clean.am \ +COPYING INSTALL texinfo.tex + +## These must all be executable when installed. +pkgdata_SCRIPTS = config.guess config.sub install-sh mdate-sh mkinstalldirs + +CLEANFILES = automake # Gross. DIST_SUBDIRS = samples/cpio/*Makefile.am diff --git a/Makefile.in b/Makefile.in index b84241311..1f4a5b2d1 100644 --- a/Makefile.in +++ b/Makefile.in @@ -57,9 +57,12 @@ program.am programs.am remake-hdr.am \ remake-subd.am remake.am scripts.am subdirs.am tags.am tags-subd.am \ tags-clean.am \ texi-version.am texinfos-vars.am texinfos.am \ -libraries-clean.am scripts-clean.am programs-clean.am data-clean.am \ -COPYING INSTALL install-sh mdate-sh mkinstalldirs texinfo.tex \ -config.guess config.sub +libraries-clean.am programs-clean.am data-clean.am \ +COPYING INSTALL install-sh mdate-sh mkinstalldirs texinfo.tex + +pkgdata_SCRIPTS = config.guess config.sub + +CLEANFILES = automake # Gross. DIST_SUBDIRS = samples/cpio/*Makefile.am @@ -68,7 +71,7 @@ DIST_SUBDIRS = samples/cpio/*Makefile.am ETAGS_ARGS = automake.in --lang=none \ --regex='/^@node[ \t]+\([^,]+\)/\1/' automake.texi ACLOCAL = aclocal.m4 -SCRIPTS = $(bin_SCRIPTS) +SCRIPTS = $(bin_SCRIPTS) $(pkgdata_SCRIPTS) MAKEINFO = makeinfo @@ -110,15 +113,6 @@ $(srcdir)/configure: configure.in $(ACLOCAL) automake: $(top_builddir)/config.status automake.in cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status -mostlyclean-binSCRIPTS: - -clean-binSCRIPTS: - rm -f $(bin_SCRIPTS) - -distclean-binSCRIPTS: - -maintainer-clean-binSCRIPTS: - install-binSCRIPTS: $(bin_SCRIPTS) $(top_srcdir)/mkinstalldirs $(bindir) for p in $(bin_SCRIPTS); do \ @@ -132,6 +126,19 @@ uninstall-binSCRIPTS: rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \ done +install-pkgdataSCRIPTS: $(pkgdata_SCRIPTS) + $(top_srcdir)/mkinstalldirs $(pkgdatadir) + for p in $(pkgdata_SCRIPTS); do \ + if test -f $$p; then \ + $(INSTALL_SCRIPT) $$p $(pkgdatadir)/`echo $$p|sed '$(transform)'`; \ + else :; fi; \ + done + +uninstall-pkgdataSCRIPTS: + for p in $(pkgdata_SCRIPTS); do \ + rm -f $(pkgdatadir)/`echo $$p|sed '$(transform)'`; \ + done + version.texi: stamp-vti stamp-vti: automake.texi $(top_srcdir)/configure.in @@ -288,9 +295,9 @@ all-am: $(INFO_DEPS) $(SCRIPTS) $(DATA) Makefile install-exec-am: install-binSCRIPTS -install-data-am: install-info install-pkgdataDATA +install-data-am: install-info install-pkgdataSCRIPTS install-pkgdataDATA -uninstall-am: uninstall-binSCRIPTS uninstall-info uninstall-pkgdataDATA +uninstall-am: uninstall-binSCRIPTS uninstall-pkgdataSCRIPTS uninstall-info uninstall-pkgdataDATA install-exec: install-exec-recursive install-exec-am @@ -304,7 +311,8 @@ uninstall: uninstall-recursive uninstall-am all: all-recursive all-am installdirs: installdirs-recursive - $(top_srcdir)/mkinstalldirs $(bindir) $(infodir) $(pkgdatadir) + $(top_srcdir)/mkinstalldirs $(bindir) $(pkgdatadir) $(infodir) \ + $(pkgdatadir) mostlyclean-generic: @@ -320,18 +328,17 @@ distclean-generic: maintainer-clean-generic: test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean-am: mostlyclean-binSCRIPTS mostlyclean-vti mostlyclean-info \ - mostlyclean-tags mostlyclean-generic +mostlyclean-am: mostlyclean-vti mostlyclean-info mostlyclean-tags \ + mostlyclean-generic -clean-am: clean-binSCRIPTS clean-vti clean-info clean-tags \ - clean-generic mostlyclean-am +clean-am: clean-vti clean-info clean-tags clean-generic mostlyclean-am -distclean-am: distclean-binSCRIPTS distclean-vti distclean-info \ - distclean-tags distclean-generic clean-am +distclean-am: distclean-vti distclean-info distclean-tags \ + distclean-generic clean-am -maintainer-clean-am: maintainer-clean-binSCRIPTS maintainer-clean-vti \ - maintainer-clean-info maintainer-clean-tags \ - maintainer-clean-generic distclean-am +maintainer-clean-am: maintainer-clean-vti maintainer-clean-info \ + maintainer-clean-tags maintainer-clean-generic \ + distclean-am mostlyclean: mostlyclean-am mostlyclean-recursive @@ -345,16 +352,15 @@ maintainer-clean: maintainer-clean-am maintainer-clean-recursive @echo "it deletes files that may require special tools to rebuild." rm -f config.status -.PHONY: default mostlyclean-binSCRIPTS distclean-binSCRIPTS \ - clean-binSCRIPTS maintainer-clean-binSCRIPTS uninstall-binSCRIPTS \ - install-binSCRIPTS mostlyclean-vti distclean-vti clean-vti \ - maintainer-clean-vti install-info uninstall-info mostlyclean-info \ - distclean-info clean-info maintainer-clean-info \ - uninstall-pkgdataDATA install-pkgdataDATA install-data-recursive \ - uninstall-data-recursive install-exec-recursive \ - uninstall-exec-recursive installdirs-recursive \ - uninstalldirs-recursive all-recursive check-recursive \ - installcheck-recursive info-recursive dvi-recursive \ +.PHONY: default uninstall-binSCRIPTS install-binSCRIPTS \ + uninstall-pkgdataSCRIPTS install-pkgdataSCRIPTS mostlyclean-vti \ + distclean-vti clean-vti maintainer-clean-vti install-info \ + uninstall-info mostlyclean-info distclean-info clean-info \ + maintainer-clean-info uninstall-pkgdataDATA install-pkgdataDATA \ + install-data-recursive uninstall-data-recursive \ + install-exec-recursive uninstall-exec-recursive \ + installdirs-recursive uninstalldirs-recursive all-recursive \ + check-recursive installcheck-recursive info-recursive dvi-recursive \ mostlyclean-recursive distclean-recursive clean-recursive \ maintainer-clean-recursive tags mostlyclean-tags distclean-tags \ clean-tags maintainer-clean-tags dist info dvi check installcheck \ diff --git a/automake.in b/automake.in index 2b77b6863..9b027ea17 100755 --- a/automake.in +++ b/automake.in @@ -115,6 +115,9 @@ $seen_path_xtra = 0; # Whether YACC variable has been seen in configure.in. $seen_prog_yacc = 0; +# TRUE if we've seen AC_CANONICAL_(HOST|SYSTEM). +$seen_canonical = 0; + # Charsets used by maintainer and in distribution. MAINT_CHARSET is # handled in a funny way: if seen in the top-level Makefile.am, it is # used for every directory which does not specify a different value. @@ -276,6 +279,12 @@ sub generate_makefile &initialize_per_input; $relative_dir = &dirname ($makefile); + + # AC_CANONICAL_HOST and AC_CANONICAL_SYSTEM need config.guess and + # config.sub. + &require_file ($NORMAL, 'config.guess', 'config.sub') + if $relative_dir eq '.' && $seen_canonical; + # FIXME with new 'dist' target, don't need Makefile.in. Probably # should remove it here. &push_dist_common ('Makefile.in', 'Makefile.am'); @@ -628,11 +637,12 @@ sub handle_libraries # Handle scripts. sub handle_scripts { - # FIXME can't determine if these scripts are really being - # installed or not. - $scripts_installed = &am_install_var ('-clean', - 'scripts', 'SCRIPTS', - 'bin', 'sbin', 'libexec', 'noinst'); + # NOTE we no longer automatically clean SCRIPTS, because it is + # useful to sometimes distribute scripts verbatim. This happens + # eg in Automake itself. + $scripts_installed = &am_install_var ('scripts', 'SCRIPTS', + 'bin', 'sbin', 'libexec', 'pkgdata', + 'noinst'); } # Search a file for a "version.texi" Texinfo include. Return the name @@ -1593,7 +1603,6 @@ sub scan_configure local ($in_ac_output, @make_list) = 0; local ($seen_arg_prog) = 0; - local ($seen_canonical) = 0; local ($libobj_iter); while () { @@ -1712,12 +1721,6 @@ sub scan_configure # Set input files if not specified by user. @input_files = @make_list if (! @input_files); - # AC_CANONICAL_HOST and AC_CANONICAL_SYSTEM need config.guess and - # config.sub. - # FIXME if this fails should error reference line in configure.in? - &require_file ($NORMAL, 'config.guess', 'config.sub') - if $seen_canonical; - &am_conf_error ("AC_ARG_PROGRAM must be used in configure.in") unless $seen_arg_prog; diff --git a/lib/am/Makefile.am b/lib/am/Makefile.am index 84366acb0..df98f015d 100644 --- a/lib/am/Makefile.am +++ b/lib/am/Makefile.am @@ -19,9 +19,13 @@ program.am programs.am remake-hdr.am \ remake-subd.am remake.am scripts.am subdirs.am tags.am tags-subd.am \ tags-clean.am \ texi-version.am texinfos-vars.am texinfos.am \ -libraries-clean.am scripts-clean.am programs-clean.am data-clean.am \ -COPYING INSTALL install-sh mdate-sh mkinstalldirs texinfo.tex \ -config.guess config.sub +libraries-clean.am programs-clean.am data-clean.am \ +COPYING INSTALL texinfo.tex + +## These must all be executable when installed. +pkgdata_SCRIPTS = config.guess config.sub install-sh mdate-sh mkinstalldirs + +CLEANFILES = automake # Gross. DIST_SUBDIRS = samples/cpio/*Makefile.am diff --git a/scripts-clean.am b/scripts-clean.am deleted file mode 100644 index b4df2772e..000000000 --- a/scripts-clean.am +++ /dev/null @@ -1,25 +0,0 @@ -## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. - -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2, or (at your option) -## any later version. - -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. - -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -## 02111-1307, USA. -mostlyclean-@DIR@SCRIPTS: - -clean-@DIR@SCRIPTS: - rm -f $(@DIR@_SCRIPTS) - -distclean-@DIR@SCRIPTS: - -maintainer-clean-@DIR@SCRIPTS: