Building V8 on Fedora release 22
Pre-requisites
1. git should be available on your system OR install git via dnf install git (yum install git in older versions of fedora)2. gcc & developmental tools
3. Python
# dnf install git
Last metadata expiration check performed 0:00:00 ago on Mon Aug 3 13:07:23 2015.
Package git-2.4.3-3.fc22.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
Steps/procedure
Install depot-tools as mentioned in link
http://dev.chromium.org/developers/how-tos/install-depot-tools
- Fetch depot_tools:
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
- Add
depot_tools
to your PATH:$ export PATH=`pwd`/depot_tools:"$PATH"
~/workspace/gitrepo/chromedepot-tools/depot_tools/fetch
~/workspace/gitrepo/chromedepot-tools/depot_tools/gclient
create a directory eg., v8engine and then execute the command: fetch v8
2) fetch v8
Note: this shall get v8 source code under the v8engine directory.
3) gclient sync
[arun@ v8]$ gclient sync
________ running '/usr/bin/python v8/build/landmines.py' in '/home/arun/workspace/gitrepo/v8engine'
________ running 'download_from_google_storage --no_resume --platform=win32 --no_auth --bucket chromium-clang-format -s v8/buildtools/win/clang-format.exe.sha1' in '/home/arun/workspace/gitrepo/v8engine'
________ running 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-clang-format -s v8/buildtools/mac/clang-format.sha1' in '/home/arun/workspace/gitrepo/v8engine'
________ running 'download_from_google_storage --no_resume --platform=linux* --no_auth --bucket chromium-clang-format -s v8/buildtools/linux64/clang-format.sha1' in '/home/arun/workspace/gitrepo/v8engine'
________ running '/usr/bin/python v8/third_party/binutils/download.py' in '/home/arun/workspace/gitrepo/v8engine'
________ running '/usr/bin/python v8/tools/clang/scripts/update.py --if-needed' in '/home/arun/workspace/gitrepo/v8engine'
Clang already at 242792-1
________ running '/usr/bin/python v8/build/gyp_v8' in '/home/arun/workspace/gitrepo/v8engine'
Updating projects from gyp files...
[arun@ v8]$
[arun@ v8]$
[arun@ v8]$ which gyp
/usr/bin/which: no gyp in (/home/arun/workspace/gcloud/google-cloud-sdk/bin:/home/arun/.nvm/versions/node/v0.12.2/bin:/home/arun/workspace/gcloud/google-cloud-sdk/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/arun/workspace/nodews/node_modules/.bin:/home/arun/workspace/gitrepo/chromedepot-tools/depot_tools:/home/arun/bin:/home/arun/.local/bin:/home/arun/bin:/home/arun/nodews/node_modules/.bin/:/home/arun/workspace/nodews/node_modules/.bin:/home/arun/workspace/gitrepo/chromedepot-tools/depot_tools:/home/arun/bin)
[arun@ v8]$
[arun@ v8]$
[arun@ v8]$ gcc
gcc: fatal error: no input files
compilation terminated.
[arun@ v8]$
[arun@ v8]$
[arun@ v8]$ gcc --version
gcc (GCC) 5.1.1 20150612 (Red Hat 5.1.1-3)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[arun@ v8]$ make native
PYTHONPATH="/home/arun/workspace/gitrepo/v8engine/v8/tools/generate_shim_headers:/home/arun/workspace/gitrepo/v8engine/v8/build::/home/arun/workspace/gitrepo/v8engine/v8/build/gyp/pylib:" \
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -S.native -Dv8_enable_backtrace=1 -Darm_fpu=default -Darm_float_abi=default
make[1]: Entering directory '/home/arun/workspace/gitrepo/v8engine/v8/out'
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/accessors.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/allocation.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/allocation-site-scopes.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/allocation-tracker.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/api.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/api-natives.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/arguments.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/assembler.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/assert-scope.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/ast-value-factory.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/ast-literal-reindexer.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/ast-numbering.o
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/v8_base/src/ast.o
...
...
...
CXX(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/parser-shell/src/startup-data-util.o
LINK(target) /home/arun/workspace/gitrepo/v8engine/v8/out/native/parser-shell
TOUCH /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.target/build/All.stamp
TOUCH /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.host/testing/gtest_prod.stamp
CXX(host) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.host/gtest/testing/gtest/src/gtest-death-test.o
CXX(host) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.host/gtest/testing/gtest/src/gtest-filepath.o
CXX(host) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.host/gtest/testing/gtest/src/gtest-port.o
CXX(host) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.host/gtest/testing/gtest/src/gtest-printers.o
CXX(host) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.host/gtest/testing/gtest/src/gtest-test-part.o
CXX(host) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.host/gtest/testing/gtest/src/gtest-typed-test.o
CXX(host) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.host/gtest/testing/gtest/src/gtest.o
AR(host) /home/arun/workspace/gitrepo/v8engine/v8/out/native/obj.host/testing/libgtest.a
rm tools_gyp_v8_gyp_v8_external_snapshot_target_run_mksnapshot__external_.intermediate tools_gyp_v8_gyp_js2c_target_js2c_experimental.intermediate tools_gyp_v8_gyp_js2c_target_js2c_extras.intermediate tools_gyp_v8_gyp_js2c_target_js2c.intermediate tools_gyp_v8_gyp_js2c_target_js2c_code_stubs.intermediate
make[1]: Leaving directory '/home/arun/workspace/gitrepo/v8engine/v8/out'
[arun@ v8]$
It took nearly an hour on my laptop for "make native" to complete.
Useful links:
https://developers.google.com/v8/build
http://code.google.com/p/v8-wiki/wiki/UsingGit
http://code.google.com/p/v8-wiki/wiki/BuildingWithGYP
No comments:
Post a Comment