Commit Graph

17 Commits

Author SHA1 Message Date
slan
5a8f92901b Use clang for snapshot_toolchain by default, except on ChromeOS.
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}
2016-08-23 14:04:27 +00:00
dpranke
682a41db33 Attempt #4 to land "Fix double-building of v8 in GN builds."
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}
2016-07-25 09:30:17 +00:00
vogelheim
54f663e2f2 Revert of Re-land "Fix double-building of v8 in GN builds" (patchset #2 id:20001 of https://codereview.chromium.org/2171083003/ )
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}
2016-07-22 13:22:21 +00:00
dpranke
5b762044b5 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

Review-Url: https://codereview.chromium.org/2171083003
Cr-Commit-Position: refs/heads/master@{#37970}
2016-07-22 08:21:32 +00:00
dpranke
8526513ce5 Fix mips64el typo in snapshot_toolchain.gni.
I had written "mipsel64", not "mips64el".

R=machenbach@chromium.org, milko.leporis@imgtec.com
BUG=629057

Review-Url: https://codereview.chromium.org/2167873002
Cr-Commit-Position: refs/heads/master@{#37951}
2016-07-21 17:20:39 +00:00
machenbach
f6f8062fca Revert of Fix double-building of v8 in GN builds when setting just v8_target_cpu. (patchset #1 id:1 of https://codereview.chromium.org/2166173002/ )
Reason for revert:
Breaks:
https://build.chromium.org/p/client.v8.fyi/builders/V8%20Android%20GN%20%28dbg%29/builds/4590

And also the trybot:
https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/99806

Original issue's description:
> Fix double-building of v8 in GN builds when setting just v8_target_cpu.
>
> 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
>
> Committed: https://crrev.com/3536db45c9409c9aadc4eee6004cf337c0588cdb
> Cr-Commit-Position: refs/heads/master@{#37926}

TBR=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/2167113002
Cr-Commit-Position: refs/heads/master@{#37936}
2016-07-21 10:55:58 +00:00
dpranke
3536db45c9 Fix double-building of v8 in GN builds when setting just v8_target_cpu.
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}
2016-07-21 09:06:42 +00:00
dpranke
6c3aaae969 Land v8-side changes to switch to v8_current_cpu in the GN build.
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}
2016-07-15 22:35:20 +00:00
dpranke
2e0bd36d27 Try to reland v8_snapshot GN build changes, take #3
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}
2016-05-20 07:00:09 +00:00
machenbach
2c95b572cc Revert of Reland changes to v8_snapshot GN build arg. (patchset #2 id:20001 of https://codereview.chromium.org/1979883002/ )
Reason for revert:
Blocks the roll again:
https://codereview.chromium.org/1993163002/

https://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-generic_chromium_compile_only_ng/builds/140169

Lets add chromeos_amd64-generic_chromium_compile_only_ng on a reland as well.

Original issue's description:
> Reland changes to v8_snapshot GN build arg.
>
> 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
>
> Committed: https://crrev.com/b6168e1223d266dba1a357a921bc84ae97a1d803
> Cr-Commit-Position: refs/heads/master@{#36342}

TBR=jochen@chromium.org,thakis@chromium.org,stevenjb@chromium.org,adamk@chromium.org,dpranke@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=608596, 595653

Review-Url: https://codereview.chromium.org/1996533002
Cr-Commit-Position: refs/heads/master@{#36347}
2016-05-19 07:11:39 +00:00
dpranke
b6168e1223 Reland changes to v8_snapshot GN build arg.
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}
2016-05-19 01:06:33 +00:00
machenbach
51db73923d Revert of Change v8_snapshot_toolchain to be a GN build arg. (patchset #3 id:40001 of https://codereview.chromium.org/1969693002/ )
Reason for revert:
Blocks the roll: https://codereview.chromium.org/1974733002/

Breaks:
https://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_chromium_compile_only_ng/builds/136166

Original issue's description:
> Change v8_snapshot_toolchain to be a GN build arg.
>
> 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
>
> Committed: https://crrev.com/2ae74af8f405f461d8e44d60b978f940673e46c8
> Cr-Commit-Position: refs/heads/master@{#36193}

TBR=jochen@chromium.org,dpranke@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=608596

Review-Url: https://codereview.chromium.org/1975713002
Cr-Commit-Position: refs/heads/master@{#36199}
2016-05-12 08:36:05 +00:00
dpranke
2ae74af8f4 Change v8_snapshot_toolchain to be a GN build arg.
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}
2016-05-12 05:37:54 +00:00
hablich
87e7cd7f3f Revert of Use GCC for snapshot_toolchain when is_clang=false. (patchset #1 id:1 of https://codereview.chromium.org/1809643003/ )
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}
2016-04-11 08:30:22 +00:00
slan
920370d1a9 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

Review URL: https://codereview.chromium.org/1809643003

Cr-Commit-Position: refs/heads/master@{#35341}
2016-04-07 16:23:10 +00:00
agrieve
ba1d9af8bf Map arm64 and mips64el -> x64 for mksnapshot
BUG=chromium:568883
LOG=n

Review URL: https://codereview.chromium.org/1517983002

Cr-Commit-Position: refs/heads/master@{#32907}
2015-12-16 15:17:37 +00:00
dpranke
7d5d1570d9 Split the GN 'snapshot_toolchain' logic out into an include file.
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}
2015-09-22 02:28:40 +00:00