summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>1999-09-02 00:31:21 +0000
committerPaul Smith <psmith@gnu.org>1999-09-02 00:31:21 +0000
commit10fee1c03c9dcf887314c04612224aeadcba6dd7 (patch)
tree47fa3887e014eb0021383dca9d7fb75764d43e95
parent82f0c5495afcf82b7cf82cbd69fa2f8f63c6b241 (diff)
downloadgunmake-10fee1c03c9dcf887314c04612224aeadcba6dd7.tar.gz
* A few W32 fixes for backslash support.
-rw-r--r--ChangeLog7
-rw-r--r--function.c2
-rw-r--r--implicit.c2
-rw-r--r--main.c8
-rw-r--r--read.c6
5 files changed, 18 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 28805a5..3b80863 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
1999-09-01 Paul D. Smith <psmith@gnu.org>
+ * function.c (IS_PATHSEP) [WINDOWS32]: Allow backslash separators
+ for W32 platforms.
+ * read.c (record_files) [WINDOWS32]: Allow backslash separators
+ for W32 platforms.
+ * implicit.c (pattern_search) [WINDOWS32]: Allow backslash
+ separators for W32 platforms.
+
* configure.in (MAKE_HOST): Define it to be the canonical build
host info, now that we need AC_CANONICAL_HOST anyway (for large
file support).
diff --git a/function.c b/function.c
index 0acfd7e..f6f482a 100644
--- a/function.c
+++ b/function.c
@@ -472,7 +472,7 @@ func_origin(o, argv, funcname)
#ifdef VMS
#define IS_PATHSEP(c) ((c) == ']')
#else
-#ifdef __MSDOS__
+#if defined(__MSDOS__) || defined(WINDOWS32)
#define IS_PATHSEP(c) ((c) == '/' || (c) == '\\')
#else
#define IS_PATHSEP(c) ((c) == '/')
diff --git a/implicit.c b/implicit.c
index b16ad6e..5ff7e18 100644
--- a/implicit.c
+++ b/implicit.c
@@ -168,7 +168,7 @@ pattern_search (file, archive, depth, recursions)
lastslash = rindex (filename, ']');
#else
lastslash = rindex (filename, '/');
-#ifdef __MSDOS__
+#if defined(__MSDOS__) || defined(WINDOWS32)
/* Handle backslashes (possibly mixed with forward slashes)
and the case of "d:file". */
{
diff --git a/main.c b/main.c
index b94dda3..86921bc 100644
--- a/main.c
+++ b/main.c
@@ -2540,18 +2540,20 @@ print_version ()
/* Do it only once. */
return;
- printf ("%sGNU Make %s (%s)", precede, version_string, make_host);
+ printf ("%sGNU Make %s", precede, version_string);
if (remote_description != 0 && *remote_description != '\0')
printf ("-%s", remote_description);
- printf (_(", by Richard Stallman and Roland McGrath.\n\
+ printf (_(" (%s)\n\
+%s by Richard Stallman and Roland McGrath.\n\
%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99\n\
%s\tFree Software Foundation, Inc.\n\
%sThis is free software; see the source for copying conditions.\n\
%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
%sPARTICULAR PURPOSE.\n\n\
%sReport bugs to <bug-make@gnu.org>.\n\n"),
- precede, precede, precede, precede, precede, precede);
+ make_host,
+ precede, precede, precede, precede, precede, precede, precede);
printed_version = 1;
diff --git a/read.c b/read.c
index 400a62c..bf2be05 100644
--- a/read.c
+++ b/read.c
@@ -692,7 +692,9 @@ read_makefile (filename, flags)
| (noerror ? RM_DONTCARE : 0)))
&& ! noerror)
error (&fileinfo, "%s: %s", name, strerror (errno));
- free(name);
+
+ /* We can't free NAME here, in case some of the commands,
+ etc. still contain references to the filename. */
}
/* Free any space allocated by conditional_line. */
@@ -1725,7 +1727,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 != '.' || index (name, '/') != 0
-#ifdef __MSDOS__
+#if defined(__MSDOS__) || defined(WINDOWS32)
|| index (name, '\\') != 0
#endif
))