make-w32
[Top][All Lists]
Advanced

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

Re: Make CVS HEAD version build out of the box


From: Yongwei Wu
Subject: Re: Make CVS HEAD version build out of the box
Date: Sun, 30 Sep 2007 17:28:02 +0800

Hi Eli,

On 30/09/2007, Eli Zaretskii <address@hidden> wrote:
> > Date: Sun, 30 Sep 2007 11:20:52 +0800
> > From: "Yongwei Wu" <address@hidden>
> >
> > I found that the CVS HEAD version cannot build out of the box.  Please
> > review whether my patch is appropriate.
>
> Thank you.
>
> I have some comments and questions below:
>
> > --- build_w32.bat     4 Jul 2007 19:35:17 -0000       2.13
> > +++ build_w32.bat     30 Sep 2007 03:15:30 -0000
> > @@ -16,7 +16,7 @@ rem
> >  rem You should have received a copy of the GNU General Public License along
> >  rem with this program.  If not, see <http://www.gnu.org/licenses/>.
> >
> > -if not exist config.h copy config.h.W32 config.h
> > +if not exist config.h copy config.h.W32.template config.h
>
> This isn't right: the batch file is for building Make from an official
> tarball, not from CVS.  An official tarball will not have the
> *.template files.  I don't mind making the batch file work in the CVS
> sandbox as well, but not at the price of breaking the normal build.
> For example, you could _add_ the line you suggested, but without
> removing the line you suggest to remove.

I was really guessing my modification might not be right.  However, I
do not know how to build Make from CVS, and have not found
documentation.

Any simple guidelines?  I have access to Cygwin, native MinGW, and
MSVC (7.1).

> > --- dir.c     4 Jul 2007 19:35:18 -0000       1.66
> > +++ dir.c     30 Sep 2007 03:15:31 -0000
> > @@ -458,7 +458,7 @@ find_directory (const char *name)
> >        /* Remove any trailing '\'.  Windows32 stat fails even on valid
> >           directories if they end in '\'. */
> >        if (p[-1] == '\\')
> > -        p[-1] = '\0';
> > +        ((char *)p)[-1] = '\0';
> >  #endif
> >
> >  #ifdef VMS
> > @@ -471,7 +471,7 @@ find_directory (const char *name)
> >        /* Put back the trailing '\'.  If we don't, we're permanently
> >           truncating the value!  */
> >        if (p[-1] == '\0')
> > -        p[-1] = '\\';
> > +        ((char *)p)[-1] = '\\';
> >  #endif
>
> I don't understand why you needed these changes.  Which compiler did
> you use, and what error message(s) it emitted, that require such
> changes?

In the CVS version, "name" and "p" are now declared const char *.  So
any decent compiler should complain.  I was using GCC 3.4.5 when
compiling.

> > --- make.h    4 Jul 2007 19:35:19 -0000       1.129
> > +++ make.h    30 Sep 2007 03:15:35 -0000
> > @@ -329,7 +329,7 @@ char *strsignal (int signum);
> >  # define kill(_pid,_sig) w32_kill((_pid),(_sig))
> >
> >  void sync_Path_environment (void);
> > -int kill (int pid, int sig);
> > +int w32_kill (int pid, int sig);
> >  char *end_of_token_w32 (const char *s, char stopchar);
> >  int find_and_set_default_shell (const char *token);
>
> This change is fine with me.
>
> Thanks again for working on this.

You are welcome.

Best regards,

Yongwei

-- 
Wu Yongwei
URL: http://wyw.dcweb.cn/




reply via email to

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