make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug in the expansion of $(MAKE) in GNU make 3.81


From: Eli Zaretskii
Subject: Re: Bug in the expansion of $(MAKE) in GNU make 3.81
Date: Fri, 17 Nov 2006 14:16:41 +0200

> Date: Fri, 17 Nov 2006 08:36:01 +0100
> From: Benoit Sigoure <address@hidden>
> 
> >
> > 2006-11-16  Eli Zaretskii  <address@hidden>
> >
> >     * main.c (main) [HAVE_DOS_PATHS]: Treat DOS style argv[0] with
> >     backslashes and drive letters as absolute.
> >
> > --- main.c~0        2006-03-20 06:36:37.000000000 +0200
> > +++ main.c  2006-11-16 23:04:00.642263000 +0200
> > @@ -1296,7 +1296,12 @@ main (int argc, char **argv, char **envp
> >     argv[0] = concat (current_directory, "/", argv[0]);
> > #else  /* !__MSDOS__ */
> >   if (current_directory[0] != '\0'
> > -      && argv[0] != 0 && argv[0][0] != '/' && strchr (argv[0], '/') != 0)
> > +      && argv[0] != 0 && argv[0][0] != '/' && strchr (argv[0], '/') != 0
> > +#ifdef HAVE_DOS_PATHS
> > +      && (argv[0][0] != '\\' && (!argv[0][0] || argv[0][1] != ':'))
> > +      && strchr (argv[0], '\\') != 0
> > +#endif
> > +      )
> >     argv[0] = concat (current_directory, "/", argv[0]);
> > #endif /* !__MSDOS__ */
> > #endif /* WINDOWS32 */
> >
> 
> $ pwd
> /tmp
> $ rm -rf make-3.81 && md5sum make-3.81.tar.gz && tar xfz 
> make-3.81.tar.gz && cd
> make-3.81 && patch -p0 < ../make_patch2 && ./configure && make && cd /tmp/mk/3
> && /tmp/make-3.81/make && C:/cygwin/tmp/make-3.81/make
> a4e9494ac6dc3f6b0c5ff75c5d52abba *make-3.81.tar.gz
> patching file main.c
> [configure]
> [compiling]
> make[1]: Leaving directory `/tmp/make-3.81'
> echo /tmp/make-3.81/make
> /tmp/make-3.81/make
> /tmp/make-3.81/make foo
> make[1]: Entering directory `/tmp/mk/3'
> echo foo
> foo
> make[1]: Leaving directory `/tmp/mk/3'
> echo
> /tmp/mk/3/C:/cygwin/tmp/make-3.81/make/tmp/mk/3/C:/cygwin/tmp/make-3.81/make
> /tmp/mk/3/C:/cygwin/tmp/make-3.81/make foo
> make: /tmp/mk/3/C:/cygwin/tmp/make-3.81/make: Command not found
> make: *** [all] Error 127

Did you patch the stock Cygwin sources of Make 3.81 or the ones that
have the HAVE_DOS_PATHS patch applied?  The patch I sent will only
work with the latter, not with the former.

> I haven't had time to look closer at the issue, maybe I'll try to debug 
> the code
> tonight or provide you with more information from gdb but unfortunately I have
> almost no free time in my hands atm and I have lots of projects to port to
> windows (*sigh*).

Please do try to see what's going on around line 1300 in main.c.  TIA




reply via email to

[Prev in Thread] Current Thread [Next in Thread]