Граф коммитов

49 Коммитов

Автор SHA1 Сообщение Дата
brettw 2689b984db GN build: don't use "" for grit input.
If a grit target specifies a resource_ids file of "" (this has specific meaning
documented in the grit rule), don't set the empty string as an input to the
grit action.

The only time this comes up is in the java_strings_grd template.

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

Cr-Original-Commit-Position: refs/heads/master@{#331869}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: af43f9f780b5fcca30faef007745306827d69c23
2015-05-28 22:28:53 +00:00
brettw fcbf2719e6 Fix missing GN dependencies.
Fixes some cases where a dependency between a target's inputs and outputs exists without an explicit dependency.

json_schema_api.gni was generating wrong names, this was fixed.

mojo_application_package.gni was fixed to generate unique names (just a bug I noticed in passing) and support the testonly flag, which is necessary when I added the correct dependency.

The rest of the cases are just adding deps or making existing deps public so that the ability to depend on the target's outputs is passed to dependents.

BUG=487897
TBR=dpranke

CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg

Previously landed as https://codereview.chromium.org/1128163007/ the issue there should have been fixed by https://codereview.chromium.org/1148173002/ which has already been landed.

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

Cr-Original-Commit-Position: refs/heads/master@{#331625}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: de262b0acc538d307f35b85f4ebf395357d1a4db
2015-05-27 19:43:24 +00:00
brettw fe6a3360a2 Revert of Fix missing GN dependencies. (patchset #4 id:60001 of https://codereview.chromium.org/1128163007/)
Reason for revert:
Broke Windows:
http://build.chromium.org/p/chromium.win/builders/Win%20x64%20GN/builds/1568/steps/compile/logs/stdio

Original issue's description:
> Fix missing GN dependencies.
>
> Fixes some cases where a dependency between a target's inputs and outputs exists without an explicit dependency.
>
> json_schema_api.gni was generating wrong names, this was fixed.
>
> mojo_application_package.gni was fixed to generate unique names (just a bug I noticed in passing) and support the testonly flag, which is necessary when I added the correct dependency.
>
> The rest of the cases are just adding deps or making existing deps public so that the ability to depend on the target's outputs is passed to dependents.
>
> BUG=487897
>
> Committed: https://crrev.com/eadea21096be21b0d74c93f5b1a0ae6a9cc057d7
> Cr-Commit-Position: refs/heads/master@{#330636}

TBR=dpranke@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=487897

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

Cr-Original-Commit-Position: refs/heads/master@{#330650}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e97185bf4853d56aadf362b0a00699375b1fac76
2015-05-19 23:15:38 +00:00
brettw 6a91c80286 Fix missing GN dependencies.
Fixes some cases where a dependency between a target's inputs and outputs exists without an explicit dependency.

json_schema_api.gni was generating wrong names, this was fixed.

mojo_application_package.gni was fixed to generate unique names (just a bug I noticed in passing) and support the testonly flag, which is necessary when I added the correct dependency.

The rest of the cases are just adding deps or making existing deps public so that the ability to depend on the target's outputs is passed to dependents.

BUG=487897

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

Cr-Original-Commit-Position: refs/heads/master@{#330636}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: eadea21096be21b0d74c93f5b1a0ae6a9cc057d7
2015-05-19 22:31:54 +00:00
brettw 6a9e7271f7 Add a GN flag for the Windows multi-dll build.
The first pass of moving the other Chrome-specific build flags out of the root build config file and into the new one. This requires both ffmpeg and Blink changes to finish landing.

Originally landed as https://codereview.chromium.org/1120803003/
TBR=scottmg@chromium.org
TBR=ddorwin@chromium.org (widevine)
CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg

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

Cr-Original-Commit-Position: refs/heads/master@{#327998}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2b2364bb2c6fbb88e6a4550abeb9141bc7cb949c
2015-05-01 22:36:58 +00:00
rickyz c06bc70a26 Revert of Add a GN flag for the Windows multi-dll build. (patchset #3 id:40001 of https://codereview.chromium.org/1120803003/)
Reason for revert:
May have caused some link errors on windows: https://build.chromium.org/p/chromium.win/builders/Win%20x64%20GN/builds/814

Original issue's description:
> Add a GN flag for the Windows multi-dll build.
>
> The first pass of moving the other Chrome-specific build flags out of the root build config file and into the new one. This requires both ffmpeg and Blink changes to finish landing.
>
> R=scottmg@chromium.org
> TBR=ddorwin@chromium.org (widevine)
>
> Committed: https://crrev.com/edff53a35780ba2f515c7e8d4f7131c91151e1a3
> Cr-Commit-Position: refs/heads/master@{#327854}

TBR=scottmg@chromium.org,brettw@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Original-Commit-Position: refs/heads/master@{#327861}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e203954b33d80072a7c8d256ffdc69fa42262765
2015-05-01 01:45:41 +00:00
brettw 8b84afe088 Add a GN flag for the Windows multi-dll build.
The first pass of moving the other Chrome-specific build flags out of the root build config file and into the new one. This requires both ffmpeg and Blink changes to finish landing.

R=scottmg@chromium.org
TBR=ddorwin@chromium.org (widevine)

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

Cr-Original-Commit-Position: refs/heads/master@{#327854}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: edff53a35780ba2f515c7e8d4f7131c91151e1a3
2015-05-01 01:10:14 +00:00
apacible e7ee6b4d67 Add enable_media_router check to GN based grit targets.
Originally, <if expr="enable_media_router"> was not picked up by a .grd file. I traced that to grit_rule.gni and added a check there.

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

Cr-Original-Commit-Position: refs/heads/master@{#326598}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2be1ebd65b769821ad36e6cff2d47bda574c00bb
2015-04-23 18:57:16 +00:00
davidben e1e3fb5bda Rename use_nss to use_nss_certs in gyp and grit.
This matches the gn name and is less confusing with use_openssl and
use_openssl_certs both existing. The preprocessor flag will follow
in another CL. For now, the old name is still defined, but not used
within Chromium.

A follow-up CL will remove deprecated use_nss and USE_NSS #defines
together which will then cause downstream churn. Though from a grep
of known downstreams, the churn seems to be fairly minimal. The
removal is split from this CL so that, if we need to revert, the
CL to revert is small.

BUG=462040
TBR=wez@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#325541}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0ee13e37acf707e703a380a9c1a03f0b494dd6a6
2015-04-16 23:23:38 +00:00
knn 159718a26f Enable depend on stamp by default for all GN based grit targets.
This is a cleanup change that removes support for the depfile based on
first grit output.

BUG=466315

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

Cr-Original-Commit-Position: refs/heads/master@{#322584}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cc28e0dcbe1df4308cce6181ea8cb025ef0d3aeb
2015-03-27 15:49:52 +00:00
brettw 2924c3f5fb Add grit resource ID file to GN grit script inputs.
Grit's execution depends on the resource ID file, but this was not listed as a dependency in grit targets. This means that changing the resource ID file wouldn't re-run grit.

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

Cr-Original-Commit-Position: refs/heads/master@{#322531}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fd9bbb762401141baa603ef5bececbc9426da169
2015-03-27 04:53:25 +00:00
andresantoso 961dd7b8be MacViews: Fix missing browser assets
The MacViews browser were missing infobar and background tab assets.
mac_views_browser grit define is added so that we can include infobar assets.
Don't remap theme image ids so that Mac's background tab assets can be
found.
Map IDR_THEME_TAB_BACKGROUND_INCOGNITO to the same asset as
IDR_THEME_TAB_BACKGROUND.

BUG=425229

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

Cr-Original-Commit-Position: refs/heads/master@{#321602}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c306fb9a8d5179f34589d6ab330a71ebd40eb073
2015-03-20 18:17:02 +00:00
knn aa5aca2cda Allow for GN Grit targets to depend on a stamp file instead of the first output in the .grd file.
BUG=466315

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

Cr-Original-Commit-Position: refs/heads/master@{#320903}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8915cf1873c38e62f4df71c9213b2a8918098a94
2015-03-17 12:58:04 +00:00
dpranke ba58479a44 Reland #317760 - add gn_all, gyp_all targets
In order to be able to make sure we are building the same list of targets
in both the GYP and GN builds, this patch adds new 'gn_all' and 'gyp_all'
targets.

Eventually, we should make sure that if one builds 'gn_all', then building
'gyp_all', 'All', or 'all' then has nothing to do. We're not there yet, but this
is a start.

The 'gn_all' target replaces the //:root target in the GN builds.

TBR=brettw@chromium.org
BUG=461019
CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg

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

Cr-Original-Commit-Position: refs/heads/master@{#317893}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e2ef382dd208417056acbd579620a428fa1b7af4
2015-02-24 21:43:06 +00:00
hiroshige aa2673d7a2 Revert of add gn_all, gyp_all targets to build files, remove GN's //:root (patchset #18 id:350001 of https://codereview.chromium.org/936193004/)
Reason for revert:
Suspecting this breaks Mac builds.
http://build.chromium.org/p/chromium/builders/Mac/builds/33993

Original issue's description:
> add gn_all, gyp_all targets to the build files, remove GN's //:root
>
> In order to be able to make sure we are building the same list of targets
> in both the GYP and GN builds, this patch adds new 'gn_all' and 'gyp_all'
> targets.
>
> Eventually, we should make sure that if one builds 'gn_all', then building
> 'gyp_all', 'All', or 'all' then has nothing to do. We're not there yet, but this
> is a start.
>
> The 'gn_all' target replaces the //:root target in the GN builds.
>
> R=brettw@chromium.org
> BUG=461019
> CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg
>
> Committed: https://crrev.com/ff30e3de333305ccdaa103aa7f9e46765da83e99
> Cr-Commit-Position: refs/heads/master@{#317760}

TBR=brettw@chromium.org,dpranke@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=461019

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

Cr-Original-Commit-Position: refs/heads/master@{#317763}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e6d374cf7ead69b3ff110f9d7dfba0dee921e6b7
2015-02-24 07:54:29 +00:00
dpranke 1b0518d61d add gn_all, gyp_all targets to the build files, remove GN's //:root
In order to be able to make sure we are building the same list of targets
in both the GYP and GN builds, this patch adds new 'gn_all' and 'gyp_all'
targets.

Eventually, we should make sure that if one builds 'gn_all', then building
'gyp_all', 'All', or 'all' then has nothing to do. We're not there yet, but this
is a start.

The 'gn_all' target replaces the //:root target in the GN builds.

R=brettw@chromium.org
BUG=461019
CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg

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

Cr-Original-Commit-Position: refs/heads/master@{#317760}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ff30e3de333305ccdaa103aa7f9e46765da83e99
2015-02-24 06:53:29 +00:00
vchigrin a83196aecb Fix build flakes in GN build due to wrong deps for grit action.
BUG=452847

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

Cr-Original-Commit-Position: refs/heads/master@{#313684}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8eede94a17bd84717a34b9f7e83690a8ef4e3d15
2015-01-29 09:29:03 +00:00
dconnelly 2b35ed8100 Revert of Use data_deps rather then deps for mojo_bindings. (patchset #1 id:1 of https://codereview.chromium.org/876783003/)
Reason for revert:
https://code.google.com/p/chromium/issues/detail?id=452847

Original issue's description:
> Use data_deps rather then deps for mojo_bindings.
>
> Using deps caused pulling a bit of mojo code to chrome.exe. That
> caused weird unresolved externatls problems during Windows GN build.
>
> Committed: https://crrev.com/f7b4f01989be22df44d9b5475143ef98b653b1ac
> Cr-Commit-Position: refs/heads/master@{#313126}

TBR=brettw@chromium.org,dpranke@chromium.org,vchigrin@yandex-team.ru
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Original-Commit-Position: refs/heads/master@{#313492}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 49911f06fc1d061a4b7e61e1811fe303b5ef0cd2
2015-01-28 13:02:01 +00:00
vchigrin f54e247093 Use data_deps rather then deps for mojo_bindings.
Using deps caused pulling a bit of mojo code to chrome.exe. That
caused weird unresolved externatls problems during Windows GN build.

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

Cr-Original-Commit-Position: refs/heads/master@{#313126}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f7b4f01989be22df44d9b5475143ef98b653b1ac
2015-01-26 20:45:27 +00:00
scottmg 0b99ccf933 gn format // regressions
Presubmit added here: https://codereview.chromium.org/779383004/.

TBR=brettw@chromium.org, armansito@chromium.org
BUG=348474

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

Cr-Original-Commit-Position: refs/heads/master@{#307281}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6da1b58aa68bfd663b92fcd84c6cd52a29f2d9f7
2014-12-08 18:31:45 +00:00
Nico Weber e0ab7c5025 grit: Use new --write-only-new flag.
For the file I'm testing with (c/b/resources/about_stats.html),
a rebuild runs 101 edges and compiles a bunch of cc files and takes 40s.
This reduces build times from 40s to 9.6s and reduces the number
of edges to 37.

BUG=439182
R=brettw@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#306945}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9261dde33f1939f432cafe6f9654efedba4dc252
2014-12-05 00:50:15 +00:00
scottmg 317bbea2be gn format // (the rest, except mojo)
Excluded mojo because I think that needs to happen on the other side.

At gn --version = 306668 for which roll is in CQ.

R=brettw@chromium.org
TBR=scherkus@chromium.org
BUG=348474

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

Cr-Original-Commit-Position: refs/heads/master@{#306708}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 34fb7e5919ed42dc800acf3961fe6a2bf9e7d6eb
2014-12-03 23:27:41 +00:00
scottmg fd96972e70 gn format //build
A starting point for doing all of src, and adding a PRESUBMIT.

Includes https://codereview.chromium.org/772663002/ and https://codereview.chromium.org/770053002/.
I haven't pushed new binaries yet.

Generated via:
> cd build
> git ls-files *.gn *.gni | sed -e "s/^/@..\\\\out\\\\Debug\\\\gn format --in-place /" >x.bat && x.bat

The only things that I don't love in the current output are:

1. Turning

    args = [
      "--depfile", rebase_path(depfile, root_build_dir),
      "--android-sdk-tools", rebased_android_sdk_build_tools,
      "--dex-path", rebased_output,
    ]

into:

    args = [
      "--depfile",
      rebase_path(depfile, root_build_dir),
      "--android-sdk-tools",
      rebased_android_sdk_build_tools,
      "--dex-path",
      rebased_output,
    ]

The heuristic for this isn't trivial though, and it also affects e.g. '-Xclang' in cflags, as well
as assignments to temporaries that are later assigned to args.

2. Turning single line

    if (defined(invoker.inputs)) { inputs = invoker.inputs }

into

    if (defined(invoker.inputs)) {
      inputs = invoker.inputs
    }

This could be argued to be an improvement, but as it's very boilerplate-y perhaps an exception to
allow single line in this case is worthwhile. I think there was discussion of new syntax for this
case too, something like "inputs ?= invoker.inputs" maybe.

In both cases, I think it's worthwhile to get formatting turned on, and then go back and special
case these if we decide it's worthwhile.

R=brettw@chromium.org
BUG=348474

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

Cr-Original-Commit-Position: refs/heads/master@{#306305}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b199254f481c5db36d56e83fce40594b06d2b81f
2014-12-02 00:25:35 +00:00
Brett Wilson 0d23b07288 Add enable_hangout_services_extension flag to GN build.
This does not yet control anything, but is now hooked up to the C++ and grit defines as in GYP.

R=bemasc@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#306270}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2954bd38c7dfd9e5c36fae26ccaafb9088605bf8
2014-12-01 22:22:54 +00:00
vitalybuka 8d1cc55e8c Renamed enable_printing and printing_mode in *.gyp* and .*gn* files.
enable_printing and printing_mode replaced with
enable_basic_printing and enable_print_preview.

BUG=430281

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

Cr-Original-Commit-Position: refs/heads/master@{#302905}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 93eea40972717ac4e0a649bd289fc9e946512c33
2014-11-05 23:47:41 +00:00
vitalybuka 003e686c9c Re-factored printing defines and build configs.
Renamed DISABLE_BASIC_PRINTING to ENABLE_BASIC_PRINTING.
Renamed ENABLE_FULL_PRINTING to ENABLE_PRINT_PREVIEW.

BUG=430281

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

Cr-Original-Commit-Position: refs/heads/master@{#302868}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e29991c62a63bbce344e597306dab8150c67b532
2014-11-05 21:16:46 +00:00
cjhopman aca1725e50 GN: Some small changes to support chrome android internal stuff
This actually hooks up (i.e. passes from invoker) several variables
controlling apk creation (version name, version code,
use_relocation_packer, use_chromium_linker, unzip_libraries_from_apk).

Adds support for overriding some configuration in the private repo.

Adds support for public_configs in grit_rule.gni.

Adds some junit targets (these are built as android libraries currently
instead of host libraries, but that just means we do a bit extra work
that we don't really need).

BUG=359249

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

Cr-Original-Commit-Position: refs/heads/master@{#301039}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ca675d3ec565477b2e3bae8b0709a412d029fa21
2014-10-24 03:51:23 +00:00
Brett Wilson b1de1de11f Replace forward_dependent_configs with public_deps
This is the new name. It has the same meaning but additionally with a "you can use the headers" permission.

Rename direct_dependent_configs to public_configs. This is the new name with identical meaning.

TBR=jamesr

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

Cr-Original-Commit-Position: refs/heads/master@{#296302}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e5389527466d390b5653724a069008b9f1edcd5c
2014-09-23 23:42:24 +00:00
brettw 36da715672 Convert GN visibility variables to lists.
Currently this is either a list or a string. However, this is causing some problems because templates can't add to the invoker's visibility list without knowing if the original is a string or a list.

In an effort to make this consistent, I'm converting all visibiltiy to be lists, and will remove support for strings in a future build.

This exempts cld from header checking since it was confusing GN's header checker. It adds a ppapi header target as well that will be used by libyuv (that requires a roll).

TBR=scottmg

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

Cr-Original-Commit-Position: refs/heads/master@{#293638}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9af4262ad8020658ee04c07d13a2617af64147b1
2014-09-06 21:23:45 +00:00
thakis 5a7e9a90d2 Revert of Make ui gn check pass. Misc GN build improvements. (patchset #3 id:40001 of https://codereview.chromium.org/545313002/)
Reason for revert:
Broke http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/11835

[783/786 | 258.324] LINK ./chrome
FAILED: /mnt/data/b/build/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -Wl,--fatal-warnings -m64 -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -pthread -B../../third_party/binutils/Linux_x64/Release/bin -fuse-ld=gold -Wl,--icf=none -Wl,-rpath=\$ORIGIN/ -Wl,-rpath-link= -Wl,--disable-new-dtags -o ./keyboard_unittests -Wl,--start-group @./keyboard_unittests.rsp  -Wl,--end-group  -ldl -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0 -ludev -lfontconfig -lX11 -lXcomposite -lXcursor -lXdamage -lXext -lXfixes -lXi -lXrender -lXss -lXtst -lpangocairo-1.0 -lpango-1.0 -lcairo -lnss3 -lnssutil3 -lsmime3 -lplds4 -lplc4 -lnspr4 -lgconf-2 -lresolv -lfreetype -lasound -lXrandr -lcups -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lgcrypt -lz -lpthread -lcrypt -lm -lcap -ldbus-1 -lcrypto -lexpat
../../content/utility/utility_thread_impl.cc:38: error: undefined reference to 'content::UtilityThread::UtilityThread()'
../../content/utility/utility_thread_impl.cc:44: error: undefined reference to 'content::UtilityThread::UtilityThread()'
../../content/utility/utility_thread_impl.cc:49: error: undefined reference to 'content::UtilityThread::~UtilityThread()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

Original issue's description:
> Make ui gn check pass. Misc GN build improvements.
>
> Content/public/app was messed up and didn't link everything properly, so this separates it out into browser and child like content/app is.
>
> R=jamesr@chromium.org
>
> Committed: b41a8d6e78

TBR=jamesr@chromium.org,brettw@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Original-Commit-Position: refs/heads/master@{#293595}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3f1281e5b0f2d2f8a8d8bd17a108f6ed0c9c7d7f
2014-09-06 00:23:15 +00:00
Brett Wilson 96d312afd8 Make ui gn check pass. Misc GN build improvements.
Content/public/app was messed up and didn't link everything properly, so this separates it out into browser and child like content/app is.

R=jamesr@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#293592}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b41a8d6e789ac5df9a6d314cd0ad59f584f53dea
2014-09-05 23:32:30 +00:00
brettw@chromium.org 0274bded71 Fix empty resource IDs file in GN build.
Previously, if you specified an empty resource ID file in the grit template in the GN build, it would send "-f" with no argument to grit, and this would cause the command line parsing to get messed up and it wouldn't generate any files.

This patch just omits the "-f" argument in this case.

R=jam@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@291173 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-21 20:38:44 +00:00
brettw@chromium.org 33849ebdd0 Allow the grit GN targets to specify an output name.
This resolves collisions if two grit targets with the same name (often
"resources") end up in the same output directory.

This reverts 289283 and replaces it with the unique output names rather than
the duplicative target names. The original problem was from 289264.

BUG=
R=joaodasilva@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@289691 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-14 20:32:17 +00:00
thakis@chromium.org 5c1a1eacf9 Use a qualified path to blink resources, content part.
This should prevent problems such as described in

  [chromium-dev] PSA: clobber build needed for IDR_INSPECTOR_*
                 compile errors in blink_platform_impl.cc

Depends on https://codereview.chromium.org/431883002

BUG=400860
TBR=brettw

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@288077 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-07 16:35:02 +00:00
brettw@chromium.org 1384c635ef Set the grit .d file dir in GN build properly.
Put the .d file in the same directory as the output from grit. Currently it
uses the default location for the .d file all the time, even in cases where the
output directory is overridden and the rest of the files go somewhere else.

R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@287877 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-06 22:34:55 +00:00
brettw@chromium.org 862fb27f90 Add missing base files to GN build.
Fix the devtools resources target to use the grit template.

Fix the grit template to use the correct output directory for the expected files if one is specified

R=viettrungluu@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@285334 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-24 18:24:30 +00:00
brettw@chromium.org d21c1483e7 Update the tracing grit GN rule
Previously this rule had a lot of custom stuff to work around the fact that the grit rule couldn't run at GN time to get the inputs and outputs. Now that the inputs are lazy, we can use the template.

R=viettrungluu@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@284948 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-23 16:34:40 +00:00
brettw@chromium.org 4cf8684f3e Encode all grit outputs in .gn files
This finishes the rest of the Grit outputs that was started in a previous pass, and removes the ability to optionally deduce outputs at GN-time (which is slow so we don't want to do it).

R=viettrungluu@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@284947 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-23 16:32:32 +00:00
brettw@chromium.org 0f4306549b GN chrome/common build, rename enable_printing.
This adds the missing conditions to the chrome/common GN build file (previously
only the basic files were there). Some refactoring of the GYP file to make this
possible.

Renames the enable_printing flag to printing_mode since this is an integer
tri-state.

Minor improvements to chrome/renderer

TBR=jamesr@chromium.org
Original review=https://codereview.chromium.org/400243003/

BUG=

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@284783 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-22 21:49:52 +00:00
brettw@chromium.org 5184ec277a Hook up .d files and outputs to grit
Pull grit 171 to get the new deps fixes required to implement this.

This removes the call to grit for querying inputs completely, and enables depfile writing to enable automatic rebuilds when things are out-of-date.

Adds a new outputs variable that bypasses querying grit for outputs. This will assert that the given files exist in grit. This version allows outputs to be empty in which case it will revert to the old dynamic behavior. I'm going to land this with just the worst cases fixed to make landing easier. Then followup with converting the rest of the grit targets and removing the dynamic option.

R=viettrungluu@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@284705 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-22 16:37:26 +00:00
brettw@chromium.org 1a24389d3f Revert 284508 "GN chrome/common build, rename enable_printing."
> GN chrome/common build, rename enable_printing.
> 
> This adds the missing conditions to the chrome/common GN build file (previously
> only the basic files were there). Some refactoring of the GYP file to make this
> possible.
> 
> Renames the enable_printing flag to printing_mode since this is an integer
> tri-state.
> 
> Minor improvements to chrome/renderer
> 
> R=jamesr@chromium.org
> 
> Review URL: https://codereview.chromium.org/400243003

TBR=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@284517 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-21 22:19:59 +00:00
brettw@chromium.org c5dace6bbc GN chrome/common build, rename enable_printing.
This adds the missing conditions to the chrome/common GN build file (previously
only the basic files were there). Some refactoring of the GYP file to make this
possible.

Renames the enable_printing flag to printing_mode since this is an integer
tri-state.

Minor improvements to chrome/renderer

R=jamesr@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@284508 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-21 21:47:22 +00:00
cjhopman@chromium.org 99dc743552 [Android][gn] Add android resources templates
This adds support for android resources to gn.

Two new templates are introduced:

java_string_grd: This is like gyp's build/java_strings_grd.gypi. It runs
grit and generates Android strings.xml files and then zips them
together.
android_resources: This is the target for android resources. It is
mostly a wrapper around process_resources.py. This is *not part* of
android_library (like it is in gyp). Making these two things separate is
more like facebook's BUCK and google's internal build rules (and gyp's
java.gypi and java_apk.gypi have gotten way too big and complicated).

Changes to the actual build scripts are very minor except for the added
support for andoid_resources to write_build_config.py. Building
resources requires getting all the transitive resource dependencies, and
so this reuses the simple sorted transitive dependency thing from
write_ordered_libraries.py.

TBR=rch@chromium.org
BUG=359249

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@283293 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-16 00:11:03 +00:00
brettw@chromium.org c130bf8c6d Pull buildtools to get GN r282653
This uses the proto file directory for the generated files rather than the directory of the BUILD file. This makes it more natural when you have a BUILD file in a different directory than the proto files.

Fixes a search-and-replace error that accidentally changed the fallback source_prereqs code to use "inputs".

Fix ozone build.

BUG=
R=ajwong@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@282998 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-14 19:25:57 +00:00
brettw@chromium.org 28303e4e48 Rename source_prereqs to inputs in the GN build.
This variable changed name.

R=jamesr@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@282076 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-09 17:29:31 +00:00
brettw@chromium.org d66ff89622 Work on GN build, mostly in //ui
This fills out a number of ui targets and does some changes to the resources to match the GYP build. In particular, we had a number of different ui/resources targets that were depended on independently. The GYP build has only one, so I combined them into a meta "ui/resources" target.

Adds a grit repack template.

TBR=ajwong

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@281087 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-02 20:39:12 +00:00
brettw@chromium.org b45a2ea9a4 Add lots of GN targets:
components/autofill
  components/metrics
  components/policy
  components/variations
  third_party/libphonenumber
  third_party/mt19937ar
  ui/gfx/ipc

These are all requried to compile chrome/browser in some form or another.

Fills out all grit_defines (also required for chrome/browser) and adds associated flags for them.

Add the ability for generated_extensions_api to not generate a bundle.

Remove mt19937ar from .gitignore (it's just checked into the tree)

R=ajwong@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@281057 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-02 17:37:34 +00:00
brettw@chromium.org dc9e7b61d6 First pass on adding a chrome/browser GN target.
This adds a lot of global enable flags for various features used by the browser.

It is not turned on because it does not compile yet. It needs some include directories and generated sources from dependencies that aren't done yet.

It is basically a line-by-line translation of the current chrome_browser.gypi. As such, it looks pretty ugly but I think keeping these in sync will be easiest.

I put in the obvious names of the GN deps. There are surely a bunch that exist in the GN build that aren't here yet but I'm going to save this for later passes.

R=thestig@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@280693 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-30 23:24:31 +00:00
cmasone@chromium.org 3080315fcf Move gn secondary_source to the build/ directory
It's a goodness to sequester build configuration in the build/
directory. The gn secondary_source stuff was under tools/gn for
historical reasons, so move it to a more appropriate place.

BUG=None
TEST=do a gn build of base_unittests, run said unittests.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@278355 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-19 13:14:26 +00:00