summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2002-08-10 01:27:16 +0000
committerPaul Smith <psmith@gnu.org>2002-08-10 01:27:16 +0000
commit299c72e6ed86a1e7a50ec1f5d1a813c383ed0345 (patch)
treed155f782aee6b11704d59a8dd958bc09d5b2c9d5
parentee3a4f9dd600b4a80a9957e2c3dd90c99d73cf0e (diff)
downloadgunmake-299c72e6ed86a1e7a50ec1f5d1a813c383ed0345.tar.gz
Update to a new version of automake and gettext.
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.
-rw-r--r--README.cvs7
-rw-r--r--config.h.W32.template3
-rw-r--r--configh.dos.template3
-rw-r--r--dir.c18
-rw-r--r--function.c18
-rw-r--r--implicit.c2
-rw-r--r--job.c4
-rw-r--r--main.c8
-rw-r--r--maintMakefile23
-rw-r--r--po/ChangeLog4
-rw-r--r--po/LINGUAS4
-rw-r--r--read.c40
-rw-r--r--vpath.c6
13 files changed, 76 insertions, 64 deletions
diff --git a/README.cvs b/README.cvs
index a6f9c9c..82e6f37 100644
--- a/README.cvs
+++ b/README.cvs
@@ -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
diff --git a/config.h.W32.template b/config.h.W32.template
index 148b217..4e48467 100644
--- a/config.h.W32.template
+++ b/config.h.W32.template
@@ -357,6 +357,9 @@
/* 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
*/
diff --git a/configh.dos.template b/configh.dos.template
index 8fe16fe..40ef770 100644
--- a/configh.dos.template
+++ b/configh.dos.template
@@ -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 088f751..8060528 100644
--- 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 == ':'))
diff --git a/function.c b/function.c
index c67d8a9..06b23d2 100644
--- a/function.c
+++ b/function.c
@@ -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];
diff --git a/implicit.c b/implicit.c
index 0a2b8d2..0ce7a49 100644
--- a/implicit.c
+++ b/implicit.c
@@ -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 5b8628a..63456a7 100644
--- 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 588c4c6..a04671d 100644
--- 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);
diff --git a/maintMakefile b/maintMakefile
index c919af6..2bc1949 100644
--- a/maintMakefile
+++ b/maintMakefile
@@ -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)
# ----------------------------------------------------------------------
diff --git a/po/ChangeLog b/po/ChangeLog
index 6c5321a..a362db7 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -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).
diff --git a/po/LINGUAS b/po/LINGUAS
index 55618e4..f542ed0 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -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 6d2de07..7dee3e3 100644
--- 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 000db97..065779b 100644
--- 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] = '/';