From 9fb4cdeedb2fb7e1a3dd19f2ce77fc5e0022d904 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Mon, 16 Jan 2012 21:29:44 +0000 Subject: [PATCH] Fix an issue with PATH_SEPARATOR_CHAR when cross-compiling for Windows. Fixes Savannah bug #34818. --- ChangeLog | 6 ++++++ make.h | 14 +++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index f58922e..6fdc292 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-01-16 Paul Smith + + * make.h (PATH_SEPARATOR_CHAR): Allow resetting for crosscompiling + for Windows. Patch by Chris Sutcliffe + Fixes Savannah bug #34818. + 2012-01-15 Paul Smith * variable.h: Prototype an interface for defining new make functions. 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 ':' -- 2.7.4