]> sourceware.org Git - automake.git/commitdiff
Allow extended range of install directories
authorTom Tromey <tromey@redhat.com>
Fri, 1 Mar 1996 04:50:32 +0000 (04:50 +0000)
committerTom Tromey <tromey@redhat.com>
Fri, 1 Mar 1996 04:50:32 +0000 (04:50 +0000)
ChangeLog
TODO
automake.in
automake.texi
tests/ChangeLog
tests/Makefile.am
tests/Makefile.in
tests/confincl.test [new file with mode: 0755]
tests/spelling.test [new file with mode: 0755]
version.texi

index 26c7f9708b1798dfac1f92f8f3822638c3c05cd5..6f38c14e0c9d1497565bb36da105d26775b4906e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 Thu Feb 29 12:00:30 1996  Tom Tromey  <tromey@creche.cygnus.com>
 
+       * automake.in (am_install_var): Allow extended range of
+       installation directories.
+
        * automake.in (get_object_extension): Don't allow
        @CONFIG_INCLUDE_SPEC@ in the Makefile.in when config.h not used.
        From Gord Matzigkeit.  Test confincl.test.
diff --git a/TODO b/TODO
index e7572104b0a31962b3d9bfbe158899a3bd6a99e5..3b8c8c6c284fed925b11b937875fb0906202eb2a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,7 +1,6 @@
 Priorities for release:
 * Check all require_file errors to see if any should reference a line in
   Makefile.am or configure.in.  [handle_configure does]
-* test gettext stuff for po/intl?
 * handle AC_CONFIG_AUX_DIR; must include install-sh
   what about mkinstalldirs, mdate-sh?
 
index 9618f1039a1d3638a3cffde376816b4b8bd847cd..b6943319e459de43c34924d184f452c02ab5709a 100755 (executable)
@@ -2333,6 +2333,31 @@ sub am_install_var
     &am_line_error ($primary, "\`$primary' is an anachronism")
        if defined $contents{$primary};
 
+
+    # Look for misspellings.  It is an error to have a variable ending
+    # in a "reserved" suffix whose prefix is unknown, eg
+    # "bni_PROGRAMS".  However, unusual prefixes are allowed if a
+    # variable of the same name (with "dir" appended) exists.  For
+    # instance, if the variable "zardir" is defined, then
+    # "zar_PROGRAMS" becomes valid.  This is to provide a little extra
+    # flexibility in those cases which need it.  Perhaps it should be
+    # disallowed in the Gnits case?  The problem is, sometimes it is
+    # useful to put things in a subdir of eg pkgdatadir, perhaps even
+    # for Gnitsoids.
+    local (%valid, $varname);
+    grep ($valid{$_} = 0, @prefixes);
+    $valid{'EXTRA'} = 0;
+    foreach $varname (keys %contents)
+    {
+       if ($varname =~ /^(.*)_$primary$/)
+       {
+           if (! defined $valid{$1} && ! defined $contents{$1 . 'dir'})
+           {
+               &am_line_error ($varname, "invalid variable \"$varname\"");
+           }
+       }
+    }
+
     local ($clean_file) = $file . '-clean';
     local ($one_name);
     local ($X);
@@ -2394,20 +2419,6 @@ sub am_install_var
     push (@all, '$(' . $primary . ')')
        if $do_all && @used;
 
-    # Look for misspellings.  It is an error to have a variable ending
-    # in a "reserved" suffix whose prefix is unknown, eg
-    # "bni_PROGRAMS".
-    local (%valid, $varname);
-    grep ($valid{$_} = 0, @prefixes);
-    $valid{'EXTRA'} = 0;
-    foreach $varname (keys %contents)
-    {
-       if ($varname =~ /^(.*)_$primary$/ && ! defined $valid{$1})
-       {
-           &am_line_error ($varname, "invalid variable \"$varname\"");
-       }
-    }
-
     push (@result, split (/\s+/, $contents{'EXTRA_' . $primary}))
        if defined $contents{'EXTRA_' . $primary};
 
