Update to a new version of automake and gettext.
authorPaul Smith <psmith@gnu.org>
Sat, 10 Aug 2002 01:27:16 +0000 (01:27 +0000)
committerPaul Smith <psmith@gnu.org>
Sat, 10 Aug 2002 01:27:16 +0000 (01:27 +0000)
Invent a new macro HAVE_DOS_PATHS and change various instances of:
  #if defined(WINDOWS) || defined(__MSDOS__)
to use the new macro instead.  This should help make the OS/2 port
cleaner, as well.
Invent a cvs-clean maintainer target that tries to get the workspace
back to the state it was in after a CVS checkout.
New language.

13 files changed:
README.cvs
config.h.W32.template
configh.dos.template
dir.c
function.c
implicit.c
job.c
main.c
maintMakefile
po/ChangeLog
po/LINGUAS
read.c
vpath.c

index a6f9c9ca35e799cc476cc3a63d383d55ef779ebe..82e6f3730f8310b6c8e88f129d46b7fff05dac60 100644 (file)
@@ -24,7 +24,7 @@ Building From CVS
 -----------------
 
 To build GNU make from CVS, you will need Autoconf 2.53 (or better),
-Automake 1.6.1 (or better), and Gettext 0.11.3-pre2 (or better), and any
+Automake 1.6.3 (or better), and Gettext 0.11.5 (or better), and any
 tools that those utilities require (GNU m4, Perl, etc.).  You will also
 need a copy of wget.
 
@@ -125,9 +125,8 @@ foolhardy), here is a canned sequence of commands to build a GNU make
 distribution package from a virgin CVS source checkout (assuming all the
 prerequisites are available of course).
 
-This list is eminently suitable for a quick swipe o' the old mouse and a
-swift click o' mouse-2 into an xterm.  I even grudgingly removed my use
-of "advanced shell features" like {}.  Go for it!
+This list is eminently suitable for a quick swipe o' the mouse and a
+swift click o' mouse-2 into an xterm.  Go for it!
 
 
 autopoint
index 148b21765c9a005e2e56d52dcc2bcf1af6217682..4e4846793b86f8b0a3e943f06c6bf6d3ecafe967 100644 (file)
 /* Build host information. */
 #define MAKE_HOST "Windows32"
 
+/* Grok DOS paths (drive specs and backslash path element separators) */
+#define HAVE_DOS_PATHS
+
 /*
  * Refer to README.W32 for info on the following settings
  */
index 8fe16febc52453b46543eb7872116750aa0336fc..40ef770516d8ce0af1a90757178599b58cd5ba43 100644 (file)
@@ -89,3 +89,6 @@
 
 /* Build host information. */
 #define MAKE_HOST "i386-pc-msdosdjgpp"
+
+/* Grok DOS paths (drive specs and backslash path element separators) */
+#define HAVE_DOS_PATHS
diff --git a/dir.c b/dir.c
index 088f751cb2be3df25b2da21b1bcea24622b78fef..80605281b87fc5e89b0e66e0c38fa048ccbb67be 100644 (file)
--- a/dir.c
+++ b/dir.c
@@ -744,7 +744,7 @@ file_exists_p (name)
     return dir_file_exists_p ("[]", name);
 #else /* !VMS */
   dirend = strrchr (name, '/');
-#if defined (WINDOWS32) || defined (__MSDOS__)
+#ifdef HAVE_DOS_PATHS
   /* Forward and backslashes might be mixed.  We need the rightmost one.  */
   {
     char *bslash = strrchr(name, '\\');
@@ -754,7 +754,7 @@ file_exists_p (name)
     if (!dirend && name[0] && name[1] == ':')
       dirend = name + 1;
   }
-#endif /* WINDOWS32 || __MSDOS__ */
+#endif /* HAVE_DOS_PATHS */
   if (dirend == 0)
 #ifndef _AMIGA
     return dir_file_exists_p (".", name);
