[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fix for HAVE_DOS_PATHS build on cygwin
From: |
Christopher Faylor |
Subject: |
Re: Fix for HAVE_DOS_PATHS build on cygwin |
Date: |
Thu, 17 Aug 2006 11:42:04 -0400 |
User-agent: |
Mutt/1.5.11 |
On Thu, Aug 17, 2006 at 10:23:35AM -0400, Bill Hoffman wrote:
>At 11:40 PM 8/16/2006, Christopher Faylor wrote:
>>I don't understand why isn't this just using the UNIX-ish settings for
>>Cygwin. The settings should, at the very least, be the same as the
>>UNIX-sh case.
>
>Because there was a bug where sh_chars_sh was being directly referenced if
>HAVE_DOS_PATHS was on. I have a new patch.
Yes, I got that. I didn't like the duplication of blocks of code,
especially since it changed one of the tables from what is currently
being used for Cygwin.
>diff -p make381orig/make-3.81/config.h.in make-3.81/config.h.in
>*** make381orig/make-3.81/config.h.in Sat Apr 1 01:40:00 2006
>--- make-3.81/config.h.in Wed Aug 16 16:31:10 2006
>***************
>*** 75,80 ****
>--- 75,84 ----
>
> /* Use platform specific coding */
> #undef HAVE_DOS_PATHS
>+ #ifdef __CYGWIN__
>+ #define HAVE_DOS_PATHS 1
>+ #endif
>+
>
> /* Define to 1 if you have the `dup2' function. */
> #undef HAVE_DUP2
>
>diff -p make381orig/make-3.81/job.c make-3.81/job.c
>*** make381orig/make-3.81/job.c Sun Mar 19 22:03:04 2006
>--- make-3.81/job.c Thu Aug 17 10:06:24 2006
>*************** construct_command_argv_internal (char *l
>*** 2521,2527 ****
> #endif
> if (p[1] != '\\' && p[1] != '\''
> && !isspace ((unsigned char)p[1])
>! && strchr (sh_chars_sh, p[1]) == 0)
> /* back up one notch, to copy the backslash */
> --p;
> #endif /* HAVE_DOS_PATHS */
>--- 2521,2527 ----
> #endif
> if (p[1] != '\\' && p[1] != '\''
> && !isspace ((unsigned char)p[1])
>! && strchr (sh_chars, p[1]) == 0)
> /* back up one notch, to copy the backslash */
> --p;
I don't think this is right. The comment above this line refers to operations
on "Unixy shells". I think that just adding something like:
#ifdef HAVE_DOS_PATHS
static const char *sh_chars_sh = sh_chars;
#endif
in the "#else /* must be UNIX-ish */" clause would probably handle this.
> #endif /* HAVE_DOS_PATHS */
>diff -p make381orig/make-3.81/make.h make-3.81/make.h
>*** make381orig/make-3.81/make.h Wed Feb 15 18:54:43 2006
>--- make-3.81/make.h Thu Aug 17 10:10:39 2006
>*************** extern int strcmpi (const char *,const c
>*** 347,353 ****
> #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 ','
>--- 347,353 ----
> #define S_(msg1,msg2,num) ngettext (msg1,msg2,num)
>
> /* Handle other OSs. */
>! #if defined(HAVE_DOS_PATHS) && !defined(__CYGWIN__)
> # define PATH_SEPARATOR_CHAR ';'
> #elif defined(VMS)
> # define PATH_SEPARATOR_CHAR ','
This is probably too big a change for this particular problem (and maybe
it's already been discussed to death) but I don't see why this setting
couldn't be in configure.in, too. Then MinGW could set
PATH_SEPARATOR_CHAR to ';', VMS could set it to ',' (shouldn't that be
'.'?), and Cygwin and every other "UNIX system" could just use the default.
cgf
- Fix for HAVE_DOS_PATHS build on cygwin, Bill Hoffman, 2006/08/16
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Eli Zaretskii, 2006/08/16
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Christopher Faylor, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Bill Hoffman, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin,
Christopher Faylor <=
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Bill Hoffman, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Eli Zaretskii, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Christopher Faylor, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Eli Zaretskii, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Christopher Faylor, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Eli Zaretskii, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Earnie Boyd, 2006/08/18
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Earnie Boyd, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Eli Zaretskii, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Earnie Boyd, 2006/08/18