index bac8cbd8296d19f668ae0f0d726f7dffb14fa149..88788149f5454af54f4cffd1dafa6428130e7cab 100644 (file)
@@ -324,7 +324,15 @@ variable names; thus one writes @samp{bin_PROGRAMS} and not
 @samp{bindir_PROGRAMS}.
 
 Not every sort of object can be installed in every directory.  Automake
-will flag those attempts it finds in error.
+will flag those attempts it finds in error.  Automake will also diagnose
+obvious misspellings in directory names.
+
+Sometimes the standard directories -- even as augmented by Automake --
+are not enough.  In particular it is sometimes useful, for clarity, to
+install objects in a subdirectory of some predefined directory.  To this
+end, Automake allows you to extend the list of possible installation
+directories.  A given prefix (eg @samp{zar}) is valid if a variable of
+the same name with @samp{dir} appended is defined (eg @samp{zardir}).
 
 The special prefix @samp{noinst} indicates that the objects in question
 should not be installed at all.
index 9be64689dae6fb1347ce4ce4785ff1d232e8fa5a..6feea6c80b3af1ab9b1469c797b9b1688e2c58bb 100644 (file)
@@ -1,6 +1,10 @@
 Thu Feb 29 20:23:42 1996  Tom Tromey  <tromey@creche.cygnus.com>
 
+       More tests:
+       * prefix.test: New file.
+       * spelling.test: New file
        * confincl.test: New file.
+       * Makefile.am (TESTS): Updated.
 
 Wed Feb 28 11:57:02 1996  Tom Tromey  <tromey@creche.cygnus.com>
 
index 63bb4e26afe1e8e17575c54cf3de56000910f57a..372fdd8c90ddbbbeb86c273ec39974736596c935 100644 (file)
@@ -6,6 +6,6 @@ AUTOMAKE_OPTIONS = gnits
 ## Perhaps he is right.
 TESTS = mdate.test vtexi.test acoutput.test instexec.test checkall.test \
 acoutnoq.test acouttbs.test libobj.test proginst.test acoutqnl.test \
-confincl.test
+confincl.test spelling.test prefix.test
 
 DIST_OTHER = defs
index a739f44e944a0e7e407bdd81050d5d4266e6743c..0a7b9eb02cc4df5aa5019585135152aa296bbfbf 100644 (file)
@@ -42,7 +42,7 @@ AUTOMAKE_OPTIONS = gnits
 
 TESTS = mdate.test vtexi.test acoutput.test instexec.test checkall.test \
 acoutnoq.test acouttbs.test libobj.test proginst.test acoutqnl.test \
-confincl.test
+confincl.test spelling.test prefix.test
 
 DIST_OTHER = defs
 DIST_COMMON = ChangeLog Makefile.am Makefile.in
diff --git a/tests/confincl.test b/tests/confincl.test
new file mode 100755 (executable)
index 0000000..de0e1a9
--- /dev/null
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+# This tests for a bug reported by Gord Matzigkeit.
+# If config.h is not used, @CONFIG_INCLUDE_SPEC@ should not appear
+# in Makefile.in.
+
+. $srcdir/defs || exit 1
+
+cat > Makefile.am << 'EOF'
+bin_PROGRAMS = fred
+EOF
+
+$AUTOMAKE || exit 1
+
+if grep '@CONFIG_INCLUDE_SPEC@' Makefile.in; then
+   exit 1
+fi
+exit 0
diff --git a/tests/spelling.test b/tests/spelling.test
new file mode 100755 (executable)
index 0000000..b0cf203
--- /dev/null
@@ -0,0 +1,14 @@
+#! /bin/sh
+
+# Test to make sure that misspelled prefixes actually cause error.
+
+. $srcdir/defs || exit 1
+
+cat > Makefile.am << 'EOF'
+bni_PROGRAMS = zot
+EOF
+
+if $AUTOMAKE; then
+   exit 1
+fi
+exit 0
index e461abcd20d3fd217990b7f326fbc38bd5410717..4229ceb4adc36ae3115ede292835664fea3d8fd5 100644 (file)
@@ -1,3 +1,3 @@
-@set UPDATED 28 February 1996
+@set UPDATED 29 February 1996
 @set EDITION 0.31
 @set VERSION 0.31
This page took 0.044722 seconds and 5 git commands to generate.