It is not possible to simulate big-endian systems on X64/X86,
so snapshots must be generated natively or using an emulator
such as qemu.
Bug:
Change-Id: Ib7ea6fe27ea5da19f270251f18fbc5f1c43413ce
Reviewed-on: https://chromium-review.googlesource.com/771673
Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com>
Cr-Commit-Position: refs/heads/master@{#49621}
Non-CrOS builds should use clang for snapshot_toolchain, even on builds which use gcc for the target device. Change the default value for snapshot_toolchain to always use clang, except on ChromeOS gcc builds. In practice, every platform except ChromeOS always uses clang, so this should not affect any platform except non-CrOS gcc builds (like Cast)
BUG= internal b/30873074
Review-Url: https://codereview.chromium.org/2265983002
Cr-Commit-Position: refs/heads/master@{#38825}
The third attempt never landed :). This attempt completely reworks
the logic to attempt to be clearer and more obviously correct. This
attempt also actually had unit tests written for it (see bug 625353).
R=machenbach@chromium.org
BUG=625353, 629825
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_compile_x86_dbg,android_compile_mips_dbg,android_arm64_dbg_recipe
Review-Url: https://codereview.chromium.org/2173343002
Cr-Commit-Position: refs/heads/master@{#37999}
Reason for revert:
Reverted, because it breaks some funky android build.
Can reproduce breakage locally, w/ args.gn as follows:
disable_brotli_filter = true
disable_file_support = true
disable_ftp_support = true
enable_websockets = false
ffmpeg_branding = "Chrome"
is_component_build = false
is_debug = true
proprietary_codecs = true
symbol_level = 1
target_cpu = "x86"
target_os = "android"
use_goma = true
use_platform_icu_alternatives = true
This ends up building the mkpeephole tool w/ an architecture that won't run on the build machine.
Original issue's description:
> Re-land "Fix double-building of v8 in GN builds"
>
> This re-lands r37926 w/ the needed fix for cross-compiles; we
> can only re-use the default toolchain when the host can actually
> run it.
>
> R=machenbach@chromium.org
> BUG=629825
>
> Committed: https://crrev.com/5b762044b53f988fa9a534fe1a84f9938b3abd75
> Cr-Commit-Position: refs/heads/master@{#37970}
TBR=machenbach@chromium.org,dpranke@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=629825
Review-Url: https://codereview.chromium.org/2175693003
Cr-Commit-Position: refs/heads/master@{#37984}
This re-lands r37926 w/ the needed fix for cross-compiles; we
can only re-use the default toolchain when the host can actually
run it.
R=machenbach@chromium.org
BUG=629825
Review-Url: https://codereview.chromium.org/2171083003
Cr-Commit-Position: refs/heads/master@{#37970}
Because of the somewhat strange way default toolchains and custom
toolchains and user-specified arguments work in GN, if you did a v8
build that just set v8_target_cpu, you could end up building two
identical copies of v8 (see the comments in the change for more).
This CL identifies that case and fixes it.
R=machenbach@chromium.org
BUG=629825
Review-Url: https://codereview.chromium.org/2166173002
Cr-Commit-Position: refs/heads/master@{#37926}
This change makes the architecture that we target generated
v8 code for a property of the current toolchain, rather than a
global setting that applies to every toolchain.
This will allow us to properly build two snapshots for two different
architectures in a single build, which is needed for android
webview/monochrome builds.
R=brettw@chromium.org, jochen@chromium.org, michaelbai@chromium.org
BUG=625383
Review-Url: https://codereview.chromium.org/2116913002
Cr-Commit-Position: refs/heads/master@{#37805}
This patch re-lands #36341 with another fix to make
the amd64-generic build work as well.
R=machenbach@chromium.org, hablich@chromium.org, adamk@chromium.org
BUG=608596, 595653
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:chromeos_daisy_chromium_compile_only_ng,chromeos_amd64-generic_chromium_compile_only_ng,chromeos_x86-generic_chromium_compile_only_ng,linux_chromium_gn_chromeos_rel,linux_chromium_gn_chromeos_dbg
Review-Url: https://codereview.chromium.org/1996513005
Cr-Commit-Position: refs/heads/master@{#36390}
This patch re-lands #36193 with a couple of minor tweaks
including updating the BUILD.gn file to use the new
variable name and incorporating thakis' request to support
cross-compiling the win snapshot from a mac.
R=thakis@chromium.org, jochen@chromium.org, machenbach@chromium.org
BUG=608596, 595653
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:chromeos_daisy_chromium_compile_only_ng
Review-Url: https://codereview.chromium.org/1979883002
Cr-Commit-Position: refs/heads/master@{#36342}
It is likely that CrOS and other distros will want to be
able to build the v8 snapshot with a custom toolchain.
This CL makes snapshot_toolchain a declared build arg, and
renames it to v8_snapshot_toolchain to minimize the risk
of a name collision.
R=machenbach@chromium.org, jochen@chromium.org
BUG=608596
Review-Url: https://codereview.chromium.org/1969693002
Cr-Commit-Position: refs/heads/master@{#36193}
Reason for revert:
Blocks roll: https://codereview.chromium.org/1874173002/
Original issue's description:
> Use GCC for snapshot_toolchain when is_clang=false.
>
> Currently, snapshot_toolchain is hardcoded to use a clang host
> toolchain. Use a GCC toolchain if is_clang is false.
>
> Revert this when this is root-caused (see crbug.com/601486)
>
> LOG=Y
> BUG=601486
>
> Committed: https://crrev.com/920370d1a910681bf464bd91aced316058ea2f6c
> Cr-Commit-Position: refs/heads/master@{#35341}
TBR=jochen@chromium.org,alokp@chromium.org,dpranke@chromium.org,slan@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=601486
LOG=Y
Review URL: https://codereview.chromium.org/1873113002
Cr-Commit-Position: refs/heads/master@{#35372}
Currently, snapshot_toolchain is hardcoded to use a clang host
toolchain. Use a GCC toolchain if is_clang is false.
Revert this when this is root-caused (see crbug.com/601486)
LOG=Y
BUG=601486
Review URL: https://codereview.chromium.org/1809643003
Cr-Commit-Position: refs/heads/master@{#35341}
We need to build parts of v8 with a toolchain that might be different
from both the default (target) toolchain and the regular host toolchain,
because we need the snapshot to have the same bit-width as the target.
V8's build defines a 'snapshot_toolchain' setting for this.
It turns out that we need the value of this toolchain to be exposed
to the Chromium build because some of the test targets (in browser_tests)
depend on d8 and need to be able to built using the same toolchain.
R=brett@chromium.org, jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1350223004
Cr-Commit-Position: refs/heads/master@{#30854}