-----------------
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.
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
/* 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
*/
/* Build host information. */
#define MAKE_HOST "i386-pc-msdosdjgpp"
+
+/* Grok DOS paths (drive specs and backslash path element separators) */
+#define HAVE_DOS_PATHS
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, '\\');
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);
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 == ':'))
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, '\\');
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 ("");
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 == ':'))
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, '\\');
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;
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 == ':'))
}
#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
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] == ':')
{
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);
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];
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". */
{
}
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
&& (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;
}
+ 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);
#
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)
# ----------------------------------------------------------------------
+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).
-# 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?
struct floc *fstart;
struct floc fi;
-#if defined (WINDOWS32) || defined (__MSDOS__)
- int check_again;
-#endif
-
#define record_waiting_files() \
do \
{ \
}
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,
|| 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)
{
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
))
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 */
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)". */
there is nothing we can do. */
if (**file == '/'
-#if defined (WINDOWS32) || defined (__MSDOS__)
+#ifdef HAVE_DOS_PATHS
|| **file == '\\'
|| (*file)[1] == ':'
#endif
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, '\\');
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] = '/';