[Top][All Lists]

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

Re: Building cvs emacs on a dual-core machine

From: Eli Zaretskii
Subject: Re: Building cvs emacs on a dual-core machine
Date: Fri, 22 Dec 2006 23:50:11 +0200

> From: Eric Lilja <address@hidden>
> Date: Thu, 21 Dec 2006 01:14:45 +0100
> Eli Zaretskii wrote:
> >> From: Eric Lilja <address@hidden>
> >> Date: Wed, 20 Dec 2006 22:03:56 +0100
> >>
> >> Ok, here's where it errors out (same with --jobs=2 and --jobs=4):
> >> gcc -I. -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0400 -D_X86_=1 -c 
> >> -mno-cygwin -mtune=pentium4 -O2  -Di386 -D_CRTAPI1
> >> =_cdecl    -o oo-spd/i386/preprep.o preprep.c
> >> gcc -o oo-spd/i386/preprep.exe \
> >>                      -mno-cygwin  oo-spd/i386/preprep.o
> >>
> >> Essential Lisp files seem to be missing.  You should either
> >> do `make bootstrap' or create `lisp/abbrev.elc' somehow.
> >>
> >> mingw32-make: *** [maybe-bootstrap-SH] Error 255
> >>
> >> Yes, sorry, I'm on Windows.
> > 
> > That's an important piece of knowledge ;-)
> > 
> > What version of Make do you have?  What does "mingw32-make --version"
> > print?  The --jobs option started to work correctly on Windows only in
> > the latest version 3.81 of GNU Make.  If you don't have that version
> > of Make, --jobs will be very unreliable on Windows.
> $ mingw32-make --version
> GNU Make 3.81

I found and fixed several problems with Windows makefile's which
prevented parallel builds.  Please resync with CVS and try again, I
hope it will work now.

Note that, since the native Windows build of Make (including
mingw32-make) doesn't yet support the jobserver feature, it by default
invokes sub-Make's with --jobs=1 switch, and thus defeats parallelism
in recursive Make invocations.  I made a provision for working around
this; to use it, invoke the top-level Make in the nt/ subdirectory
like this:

    mingw32-make bootstrap --jobs=2 XMFLAGS="--jobs=2"

The XMFLAGS variable is used to pass an explicit --jobs option to
sub-Make's, overriding the default --jobs=1.  (There's no requirement
that the argument to --jobs on the command line must be identical to
what you put in XMFLAGS, you can use different numbers if you wish.)

Please tell if you have any additional problems with parallel builds
on Windows.

And thanks again for drawing our attention to this.

reply via email to

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