Reviewers: Søren Gjesse,
Message:
Everyone: please take a look. Test it. Comment on it. Report issues.
Complain
about the workflow. Tell me what you think.
Basic usage:
Go to your base v8 dir, run "make -jX" to build (with X threads) and
"tools/test-wrapper-gypbuild.py" to test.
Advanced usage:
For more fine-grained make targets, look at the Makefile. E.g. you can make
"ia32", "ia32.debug", "ia32.release", or "ia32.release.check" -- the latter
will
build ia32.release and then run tests for it.
The GYP build supports distcc. If you have a bunch of fast machines around
running distccd, simply 'export CXX="distcc g++"' in your shell and
then 'make
-j100' :-)
The "...check" targets ignore the -jX flag when they start tests, because
tests
run locally. To control the number of tests performed concurrently, call
e.g.
"make ia32.check -j100 TESTJOBS=-j8" (default is TESTJOBS=-j16).
For more details on test-wrapper-gypbuild.py, run it with --help and/or
look at
its source. It conforms almost exactly to the old test.py script's
interface.
Good news:
- make is a lot faster than scons, especially for incremental builds. Distcc
considerably reduces the time needed for clean builds of all targets at
once.
- ia32 and x64 tests run significantly faster when built with make. Shorter
development cycles -- yay :-)
Bad news:
- ARM tests run significantly slower when built with make (on my machine,
~7min
instead of ~5min), and a couple of them even time out. I haven't yet been
able
to find out why, and would be glad to receive any hints/ideas/pointers.
Not tested yet (will do that shortly as time permits):
- generating VS or Xcode project files
- compiling V8 inside chromium
- ARM cross-compilation (as opposed to the simulator)
Description:
Make GYP build usable for day-to-day work
- Introduce a global Makefile that triggers GYP-based building
- Some fixes to .gyp[i] files to make everything work
- tools/test-wrapper-gypbuild.py as a temporary solution for easy testing
Please review this at http://codereview.chromium.org/7383006/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M .gitignore
A Makefile
M build/all.gyp
M build/armu.gypi
M build/common.gypi
M build/v8-features.gypi
A + preparser/preparser.gyp
M samples/samples.gyp
M src/d8.gyp
M test/cctest/cctest.gyp
M test/cctest/testcfg.py
M test/preparser/testcfg.py
M tools/gyp/v8.gyp
A tools/test-wrapper-gypbuild.py
M tools/test.py
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev