v8/build
rodolph.perfetta@gmail.com caa37597ad ARM: Makefile/gyp update allowing better control of ARM specific options.
This patch defines new makefile command line paramaters to better control the
ARM specific options. The new paramters are
 * armfpu      = vfp, vfpv3-d16, vfpv3, neon.
 * armfloatabi = softfp, hard
 * armneon     = on
 * armthumb    = on, off
 * armtest     = on
One existing paratemer has been modified:
 * armv7       = true, false
A number of parameters have been deprecated (but are still working):
 * hardfp      = on, off
 * vfp2        = off
 * vfp3        = off

the armtest paratmer when set to "on" will lock the options used during compile
time at runtime. This allows for example to easily test the ARMv6 build on an
ARMv7 platform without having to worry about features detected at runtime. When
not specified the compiler default will be used meaning it is not necessary
anymore to specify hardfp=on when natively building on an hardfp platform.

The shell help now prints the target options and features detected.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/14263018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:39:48 +00:00
..
all.gyp Added check for trailing whitespaces and corrected existing violations. 2011-09-01 11:28:10 +00:00
android.gypi Rename android_build_type to android_webview_build. 2013-03-12 17:35:33 +00:00
common.gypi ARM: Makefile/gyp update allowing better control of ARM specific options. 2013-04-16 14:39:48 +00:00
gyp_v8 Unify the shebang line of python scripts 2013-01-29 10:40:43 +00:00
README.txt Update python version in build/README.txt to what's used by Chromium 2011-09-12 09:59:59 +00:00
standalone.gypi Remove "library" variable from standalone.gypi. 2013-03-05 09:28:48 +00:00

This directory contains the V8 GYP files used to generate actual project files
for different build systems.

This is currently work in progress but this is expected to replace the SCons
based build system.

To use this a checkout of GYP is needed inside this directory. From the root of
the V8 project do the following:

$ svn co http://gyp.googlecode.com/svn/trunk build/gyp

Note for the command lines below that Debug is the default configuration,
so specifying that on the command lines is not required.


To generate Makefiles on Linux:
-------------------------------

$ build/gyp_v8

This will build makefiles for ia32, x64 and the ARM simulator with names
Makefile-ia32, Makefile-x64 and Makefile-armu respectively.

To build and run for ia32 in debug and release version do:

$ make -f Makefile-ia32
$ out/Debug/shell
$ make -f Makefile-ia32 BUILDTYPE=Release
$ out/Release/shell

Change the makefile to build and run for the other architectures.


To generate Xcode project files on Mac OS:
------------------------------------------

$ build/gyp_v8

This will make an Xcode project for the ia32 architecture. To build and run do:

$ xcodebuild -project build/all.xcodeproj
$ samples/build/Debug/shell
$ xcodebuild -project build/all.xcodeproj -configuration Release
$ samples/build/Release/shell


To generate Visual Studio solution and project files on Windows:
----------------------------------------------------------------

On Windows an additional third party component is required. This is cygwin in
the same version as is used by the Chromium project. This can be checked out
from the Chromium repository. From the root of the V8 project do the following:

> svn co http://src.chromium.org/svn/trunk/deps/third_party/cygwin@66844 third_party/cygwin

To run GYP Python is required and it is recommended to use the same version as
is used by the Chromium project. This can also be checked out from the Chromium
repository. From the root of the V8 project do the following:

> svn co http://src.chromium.org/svn/trunk/tools/third_party/python_26@89111 third_party/python_26

Now generate Visual Studio solution and project files for the ia32 architecture:

> third_party\python_26\python build/gyp_v8

Now open build\All.sln in Visual Studio.