]> sourceware.org Git - automake.git/commitdiff
More for PR automake/38:
authorTom Tromey <tromey@redhat.com>
Sun, 19 Mar 2000 22:34:19 +0000 (22:34 +0000)
committerTom Tromey <tromey@redhat.com>
Sun, 19 Mar 2000 22:34:19 +0000 (22:34 +0000)
* automake.texi (Invoking Automake): Document --force-missing.
* automake.in (force_missing): New global.
(parse_arguments): Recognize --force-missing.
(initialize_global_constants): Document --force-missing.
(require_file_internal): Handle --force-missing.

ChangeLog
automake.in
automake.texi

index 403b70d6558c7248a5cc62f88c7e922bbd281af3..a0b2547680c2e1b212fe5bf49788e008ad332b80 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2000-03-19  Tom Tromey  <tromey@cygnus.com>
 
+       More for PR automake/38:
+       * automake.texi (Invoking Automake): Document --force-missing.
+       * automake.in (force_missing): New global.
+       (parse_arguments): Recognize --force-missing.
+       (initialize_global_constants): Document --force-missing.
+       (require_file_internal): Handle --force-missing.
+
        Fix for PR automake/38:
        * automake.in (require_file_internal): Check for and handle
        dangling symlinks.  Fixes symlink2.test.
index 87c269348969204fa4d7c8a0e55ec6f94020dc63..b754d83f42c224b5146e6d71277fc6905b7fa87d 100755 (executable)
@@ -109,6 +109,9 @@ $add_missing = 0;
 # TRUE if we should copy missing files; otherwise symlink if possible.
 $copy_missing = 0;
 
+# TRUE if we should always update files that we know about.
+$force_missing = 0;
+
 # Files found by scanning configure.in for LIBOBJS.
 %libsources = ();
 
@@ -468,6 +471,10 @@ sub parse_arguments
        {
            $force_generation = 0;
        }
+       elsif ($arglist[0] eq '--force-missing')
+       {
+           $force_missing = 1;
+       }
        elsif ($arglist[0] =~ /^--output-dir=(.*)$/)
        {
            # Set output directory.
@@ -6654,6 +6661,7 @@ sub initialize_global_constants
   --amdir=DIR           directory storing config files
   -c, --copy            with -a, copy missing files (default is symlink)
   --cygnus              assume program is part of Cygnus-style tree
+  --force-missing       force update of standard files
   --foreign             set strictness to foreign
   --gnits               set strictness to gnits
   --gnu                 set strictness to gnu
@@ -7476,7 +7484,7 @@ sub require_file_internal
            }
        }
 
-       if ($found_it)
+       if ($found_it && ! $force_missing)
        {
            # Prune the path list.
            @require_file_paths = $save_dir;
@@ -7485,7 +7493,7 @@ sub require_file_internal
        {
            if ($strictness >= $mystrict)
            {
-               if ($dangling_sym)
+               if ($dangling_sym || $force_missing)
                {
                    unlink ($fullfile);
                }
index 6b743f1512124cc34282e2e1156774e5289ff623..4f1b3c26741edf7d2b51f9bc42eb10bc649714fb 100644 (file)
@@ -815,6 +815,13 @@ copied.  The default is to make a symbolic link.
 Causes the generated @file{Makefile.in}s to follow Cygnus rules, instead
 of GNU or Gnits rules.  For more information, see @ref{Cygnus}.
 
+@item --force-missing
+@opindex --force-missing
+When used with @code{--add-missing}, causes standard files to be rebuilt
+even if they already exist in the source tree.  This involves removing
+the file from the source tree before creating the new symlink (or, with
+@code{--copy}, copying the new file).
+
 @item --foreign
 @opindex --foreign
 Set the global strictness to @samp{foreign}.  For more information, see
This page took 0.041606 seconds and 5 git commands to generate.