v8: prevent unnecessary rebuilds  DO NOT MERGE.

Android.mksnapshot.mk is parsed twice when building for a 64-bit device,
for example once for arm64 and again for arm.  Using += for
LOCAL_CFLAGS_v8_target_* results in cflags being added twice for the
32-bit version.  For a 32-bit device the file is only parsed once and
the cflags are not duplicated.

The cflags are used for host modules, which are shared between builds of
different products.  If the cflags change between products the command
line will change and ninja will rebuild all the files.

Replace += with := for the first assignment to LOCAL_CFLAGS_v8_target_*.

Bug: 26470151
Change-Id: Idb7bc157830207fe5314b5b084a0bd564d5f3221
(cherry picked from commit 665246c65f856a1a352bd4fd8e843ce4b4c72d3d)

Bug: 31987131
Bug: 29178923
1 file changed
tree: 028d2febbf5cf8162d4c228c76e90e5148d92db3
  1. .gitignore
  2. AUTHORS
  3. Android.d8.mk
  4. Android.libv8.mk
  5. Android.mk
  6. Android.mksnapshot.mk
  7. Android.v8common.mk
  8. BUILD.gn
  9. ChangeLog
  10. CleanSpec.mk
  11. DEPS
  12. LICENSE
  13. LICENSE.strongtalk
  14. LICENSE.v8
  15. LICENSE.valgrind
  16. MODULE_LICENSE_BSD
  17. Makefile
  18. Makefile.android
  19. Makefile.nacl
  20. NOTICE
  21. OWNERS
  22. PRESUBMIT.py
  23. README.md
  24. SConstruct
  25. V8_MERGE_REVISION
  26. WATCHLISTS
  27. benchmarks/
  28. build/
  29. codereview.settings
  30. include/
  31. preparser/
  32. samples/
  33. snap.cc
  34. src/
  35. test/
  36. testing/
  37. tools/
README.md

V8 JavaScript Engine

V8 is Google's open source JavaScript engine.

V8 implements ECMAScript as specified in ECMA-262.

V8 is written in C++ and is used in Google Chrome, the open source browser from Google.

V8 can run standalone, or can be embedded into any C++ application.

V8 Project page: https://code.google.com/p/v8/

Getting the Code

Checkout depot tools, and run

fetch v8

This will checkout V8 into the directory v8 and fetch all of its dependencies. To stay up to date, run

git pull origin gclient sync

For fetching all branches, add the following into your remote configuration in .git/config:

    fetch = +refs/branch-heads/*:refs/remotes/branch-heads/*
    fetch = +refs/tags/*:refs/tags/*