mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-11-24 12:19:02 +00:00
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.
This commit is contained in:
parent
ee3a4f9dd6
commit
299c72e6ed
13 changed files with 75 additions and 63 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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
|
||||
|
|
18
dir.c
18
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 == ':'))
|
||||
|
|
18
function.c
18
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];
|
||||
|
|
|
@ -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". */
|
||||
{
|
||||
|
|
4
job.c
4
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;
|
||||
}
|
||||
|
|
8
main.c
8
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);
|
||||
|
|
|
@ -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
|
||||
# This rule tries to clean the tree right down to how it looks when you do a
|
||||
# virgin CVS checkout.
|
||||
|
||||
.PHONY: alpha
|
||||
alpha: $(ALPHA) $(TARFILE)
|
||||
@rm -f $(ALPHA)/$(TARFILE)
|
||||
cp -p $(TARFILE) $(ALPHA)
|
||||
.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)
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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?
|
||||
|
|
40
read.c
40
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)". */
|
||||
|
|
6
vpath.c
6
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] = '/';
|
||||
|
|
Loading…
Reference in a new issue