[Top][All Lists]
[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/