> From: "William Sheehan" <[EMAIL PROTECTED]> > Date: Tue, 5 Sep 2006 11:03:22 -0700 > > Thanks for catching this; your patch works perfectly and does not > demonstrate any of the problems I was encountering before.
Thanks for testing. Paul, I recommend this patch (reproduced below) for inclusion in the development sources. There's one more problem with HAVE_DOS_PATHS: $abspath doesn't support it. I already submitted a patch for that, but it will not DTRT for Cygwin, now that Cygwin supports HAVE_DOS_PATHS. I will rework that patch and resubmit it soon. 2006-08-18 Eli Zaretskii <[EMAIL PROTECTED]> * config/dospaths.m4 <ac_cv_dos_paths>: Define to yes on Cygwin as well. * make.h (PATH_SEPARATOR_CHAR): Define only if still undefined. Normally, it is defined in config.h. * configure.in (PATH_SEPARATOR_CHAR): Define to the value of $PATH_SEPARATOR. * job.c (construct_command_argv_internal) [HAVE_DOS_PATHS]: Define sh_chars_sh for Windows platforms that emulate Unix. --- configure.in~0 2006-04-01 12:36:40.000000000 +0300 +++ configure.in 2006-08-18 21:12:32.828125000 +0300 @@ -384,6 +384,8 @@ ;; esac +AC_DEFINE_UNQUOTED(PATH_SEPARATOR_CHAR,'$PATH_SEPARATOR',[Define to the character that separates directories in PATH.]) + # Include the Maintainer's Makefile section, if it's here. MAINT_MAKEFILE=/dev/null --- make.h~0 2006-02-16 03:54:43.000000000 +0200 +++ make.h 2006-08-18 21:12:32.859375000 +0300 @@ -347,12 +347,14 @@ #define S_(msg1,msg2,num) ngettext (msg1,msg2,num) /* Handle other OSs. */ -#if defined(HAVE_DOS_PATHS) -# define PATH_SEPARATOR_CHAR ';' -#elif defined(VMS) -# define PATH_SEPARATOR_CHAR ',' -#else -# define PATH_SEPARATOR_CHAR ':' +#ifndef PATH_SEPARATOR_CHAR +# if defined(HAVE_DOS_PATHS) +# define PATH_SEPARATOR_CHAR ';' +# elif defined(VMS) +# define PATH_SEPARATOR_CHAR ',' +# else +# define PATH_SEPARATOR_CHAR ':' +# endif #endif /* This is needed for getcwd() and chdir(). */ --- config/dospaths.m4~0 2006-03-10 06:20:45.000000000 +0200 +++ config/dospaths.m4 2006-08-18 21:12:32.859375000 +0300 @@ -22,7 +22,7 @@ AC_CACHE_CHECK([whether system uses MSDOS-style paths], [ac_cv_dos_paths], [ AC_COMPILE_IFELSE([ -#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ && !defined __MSYS__ +#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ && !defined __MSYS__ && !defined __CYGWIN__ neither MSDOS nor Windows nor OS2 #endif ], --- job.c~0 2006-03-20 07:03:04.000000000 +0200 +++ job.c 2006-08-19 09:25:07.687500000 +0300 @@ -2307,6 +2307,12 @@ construct_command_argv_internal (char *l "login", "logout", "read", "readonly", "set", "shift", "switch", "test", "times", "trap", "umask", "wait", "while", 0 }; +# ifdef HAVE_DOS_PATHS + /* This is required if the MSYS/Cygwin ports (which do not define + WINDOWS32) are compiled with HAVE_DOS_PATHS defined, which uses + sh_chars_sh[] directly (see below). */ + static char *sh_chars_sh = sh_chars; +# endif /* HAVE_DOS_PATHS */ #endif register int i; register char *p; _______________________________________________ Make-w32 mailing list Make-w32@gnu.org http://lists.gnu.org/mailman/listinfo/make-w32