diff --git a/ChangeLog b/ChangeLog index f58922eb..6fdc292d 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 8caf14a0..b6956f79 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 ':'