@@ -768,7 +768,7 @@ file_exists_p (name)
     dirname = "/";
   else
     {
-#if defined (WINDOWS32) || defined (__MSDOS__)
+#ifdef HAVE_DOS_PATHS
   /* d:/ and d: are *very* different...  */
       if (dirend < name + 3 && name[1] == ':' &&
          (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
@@ -803,7 +803,7 @@ file_impossible (filename)
     dir = find_directory ("[]");
 #else
   dirend = strrchr (p, '/');
-# if defined (WINDOWS32) || defined (__MSDOS__)
+# ifdef HAVE_DOS_PATHS
   /* Forward and backslashes might be mixed.  We need the rightmost one.  */
   {
     char *bslash = strrchr(p, '\\');
@@ -813,7 +813,7 @@ file_impossible (filename)
     if (!dirend && p[0] && p[1] == ':')
       dirend = p + 1;
   }
-# endif /* WINDOWS32 or __MSDOS__ */
+# endif /* HAVE_DOS_PATHS */
   if (dirend == 0)
 # ifdef _AMIGA
     dir = find_directory ("");
@@ -829,7 +829,7 @@ file_impossible (filename)
        dirname = "/";
       else
        {
-#if defined (WINDOWS32) || defined (__MSDOS__)
+#ifdef HAVE_DOS_PATHS
          /* d:/ and d: are *very* different...  */
          if (dirend < p + 3 && p[1] == ':' &&
              (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
@@ -885,7 +885,7 @@ file_impossible_p (filename)
     dir = find_directory ("[]")->contents;
 #else
   dirend = strrchr (filename, '/');
-#if defined (WINDOWS32) || defined (__MSDOS__)
+#ifdef HAVE_DOS_PATHS
   /* Forward and backslashes might be mixed.  We need the rightmost one.  */
   {
     char *bslash = strrchr(filename, '\\');
@@ -895,7 +895,7 @@ file_impossible_p (filename)
     if (!dirend && filename[0] && filename[1] == ':')
       dirend = filename + 1;
   }
-#endif /* WINDOWS32 || __MSDOS__ */
+#endif /* HAVE_DOS_PATHS */
   if (dirend == 0)
 #ifdef _AMIGA
     dir = find_directory ("")->contents;
@@ -911,7 +911,7 @@ file_impossible_p (filename)
        dirname = "/";
       else
        {
-#if defined (WINDOWS32) || defined (__MSDOS__)
+#ifdef HAVE_DOS_PATHS
          /* d:/ and d: are *very* different...  */
          if (dirend < filename + 3 && filename[1] == ':' &&
              (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
index c67d8a970f0f3ccda6f7204cc395ab92a571df96..06b23d2fff48cd3d56d24d38d30b4eb0ed31e85a 100644 (file)
@@ -499,13 +499,13 @@ func_origin (o, argv, funcname)
 }
 
 #ifdef VMS
-#define IS_PATHSEP(c) ((c) == ']')
+# define IS_PATHSEP(c) ((c) == ']')
 #else
-#if defined(__MSDOS__) || defined(WINDOWS32)
-#define IS_PATHSEP(c) ((c) == '/' || (c) == '\\')
-#else
-#define IS_PATHSEP(c) ((c) == '/')
-#endif
+# ifdef HAVE_DOS_PATHS
+#  define IS_PATHSEP(c) ((c) == '/' || (c) == '\\')
+# else
+#  define IS_PATHSEP(c) ((c) == '/')
+# endif
 #endif
 
 
@@ -543,7 +543,7 @@ func_notdir_suffix (o, argv, funcname)
            continue;
          o = variable_buffer_output (o, p, len - (p - p2));
        }
-#if defined(WINDOWS32) || defined(__MSDOS__)
+#ifdef HAVE_DOS_PATHS
       /* Handle the case of "d:foo/bar".  */
       else if (streq (funcname, "notdir") && p2[0] && p2[1] == ':')
        {
@@ -599,7 +599,7 @@ func_basename_dir (o, argv, funcname)
            o = variable_buffer_output (o, p2, ++p - p2);
          else if (p >= p2 && (*p == '.'))
            o = variable_buffer_output (o, p2, p - p2);
-#if defined(WINDOWS32) || defined(__MSDOS__)
+#ifdef HAVE_DOS_PATHS
        /* Handle the "d:foobar" case */
          else if (p2[0] && p2[1] == ':' && is_dir)
            o = variable_buffer_output (o, p2, 2);
@@ -938,7 +938,7 @@ func_filter_filterout (o, argv, funcname)
   struct a_pattern *pathead;
   struct a_pattern **pattail;
   struct a_pattern *pp;
-  
+
   struct hash_table a_word_table;
   int is_filter = streq (funcname, "filter");
   char *pat_iterator = argv[0];
index 0a2b8d28f11d690a9b01de998b498ab60af33daf..0ce7a493bb43f8c79dac2b36495c43f72a72319a 100644 (file)
@@ -168,7 +168,7 @@ pattern_search (file, archive, depth, recursions)
        lastslash = strrchr (filename, ':');
 #else
       lastslash = strrchr (filename, '/');
-#if defined(__MSDOS__) || defined(WINDOWS32)
+#ifdef HAVE_DOS_PATHS
       /* Handle backslashes (possibly mixed with forward slashes)
         and the case of "d:file".  */
       {
diff --git a/job.c b/job.c
index 5b8628a3f61c4e40829772a292e0f05179c791b4..63456a7a817dd7d35f4843823b77f1838181ef11 100644 (file)
--- a/job.c
+++ b/job.c
@@ -2667,7 +2667,7 @@ construct_command_argv_internal (line, restp, shell, ifs, batch_filename_ptr)
              }
            else if (p[1] != '\0')
               {
-#if defined(__MSDOS__) || defined(WINDOWS32)
+#ifdef HAVE_DOS_PATHS
                 /* Only remove backslashes before characters special
                    to Unixy shells.  All other backslashes are copied
                    verbatim, since they are probably DOS-style
@@ -2691,8 +2691,8 @@ construct_command_argv_internal (line, restp, shell, ifs, batch_filename_ptr)
                       && (strchr (sh_chars_sh, p[1]) == 0))
                     /* back up one notch, to copy the backslash */
                     --p;
+#endif  /* HAVE_DOS_PATHS */
 
-#endif  /* __MSDOS__ || WINDOWS32 */
                 /* Copy and skip the following char.  */
                 *ap++ = *++p;
               }
diff --git a/main.c b/main.c
index 588c4c6bebba0ee78e523fd4d8b391481ebe20f0..a04671db193e48f30d4291a870194c372c487b71 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1345,15 +1345,15 @@ int main (int argc, char ** argv)
                                         + sizeof (DEFAULT_TMPFILE) + 1);
            strcpy (template, tmpdir);
 
-#if defined __MSDOS__ || defined(WINDOWS32)
+#ifdef HAVE_DOS_PATHS
            if (strchr ("/\\", template[strlen (template) - 1]) == NULL)
              strcat (template, "/");
 #else
-#ifndef VMS
+# ifndef VMS
            if (template[strlen (template) - 1] != '/')
              strcat (template, "/");
-#endif /* !VMS */
-#endif /* __MSDOS__ || WINDOWS32 */
+# endif /* !VMS */
+#endif /* !HAVE_DOS_PATHS */
 
            strcat (template, DEFAULT_TMPFILE);
            outfile = open_tmpfile (&stdin_nm, template);
index c919af628765249c18793065464ba2d1b108f4fe..2bc19497502a7b6d4e93e05a4a3ef2378d46be23 100644 (file)
@@ -78,18 +78,21 @@ build.sh.in: build.template Makefile
 #
 maintFILES = configure aclocal.m4 config.h.in Makefile.in stamp-h.in
 
-MAINTAINERCLEANFILES +=        $(maintFILES) $(TEMPLATES) $(MTEMPLATES) NMakefile \
+CVS-CLEAN-FILES +=     $(maintFILES) $(TEMPLATES) $(MTEMPLATES) NMakefile \
                        missing build.sh.in .dep_segment
 
-# Put the alpha distribution files up for anonymous FTP.
-#
-ALPHA  := ~ftp/gnu
-TARFILE        := $(distdir).tar.gz
-
-.PHONY: alpha
-alpha: $(ALPHA) $(TARFILE)
-       @rm -f $(ALPHA)/$(TARFILE)
-       cp -p $(TARFILE) $(ALPHA)
+# This rule tries to clean the tree right down to how it looks when you do a
+# virgin CVS checkout.
+
+.PHONY: cvs-clean
+cvs-clean: maintainer-clean
+       -rm -f *~
+       -rm -f config/*~ config/Makefile.in config/[a-z]*
+       -rm -f po/*~ po/Makefile.in.in po/Rules-quot po/[a-z]*
+       -rm -f doc/*~ doc/Makefile.in doc/fdl.texi doc/make-stds.texi \
+               doc/texinfo.tex
+       -rm -f glob/*~ glob/Makefile.in
+       -rm -f ABOUT-NLS $(CVS-CLEAN-FILES)
 
 
 # ----------------------------------------------------------------------
index 6c5321a7b90b71f7e51e8ff6347762f11950b223..a362db7e380b4f9eed393d551ef4c84ca1105ac4 100644 (file)
@@ -1,3 +1,7 @@
+2002-08-08  Paul D. Smith  <psmith@gnu.org>
+
+       * LINGUAS: Add a new translation for Chinese (simplified) (zh_CN).
+
 2002-08-02  Paul D. Smith  <psmith@gnu.org>
 
        * LINGUAS: Add a new translation for Swedish (sv).
index 55618e452f71f5738078b607c5f4c2ed37bdcee1..f542ed068ebd5df3b228487728898da8c6ed6556 100644 (file)
@@ -1,5 +1,5 @@
-# Set of available languages: 14 languages
+# Set of available languages: 16 languages
 
-da de es fr gl he hr ja ko nl pl pt_BR sv ru tr
+da de es fr gl he hr ja ko nl pl pt_BR sv ru tr zh_CN
 
 # Can't seem to get en@quot and en@boldquot to build properly?
diff --git a/read.c b/read.c
index 6d2de07da456c5fef69c28a30929f0389277d46c..7dee3e375f7d98af3134c4c4193efe2aa8d1223a 100644 (file)
--- a/read.c
+++ b/read.c
@@ -445,10 +445,6 @@ eval (ebuf, set_default)
   struct floc *fstart;
   struct floc fi;
 
-#if defined (WINDOWS32) || defined (__MSDOS__)
-  int check_again;
-#endif
-
 #define record_waiting_files()                                               \
   do                                                                         \
     {                                                                        \
@@ -932,7 +928,7 @@ eval (ebuf, set_default)
               }
 
             colonp = find_char_unquote(p2, ':', 0, 0);
-#if defined(__MSDOS__) || defined(WINDOWS32)
+#ifdef HAVE_DOS_PATHS
             /* The drive spec brain-damage strikes again...  */
             /* Note that the only separators of targets in this context
                are whitespace and a left paren.  If others are possible,
@@ -1104,17 +1100,21 @@ eval (ebuf, set_default)
                    || isspace ((unsigned char)p[-1])))
           p = 0;
 #endif
-#if defined (WINDOWS32) || defined (__MSDOS__)
-        do {
-          check_again = 0;
-          /* For MSDOS and WINDOWS32, skip a "C:\..." or a "C:/..." */
-          if (p != 0 && (p[1] == '\\' || p[1] == '/') &&
-              isalpha ((unsigned char)p[-1]) &&
-              (p == p2 + 1 || strchr (" \t:(", p[-2]) != 0)) {
-            p = strchr (p + 1, ':');
-            check_again = 1;
-          }
-        } while (check_again);
+#ifdef HAVE_DOS_PATHS
+        {
+          int check_again;
+
+          do {
+            check_again = 0;
+            /* For DOS paths, skip a "C:\..." or a "C:/..." */
+            if (p != 0 && (p[1] == '\\' || p[1] == '/') &&
+                isalpha ((unsigned char)p[-1]) &&
+                (p == p2 + 1 || strchr (" \t:(", p[-2]) != 0)) {
+              p = strchr (p + 1, ':');
+              check_again = 1;
+            }
+          } while (check_again);
+        }
 #endif
         if (p != 0)
           {
@@ -2048,7 +2048,7 @@ record_files (filenames, pattern, pattern_percent, deps, cmds_started,
         not start with a `.', unless it contains a slash.  */
       if (default_goal_file == 0 && set_default
          && (*name != '.' || strchr (name, '/') != 0
-#if defined(__MSDOS__) || defined(WINDOWS32)
+#ifdef HAVE_DOS_PATHS
                           || strchr (name, '\\') != 0
 #endif
              ))
@@ -2227,8 +2227,8 @@ parse_file_seq (stringp, stopchar, size, strip)
        p = find_char_unquote (p+1, stopchar, VMS_COMMA, 1);
       }
 #endif
-#if defined(WINDOWS32) || defined(__MSDOS__)
-    /* For WINDOWS32, skip a "C:\..." or a "C:/..." until we find the
+#ifdef HAVE_DOS_PATHS
+    /* For DOS paths, skip a "C:\..." or a "C:/..." until we find the
        first colon which isn't followed by a slash or a backslash.
        Note that tokens separated by spaces should be treated as separate
        tokens since make doesn't allow path names with spaces */
@@ -2687,7 +2687,7 @@ get_next_mword (buffer, delim, startp, length)
           goto done_word;
 
         case ':':
-#if defined(__MSDOS__) || defined(WINDOWS32)
+#ifdef HAVE_DOS_PATHS
          /* A word CAN include a colon in its drive spec.  The drive
             spec is allowed either at the beginning of a word, or as part
             of the archive member name, like in "libfoo.a(d:/foo/bar.o)".  */
diff --git a/vpath.c b/vpath.c
index 000db97c5511345458c2315b806204435aa77e07..065779bea1e228b527e2dc1a7179b2572fd1c692 100644 (file)
--- a/vpath.c
+++ b/vpath.c
@@ -348,7 +348,7 @@ vpath_search (file, mtime_ptr)
      there is nothing we can do.  */
 
   if (**file == '/'
-#if defined (WINDOWS32) || defined (__MSDOS__)
+#ifdef HAVE_DOS_PATHS
       || **file == '\\'
       || (*file)[1] == ':'
 #endif
@@ -404,7 +404,7 @@ selective_vpath_search (path, file, mtime_ptr)
      pointer to the name-within-directory and FLEN is its length.  */
 
   n = strrchr (*file, '/');
-#if defined (WINDOWS32) || defined (__MSDOS__)
+#ifdef HAVE_DOS_PATHS
   /* We need the rightmost slash or backslash.  */
   {
     char *bslash = strrchr(*file, '\\');
@@ -445,7 +445,7 @@ selective_vpath_search (path, file, mtime_ptr)
          n += name_dplen;
        }
 
-#if defined (WINDOWS32) || defined (__MSDOS__)
+#ifdef HAVE_DOS_PATHS
       /* Cause the next if to treat backslash and slash alike.  */
       if (n != name && n[-1] == '\\' )
        n[-1] = '/';