summaryrefslogtreecommitdiff
path: root/make.h
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2012-01-16 21:29:44 +0000
committerPaul Smith <psmith@gnu.org>2012-01-16 21:29:44 +0000
commit9fb4cdeedb2fb7e1a3dd19f2ce77fc5e0022d904 (patch)
tree3afbdc99a583050905e03f3661773fb7ba81886e /make.h
parent0bdc1915017d91fb8e5474a4bec80f79eb207cff (diff)
downloadgunmake-9fb4cdeedb2fb7e1a3dd19f2ce77fc5e0022d904.tar.gz
Fix an issue with PATH_SEPARATOR_CHAR when cross-compiling for Windows.
Fixes Savannah bug #34818.
Diffstat (limited to 'make.h')
-rw-r--r--make.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/make.h b/make.h
index 8caf14a..b6956f7 100644
--- a/make.h
+++ b/make.h
@@ -315,11 +315,15 @@ char *strsignal (int signum);
#define N_(msgid) gettext_noop (msgid)
#define S_(msg1,msg2,num) ngettext (msg1,msg2,num)
-/* Handle other OSs. */
-#ifndef PATH_SEPARATOR_CHAR
-# if defined(HAVE_DOS_PATHS)
-# define PATH_SEPARATOR_CHAR ';'
-# elif defined(VMS)
+/* Handle other OSs.
+ To overcome an issue parsing paths in a DOS/Windows environment when
+ built in a unix based environment, override the PATH_SEPARATOR_CHAR
+ definition unless being built for Cygwin. */
+#if defined(HAVE_DOS_PATHS) && !defined(__CYGWIN__)
+# undef PATH_SEPARATOR_CHAR
+# define PATH_SEPARATOR_CHAR ';'
+#elif !defined(PATH_SEPARATOR_CHAR)
+# if defined (VMS)
# define PATH_SEPARATOR_CHAR ','
# else
# define PATH_SEPARATOR_CHAR ':'