Revision: 12884
Author: [email protected]
Date: Wed Nov 7 05:02:58 2012
Log: Edited wiki page BuildingWithGYP through web user interface.
http://code.google.com/p/v8/source/detail?r=12884
Modified:
/wiki/BuildingWithGYP.wiki
=======================================
--- /wiki/BuildingWithGYP.wiki Sat Aug 4 12:50:53 2012
+++ /wiki/BuildingWithGYP.wiki Wed Nov 7 05:02:58 2012
@@ -1,6 +1,6 @@
#summary Instructions to build V8 using GYP
-<font color="darkred">*The instructions for the GYP build supersede the
instructions for the SCons build, which will be deprecated soon. If the GYP
build does not suit your needs, please file a bug at
code.google.com/p/v8/issues or send mail to
[email protected].*</font>
+<font color="darkred">*Build issues? File a bug at
code.google.com/p/v8/issues or ask for help on
[email protected].*</font>
=Building V8=
@@ -10,7 +10,7 @@
==Prerequisite: Installing GYP==
-First, you need GYP itself. On systems that have make (Linux, Mac, cygwin,
most other Unixes), this is as easy as:
+First, you need GYP itself. On systems that have {{{make}}} (Linux, Mac,
most other Unixes), this is as easy as:
{{{
make dependencies
}}}
@@ -28,7 +28,7 @@
====Build instructions====
-Building is configured in the top-level Makefile. It defines a number of
targets for each target architecture ({{{ia32}}}, {{{x64}}}, {{{arm}}}
which is the ARM simulator) and mode ({{{debug}}} or {{{release}}}). So
your basic command for building is:
+The top-level Makefile defines a number of targets for each target
architecture ({{{ia32}}}, {{{x64}}}, {{{arm}}}) and mode ({{{debug}}} or
{{{release}}}). So your basic command for building is:
{{{
make ia32.release
}}}
@@ -80,14 +80,14 @@
* {{{debuggersupport=off}}} disables the javascript debugger.
- * {{{TESTJOBS=-j8}}} will run tests (see below) with 8 parallel jobs. Do
not set this to a higher value than the number of CPU cores you have, or
some tests will timeout (which counts as failure).
-
* {{{werror=no}}} omits the -Werror flag. This is especially useful for
not officially supported C++ compilers (e.g. newer versions of the GCC) so
that compile warnings are ignored.
* {{{strictaliasing=off}}} passes the -fno-strict-aliasing flag to GCC.
This may help to work around build failures on officially unsupported
platforms and/or GCC versions.
* {{{regexp=interpreted}}} chooses the interpreted mode of the irregexp
regular expression engine instead of the native code mode.
+ * {{{hardfp=on}}} creates "hardfp" binaries on ARM.
+
====Testing:====
You can append {{{.check}}} to any build target to have tests run for it,
e.g.
@@ -100,16 +100,15 @@
You can also run tests manually:
{{{
-tools/test-wrapper-gypbuild.py -j8 --arch-and-mode=ia32.release
[--outdir=foo]
+tools/run-tests.py --arch-and-mode=ia32.release [--outdir=foo]
}}}
Or you can run individual tests:
{{{
-tools/test-wrapper-gypbuild.py --arch=ia32 cctest/test-heap/SymbolTable
mjsunit/delete-in-eval
+tools/run-tests.py --arch=ia32 cctest/test-heap/SymbolTable
mjsunit/delete-in-eval
}}}
Run the script with {{{--help}}} to find out about its other options.
--outdir defaults to {{{out}}}.
-Expect this syntax to change slightly when we remove support for SCons and
merge the wrapper with the original {{{tools/test.py}}} script.
===Clang + make===
@@ -120,6 +119,16 @@
export GYP_DEFINES="clang=1"
}}}
After that, you can simply call {{{make}}} with any target as discussed in
the [BuildingWithGYP#GCC_+_make GCC + make] section.
+
+
+===Cross-compiling===
+
+Similar to building with Clang, you can also use a cross-compiler. Just
export your toolchain ({{{CXX}}}/{{{LINK}}} environment variables should be
enough) and compile. For example:
+{{{
+export CXX=/path/to/cross-compile-g++
+export LINK=/path/to/cross-compile-g++
+make arm.release
+}}}
===Xcode===
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev