[webkit-dev] [chromium] make build for chromium/mac (build twice as fast!) & clang for chromium/linux

Nico Weber thakis at chromium.org
Mon Oct 24 22:17:39 PDT 2011

If you're now getting

  clang: error: unable to execute command: posix_spawn failed: Exec format error

when ld is running, you're probably using Dave Levin's fake ld script
without a she-bang line. Add "#!/bin/bash" to the first line of your
/usr/bin/ld script in that case. (Or, if you're using the make build,
ld is now serialized by default, so you can just mv /usr/bin/real-ld
back to /usr/bin/ld.)


On Fri, Oct 21, 2011 at 1:37 PM, Nico Weber <thakis at chromium.org> wrote:
> Hi,
> if you don't work on the chromium webkit port for mac or linux, you
> can stop reading now.
> Three announcements about stand-alone webkit/chromium checkouts:
> 1.) Chromium/mac is now compiled with clang instead of gcc by default.
> This happens automatically, you don't need to do anything (on your
> local dev box, too). If you were wondering why compiler diagnostics
> are so much better all of a sudden, this is why. On my machine, this
> also brought the time for a full build from 23 minutes to 17 minutes.
> 2.) Chromium/mac can now optionally be built with make instead of
> xcodebuild. To do this, run update-webkit with GYP_GENERATORS set to
> make like this:
>    GYP_GENERATORS=make Tools/Scripts/update-webkit --chromium
> build-webkit will then use make instead of xcodebuild, and
> new-run-webkit-tests will use the make-produced binary. On my machine,
> this reduced full build times from 17 minutes to 12 minutes (50% of
> the original gcc & xcodebuild build time). If you build from within
> the Xcode IDE as opposed to on the command line, the speed-up might be
> a bit smaller. (To switch back to xcodebuild, run the command again
> without GYP_GENERATORS set, and delete the out/ folder.)
> (Note that this uses mac xcode_settings in the gyp files, not the
> linux-specific variables like cflags. This should hopefully make it
> fairly unlikely that the behavior of the make build and the xcode
> build diverge much.)
> 3.) As a side effect, the linux make build now supports clang as well.
> To use clang on linux, run
>    Source/WebKit/chromium/tools/clang/scripts/update.sh  # get clang,
> happens automatically on mac
>    GYP_DEFINES=clang=1 Tools/Scripts/update-webkit --chromium
> and then build like you normally would (`build-webkit --chromium`). On
> linux, this mostly gets you better diagnostics, the build doesn't get
> all that much faster (it goes from 9:40 minutes with gcc4.4. to 8:30
> minutes with clang on my linux box – only about 12% faster, and
> probably even less if you use a distributed build system).
> Let me know if you run into any issues.
> Nico

More information about the webkit-dev mailing list