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

590 Коммитов

Автор SHA1 Сообщение Дата
James Robinson f1b8706cf1 GN: Get //chrome/* mostly working on android
This gets the //chrome subtree down to a fairly small number of build
errors on Android. Most of the changes are making features not enabled
on android like extensions and plugins properly guarded. This also adds
a few jni targets and fixes up some bitrotted bits.

R=brettw@chromium.org, cjhopman@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#295231}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2ed4d695d6cf2917fc0e52f767d629fbefa7a1f9
2014-09-17 05:21:35 +00:00
scottmg c4d255ec20 gn: use bundled binutils via -B
- Use bundled binutils by adding to cflags -B
- Enables dwarf-fission based on bundling (maybe correct?)
- Makes differ normalize -B paths so they can be compared between gyp/gn.

R=brettw@chromium.org
BUG=335824

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

Cr-Original-Commit-Position: refs/heads/master@{#295185}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 416440522fa2e5034c76a2adbe069bc7c6faaf55
2014-09-17 00:19:58 +00:00
Dirk Pranke 330dd8059d Revert "Roll Clang 214024:216630 (+216684) and switch to CMake (try 2)"
This reverts commit 3853ffa861dc43537f23c21a3fc4104c6f08c3a2.

The change broke the Mac10.6 Tests bot on the chromium.webkit waterfall.

TBR=hwennborg@chromium.org, thakis@chromium.org
BUG=400849

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

Cr-Original-Commit-Position: refs/heads/master@{#295132}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 92a7688192af8fae18b20df1b7b6443d996fff8c
2014-09-16 19:51:48 +00:00
Hans Wennborg 4d54e38f0b Roll Clang 214024:216630 (+216684) and switch to CMake (try 2)
This updates Chromium's clang version to r216630 with
r216684 cherry-picked to fix an ASan issue.

It also changes the build script for Clang to use CMake
instead of Autoconf. The ASan team say this configuration
is better tested, and it also makes us consistent with
the Windows Clang build which already uses CMake.

BUG=400849
R=thakis@chromium.org
TBR=brettw

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

Cr-Original-Commit-Position: refs/heads/master@{#295099}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3853ffa861dc43537f23c21a3fc4104c6f08c3a2
2014-09-16 17:59:31 +00:00
davidben 4d0bc9291b Reland dd7edfa67: Switch Mac over to BoringSSL from NSS.
This is a reland of dd7edfa67 which was reverted in 80a9a88f4c for build
failures. It also includes a BoringSSL roll and build changes to avoid adding a
static initializer.

This is a much much larger change than the diff suggests. If it breaks
something, please revert first and ask questions later.

BUG=338885
TBR=brettw

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

Cr-Original-Commit-Position: refs/heads/master@{#294589}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 71c13e6ac01d5cdc49ca40e8e9301d5142d85018
2014-09-12 15:13:27 +00:00
Scott Graham ee804cd3fa gn: various gyp flag matching for 'base'
- Don't remove -fno-ident from gyp build (was added about 3y ago, seemingly unnecessary for current clang)
- Add -fno-slp-vectorize to GN to make builds match (both to be removed after next clang roll)
- Make usage of -Wno-reserved-user-defined-literal match (required for dbus pre-trusty)
- Add -march=x86-64 to gn cflags
- Default symbol_level based on is_debug, and turn it off by default in Release (same as gyp)

Also, fiddle with output of gyp_flag_compare.py.

R=brettw@chromium.org
BUG=335824

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

Cr-Original-Commit-Position: refs/heads/master@{#294489}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 29682b848742042388ebd29c9df775f074c1414c
2014-09-11 23:30:49 +00:00
cmasone 910b5bf4f5 GN: More CrOS fixes
OS_CHROMEOS is defined in //build/config/linux:sdk per brettw
recommendation.

Typo fixed in ui/ozone/BUILD.gn

Some source-list fixes in content/browser/BUILD.gn that take both
use_x11 and use_ozone into account.

BUG=None
TEST=None

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

Cr-Original-Commit-Position: refs/heads/master@{#294426}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: db5203ee72bc04974fde7bc990a76e9ca6449f6f
2014-09-11 18:31:43 +00:00
James Robinson 304addfcc5 GN: Enable blink and (nearly) all of content in android build
This enables all blink targets and nearly all content targets in the
android build. This produces a content shell APK, but not a fully
operational one yet. This also flips on a bunch of other targets pulled
in by deps.

R=brettw@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#294247}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 060f2e31fd19dd8d5b029cd281aed05a510c545f
2014-09-10 22:45:03 +00:00
davidben e39ce1e771 Revert of Switch Mac over to BoringSSL from NSS. (patchset #1 id:1 of https://codereview.chromium.org/539163002/)
Reason for revert:
http://build.chromium.org/p/chromium.memory/builders/Mac%20ASan%2064%20Builder/builds/10583

Original issue's description:
> Switch Mac over to BoringSSL from NSS.
>
> This is a much much larger change than the diff suggests. If it breaks
> something, please revert first and ask questions later.
>
> BUG=338885
>
> Committed: https://crrev.com/dd7edfa679492a6feb3ef2e1630f05da82a1b31f
> Cr-Commit-Position: refs/heads/master@{#294233}

TBR=rsleevi@chromium.org,brettw@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=338885

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

Cr-Original-Commit-Position: refs/heads/master@{#294237}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 80a9a88f4c7b7a1522ec12f393c2e6478dc41fe0
2014-09-10 22:01:27 +00:00
davidben dbc83fc6f3 Switch Mac over to BoringSSL from NSS.
This is a much much larger change than the diff suggests. If it breaks
something, please revert first and ask questions later.

BUG=338885

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

Cr-Original-Commit-Position: refs/heads/master@{#294233}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dd7edfa679492a6feb3ef2e1630f05da82a1b31f
2014-09-10 21:25:44 +00:00
scottmg 5f1dd9cb75 gn: make some warning flags match gyp more closely
This fixes differences in -Wno-unused-function and
-Wno-unneeded-internal-declaration.

It also changes the diff'ing script to accept

-Wendif-labels
-Wextra
-Wsign-compare

when in GN but not gyp, because they're more conservative. These
mostly happen when GN declares a lib chromium_code, but gyp doesn't.

Also, remove some defines from the dont_care, as I'm not sure that
we don't care yet.

And some minor tweaks to diff script output.

R=brettw@chromium.org
BUG=335824

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

Cr-Original-Commit-Position: refs/heads/master@{#294229}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e8d3adb185373b15d593855f623fb5e28ef7878c
2014-09-10 21:21:43 +00:00
mkosiba bcf73b21f3 New C++ -> Java enum build rule + parser/generator.
This adds a new build rule for generating Java constants for C++ enums.

BUG=405532
TBR=brettw@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#294153}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9610607d5adf4afd2ad821c94434cd749041268a
2014-09-10 10:54:40 +00:00
scottmg 95547c9dad gn: include CR_CLANG_REVISION in defines for clang
This matches gyp behaviour.

R=brettw@chromium.org,thakis@chromium.org
BUG=335824

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

Cr-Original-Commit-Position: refs/heads/master@{#294098}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b1204ef04bc88d632d7458ae070af34b62eafe33
2014-09-10 04:06:07 +00:00
Brett Wilson e0c64e4091 Make component build Chrome link.
It does not seem to run due to resource issues.

R=jamesr@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#294041}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4263a746e6e99a4b6d1388f709bdc7a7572e9c46
2014-09-10 00:05:46 +00:00
cjhopman dd11b15b83 Make base_unittests_apk actually work
This changes the "test" template to create a shared_library (instead of
an executable) on Android. After this, we can actually run
base_unittests with
`build/android/test_runner.py gtest -s base_unnittests`
as normal (though may need to CHROMIUM_OUT_DIR and BUILDTYPE as
appropriate).

This requires adding the following targets:

//testing/android:native_test_native_code
//testing/android:native_test_util
//testing/android:native_test_jni_headers
//tools/android/md5sum:md5sum
//tools/android/md5sum:md5sum_bin
//tools/android/md5sum:md5sum_prepare_dist
//tools/android/md5sum:md5sum_copy_host

Also, makes it so that native executables are stripped (just like shared
libraries). Adds a simple create_native_execuatable_dist template that
sets up a dist directory for the executable (see
build/android/gyp/native_app_dependencies.gyp).

BUG=359249
TBR=rlarocque

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

Cr-Original-Commit-Position: refs/heads/master@{#294032}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e65ead8fb1a1976682356cf824445476584e70f0
2014-09-09 23:27:27 +00:00
cmasone 654bd7311a GN: Exclude some packages that are not used on CrOS
Some packages used in linux builds are not used on CrOS, and
indeed are not even installed in the CrOS build chroot. Exclude
them so that the GN build doesn't try to run pkg-config on
packages that aren't installed.

BUG=388412
TEST=Create a target that builds //mojo/public, build with os==chromeos
R=brettw

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

Cr-Original-Commit-Position: refs/heads/master@{#293977}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c397c15b4db8d22528410af612fa2b154bbdb635
2014-09-09 19:02:49 +00:00
cmasone 5e76bf9335 GN: Fix some breakage for os==chromeos build
build/config/linux/BUILD.gn:
* Usage of generate_library_loader for libbrlapi was incorrect; there
* was nothing provided for "functions". This is now an empty list.

chrome/chrome_common.gypi
chrome/common/BUILD.gn
* Reference to a removed file, chrome_version_info_linux.cc

chromeos/BUILD.gn
components/pairing/BUILD.gn
* Usage of removed proto_{in,out}_dir in proto_library rules.

content/gpu/BUILD.gn
* Typo in reference to third_party/libva:libva_config

ui/views/BUILD.gn
* Attempt to filter source files out of
* gypi_values.views_unittests_sources by subdirectory path. Fortunately
* that variable already doesn't include the files that were supposed
* to be filtered out, so the rule is simply removed.

BUG=388412
TEST=Create a target that builds //mojo/public, build with os==chromeos

R=brettw@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#293964}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 418e04caaf5701fac99ae766ab60f2e65279fccd
2014-09-09 17:54:42 +00:00
scottmg e0a9571f13 gn/linux: warnings as errors, turn on Wextra
Also remove a few redundant consts that result in warnings like:

../../content/common/cursors/webcursor_aurax11.cc:20:1: error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers]
const ui::PlatformCursor WebCursor::GetPlatformCursor() {
^~~~~~

TBR=davemoore@chromium.org,sadrul@chromium.org
R=brettw@chromium.org, thakis@chromium.org,rch@chromium.org
BUG=393046, 335824

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

Cr-Original-Commit-Position: refs/heads/master@{#293930}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4c2d33ac8c061cf27a594473d6f9a450ee6c3c89
2014-09-09 13:20:23 +00:00
fdegans f2e8a76b09 Change Android toolchain to GCC 4.9.
Tune global Android ARM cflags for performance.
Update cflags in gn to keep up with gyp.

BUG=407545
CQ_TRYBOTS=tryserver.chromium.linux:android_aosp,android_clang_dbg,android_dbg

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

Cr-Original-Commit-Position: refs/heads/master@{#293913}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6b767135e631b94cd096c78f6622be28a4af277e
2014-09-09 10:11:33 +00:00
cjhopman 0f1865d588 Add content_shell_test_apk and several dependencies
This adds support for android_apk targets without any java included
directly in the target (only included through deps).

This adds the following targets:

//base:base_javatests
//content/public/android:content_javatests
//content/shell/android:content_shell_test_apk
//media/android:media_android_imageformat_list (moved)
//media/android:media_java (moved+fixed)

BUG=359249

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

Cr-Original-Commit-Position: refs/heads/master@{#293897}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 394dfd1052e53e64083daef7cc66055557256dcb
2014-09-09 08:58:14 +00:00
scottmg d0788bd322 gn: Add missing NDEBUG define in Release
This is required at least on Windows as it's used by system headers to
control things like assert, etc.

R=brettw@chromium.org
BUG=335824,354261

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

Cr-Original-Commit-Position: refs/heads/master@{#293788}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4d2ee242cdc6eb2ce8119802b7c51f8393c945f0
2014-09-08 21:36:52 +00:00
cjhopman c62148dcff Add content_shell_apk target (and a bunch of its dependencies)
The content_shell_apk does not have the full native part that it should.
It builds, installs, starts, loads the native library, and then crashes
when it tries to access missing native parts.

This requires fixes to a bunch of little things:
1. Should only extract java files to compile from srcjars.
2. The way we were creating the single combined resources zip was wrong
because we were clobbering xml files (we should only clobber images, xml
files need to be handled more carefully). Instead of trying to properly
handle xml files, the combined zip now just puts all the different
dependencies in different folders (0/, 1/, etc) and then when packaging
we detect that type of zip and pass all the subdirs to aapt.
3. java_cpp_template with multiple sources needs to have a unique
depfile path for each source
4. jni_generator needs to clear the classlist variable in each loop of
foreach (otherwise gn complains about assigning to non-empty list)
5. a couple parts of apk native lib handling was not skipped for an apk
with no native lib

This adds a bunch of targets:
//base:base_java_test_support
//content/public/android:content_java_resources
//content/public/android:content_java
//content/public/android:content_strings_grd
//content/public/android:gesture_event_type_java
//content/public/android:page_transition_types_java
//content/public/android:popup_item_type_java
//content/public/android:result_codes_java
//content/public/android:selection_event_type_java
//content/public/android:speech_recognition_error_java
//content/public/android:top_controls_state_java
//content/public/android:screen_orientation_values_java
//content/public/android:content_gamepad_mapping_java
//content/public/android:content_jni_headers
//content/shell/android:content_shell_jni_headers
//content/shell/android:libcontent_shell_content_view (partial)
//content/shell/android:content_shell_java_resources
//content/shell/android:content_shell_java
//content/shell/android:content_shell_apk_resources
//content/shell/android:content_shell_apk
//net/android:net_java
//net/android:remote_android_keystore_aidl
//net/android:net_java_test_support
//net/android:net_javatests
//net/android:net_errors_java
//net/android:certificate_mime_types_java
//net/android:cert_verify_status_android_java
//net/android:private_key_types_java
//net/android:net_unittests_apk (disabled)

TBR=yfriedman,thestig
BUG=359249

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

Cr-Original-Commit-Position: refs/heads/master@{#293671}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cd7694afb928b265e64be5448bb281ad86771f34
2014-09-08 00:01:46 +00:00
brettw 4ee608a4a5 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
Reland of https://codereview.chromium.org/545313002/ but with public/utility dependency added

TBR=jamesr@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#293646}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a78fdeda3324eab3427e2c8009c80fcaa906b675
2014-09-07 00:36:35 +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
Brett Wilson d000bd880a Add the "testonly" flag to the GN test target.
Now that the new GN has landed with support for this, we can start using this flag.

R=viettrungluu@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#293579}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6643d00237eff7a9d1de2ac771f861f61785f6fb
2014-09-05 21:12:15 +00:00
cjhopman d559e35760 Add support for Android aidl and support for gyp's java_in_dir
Adds the android_aidl template to support Android aidl.

Adds a DEPRECATED_java_in_dir to android_library and android_apk. This
will greatly ease the transition from gyp to gn.

Adds BUILD.gn for third_party/eyesfree (using the two new features
added).

TBR=rsleevi
BUG=359249

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

Cr-Original-Commit-Position: refs/heads/master@{#293386}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dad5f427256371787b536ccdcf08d6493bebb379
2014-09-05 01:06:04 +00:00
Brett Wilson 2c47d450f8 Hook up resources to the chrome GN build.
It also hooks up libpdf which chrome requires at startup.

Adds the enable_hidpi and use_athena build flags.

Adds a locales list.

This makes the chrome target actually runnable from a GN build.

R=jamesr@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#293360}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6a90cafc8e2b0f1e1bc6a8f7e69470ac8acfa253
2014-09-04 22:29:41 +00:00
brettw de542c8753 Pull buildtools to get GN r293190
TBR=jamesr

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

Cr-Original-Commit-Position: refs/heads/master@{#293269}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: babd228391d379b59d5f60befb76ce0640aad90e
2014-09-04 06:03:34 +00:00
Brett Wilson 392cc7e5a7 Add some more libjingle targets to the GN build.
Add usrsctp. Make Windows version configurable for this in the build.

direct_dependent_configs for libsrtp.

R=hclam@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#293004}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c63f22b374dd953b8003800babbe833688e4b93d
2014-09-02 22:02:22 +00:00
Brett Wilson ccd33d0771 Minor fixes for the GN Windows build.
R=scottmg@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#292979}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e1b05dc1d206abb5cd3fc0fdd549bd88eb5452a9
2014-09-02 19:57:57 +00:00
dalecurtis 9be026bc51 Various GN fixes.
- Fixes gcc_version issues on gTrusty.
- Fixes accidental duplicate in input_events build file.
- Fixes spammy warnings in libxml.

BUG=none
TEST=builds

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

Cr-Original-Commit-Position: refs/heads/master@{#292669}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 54d9265014bce6db79a5a0364031e29e031c8d26
2014-08-29 18:29:29 +00:00
pgal.u-szeged 9f20938741 Move GLIB_DISABLE_DEPRECATION_WARNINGS define to a more general place.
The GLIB_DISABLE_DEPRECATION_WARNINGS define disables the deprecation
warnings which is caused by the usage of the g_settings_list_schemas
method. Moving the define to the build scripts avoids any future build
errors (-Werror) and warning reports.

BUG=391250
TEST=ninja -C out/Release chrome

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

Cr-Original-Commit-Position: refs/heads/master@{#292608}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3a31d8e495b1d04a01f9e6c57fac608fee0285e3
2014-08-29 12:06:24 +00:00
vitalybuka 917969991c Removed print_web_view_helper_win.cc
Removed win_pdf_metafile_for_printing gyp option.
Removed WIN_PDF_METAFILE_FOR_PRINTING define.

BUG=170859
TBR=yzshen

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

Cr-Original-Commit-Position: refs/heads/master@{#292501}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 36259ca6a4aa40fa18c2ccbffa4e6b3a8b711868
2014-08-28 23:43:19 +00:00
Brett Wilson d91f1add98 Remove built-in component and test targets from GN.
Previously "component" was a built-in function that forwarded to source_set, static_library, or shared_library depending on the value of component_mode. And test was a built-in function that forwarded to executable.

These can be expressed as templates instead. This patch removes the built-in versions and implements the templates in the master build config file.

Forwarding all of the variables for these is somewhat tedious, but I still prefer not to add a new concept for this, since it will be rarely used and less clear what is happening.

With the updated BUILDCONFIG.gn file, the build will work with both the old and new GN version (the built-in version of component and test take precedence). When the new GN binary is pushed, we can remove the references to component_mode.

BUG=
R=hclam@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#292500}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 60a5bf4a8a5d1a2dad8e7a67f81e72756e886266
2014-08-28 23:36:31 +00:00
Sadrul Habib Chowdhury 54075116e1 gn: Fix definition of |enable_plugins|.
Plugins are not enabled on android or ios.

BUG=none
R=brettw@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#292256}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 39a6a1b1e570f54aaa957095400b6d40aae0e0f1
2014-08-27 22:59:16 +00:00
Brett Wilson 4439a74fc1 Work on GN build of Chrome.
Fixes the rest of the non-rtc and non-vpx linker errors for the chrome target.

BUG=
R=ajwong@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#291952}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 64275214e0ab409050f048cb7e4b4cf30e3df082
2014-08-26 19:08:09 +00:00
noms cd44b988a8 Revert of linux: Always use (64bit) gold for linking, even on 32bit. (patchset #3 of https://codereview.chromium.org/503873004/)
Reason for revert:
Tentatively reverting because it made the sizes bot grumpy (http://build.chromium.org/p/chromium/buildstatus?builder=Linux&number=52715)

Original issue's description:
> linux: Always use (64bit) gold for linking, even on 32bit.
>
> All 32bit bots now have 64bit kernels and can run 64bit gold. So always use
> that.  We already require running 64bit binaries for clang, and the official
> bots already used to do this for gold.  This makes linking on 32bit bots faster,
> and simplifies our configurations.
>
> BUG=396333
> TBR=brettw
>
> Committed: c7864673b1

TBR=thestig@chromium.org,brettw@chromium.org,thakis@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=396333

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

Cr-Original-Commit-Position: refs/heads/master@{#291905}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 277720168a1fd1bd3147912fc81c88f6dc0f1c69
2014-08-26 15:22:32 +00:00
thakis 37c4e7670d linux: Always use (64bit) gold for linking, even on 32bit.
All 32bit bots now have 64bit kernels and can run 64bit gold. So always use
that.  We already require running 64bit binaries for clang, and the official
bots already used to do this for gold.  This makes linking on 32bit bots faster,
and simplifies our configurations.

BUG=396333
TBR=brettw

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

Cr-Original-Commit-Position: refs/heads/master@{#291904}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7cd5e7a3a82ebad8bf53e1236229d1094f8dafc6
2014-08-26 14:56:01 +00:00
Brett Wilson eddfca026d Generate symbols in debug GN builds.
The previous code removed symbols from clang builds based on what GYP used to
do. But GYP changed this logic when clang was set to the default. GN was then
left with clang on by default, but no symbols.

This adds some additional GYP flag parity work.

R=scottmg@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#291803}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7927079955d2767e1fa812fe58432fcb9d6250aa
2014-08-26 00:30:25 +00:00
Brett Wilson da7e84ca7a Add some remoting targets to GN build.
Since GN runs its scripts in a different current directory than GYP, I had to update the remoting html template script to be able to handle this situation.

Also includes many misc linking fixes:
  - Sets enable_nacl to false.
  - Add renderer context menu component
  - Adds many missing files

R=sergeyu@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#291731}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1c693998d75f78e94862c324afba3815356ecaf1
2014-08-25 19:11:32 +00:00
cjhopman@chromium.org 2d32f0b6b8 Add support for prebuilt jars
Mostly just a refactoring of build rules to support prebuilt jars.

Adds support for proguard preprocessing of both prebuilt and
non-prebuilt java libraries.

Adds definitions of all (but for android.jar) of the prebuilt jars that
we need from the sdk.

BUG=359249

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

Cr-Original-Commit-Position: refs/heads/master@{#291464}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 684b22957e09c08e917a63390b04980a67da4fa1
2014-08-22 19:13:57 +00:00
cjhopman@chromium.org cc6e76886b Add linting for java libraries/apks to gn
BUG=359249

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@291240 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-21 23:27:22 +00:00
cjhopman@chromium.org 9c422e4f26 Add native libraries to gn apks
First, change the NativeLibraries template to use preprocessor defines
instead of includes. This allows us to delete all the corresponding
headers.

Then, change the ordered libraries file to be a dict with both the list
of library paths and the java-style list of library names.

Update a bunch of things that used the ordered libraries file to instead
take the list of libraries directly as an argument (as a FileArg in
every case).

Add calculating the list of libraries to write_build_config and add it
to the build config (gn can use this then instead of a separate ordered
libraries file).

Add a simple copy step in gn to set up the native libraries directory
for an apk. Use this directory when creating the apk.

BUG=359249
NOTRY=true

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@290963 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-21 00:42:57 +00:00
brettw@chromium.org 74d96b3268 Pull new GN, update toolchain definitions
This pulls buildtools to get GN 290714 and updates to the new style of toolchain definitions in that revision.

Unfortunately, this new version doesn't support getting the outputs of excutables, which made the android unit test template a bit less automatic. We can consider how to best fix this in the future.

R=jamesr@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@290894 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-20 19:39:43 +00:00
dnicoara@chromium.org b1bf10e85f Revert of Run pkg-config for Udev only if use_udev==1 (patchset #1 of https://codereview.chromium.org/429723002/)
Reason for revert:
Breaks builds where use_udev==0 since certain targets just assume udev and never check against use_udev.

Udev package should be wrapped in a use_udev confitional altogether and all the locations using Udev should check against use_udev.

Original issue's description:
> Run pkg-config for Udev only if use_udev==1
> 
> Some embedded platforms do not have udev support. The change will skip
> running pkg-config if use_udev=0.
> 
> BUG=none
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=288770

TBR=brettw@chromium.org
NOTRY=true

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@289280 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-13 13:50:18 +00:00
jamesr@chromium.org ca4d9df5ab GN: Make content_shell and webkit_unit_tests work in component build
Except for webrtc, this produces content_shell and webkit_unit_tests
binaries that link and run successfully on linux.

R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@289007 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-12 17:07:12 +00:00
dnicoara@chromium.org d62042e332 Run pkg-config for Udev only if use_udev==1
Some embedded platforms do not have udev support. The change will skip
running pkg-config if use_udev=0.

BUG=none

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@288770 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-11 19:49:30 +00:00
thakis@chromium.org edc069c103 Port r288424 to gn.
BUG=none
NOTRY=true

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@288746 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-11 18:01:21 +00:00
garykac@chromium.org a58488fc6b Implement HiDPI and pinch-zoom scaling of filter params
This change implements HiDPI scaling of filter params in CC. It also fixes content scaling of filter params (e.g.,
with -webkit-transform: scale(X)) as well as pinch-zoom scaling.

This code is mostly from http://crrev.com/191123002
   "Implement hidpi and pinch-zoom scaling of filter params in cc"
and replaces http://crrev.com/317663005
   "Scale the ALPHA_THRESHOLD filter's region based on the device scale factor"
because this fixes all filters rather than just the AlphaThresholdFilter.

BUG=376532, 281516, 281518, 349493
R=brettw@chromium.org, danakj@chromium.org, enne@chromium.org, jschuh@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@288436 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-08 21:25:32 +00:00
cjhopman@chromium.org 4ee6f5fd24 Make android_apk template actually create an apk
This is essentially three steps, packaging resources, packaging code,
and then signing+zipaligning the apk.

The apk does not currently contain the native libraries.

Depends on http://crrev.com/386473002/

BUG=359249

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@287729 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-06 07:29:42 +00:00
brettw@chromium.org 6e7e2450f6 Elide gn desc --tree output by default.
When gn's desc command is used with --tree, it prints a dependency tree. But recursively printing the dependency tree of a high-level target in Chrome prints too much output to be useful because it's printing, e.g. base and it's deps over and over (//chrome/browser-s --tree is 3210166 lines).

With this patch, a target will be recursed into the first time it's printed, but subsequent times the children will be elided with "..." This brings down //chrome/browser to 2050 lines. The previous behavior is still available (it could be useful in certain cases) via "--tree --all".

This also updates an optimization comment in the the optimization setup (optimize_max isn't just Windows-only).

R=dalecurtis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@287424 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-05 00:52:03 +00:00
thakis@chromium.org 6a4a3e6a0e Use clang as host compiler on android with gn too.
This ports https://codereview.chromium.org/430383002/ to gn.
Patch from brettw in https://codereview.chromium.org/385823002/ , this just
activates it.

BUG=360311
R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@287416 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-05 00:13:11 +00:00
dnicoara@chromium.org 99aa8fa90b Move libdrm target behind conditional
On embedded platforms the library may not be available. As-is GYP will
try running pkg-config early on even if none of the Ozone dependencies
require libdrm.

BUG=none

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@286855 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-31 18:31:47 +00:00
jamesr@chromium.org 605f3cd63a GN: Put shared libraries in outdir, not outdir/lib
There's no reason to have shared libraries hidden in a separate out dir.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@286740 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-31 11:45:27 +00:00
scottmg@chromium.org b5e29cbe27 gn win: Add system include directories to midl template
Otherwise, midl.exe will fail to find standard .idls, e.g.:

midl : command line error MIDL1001 : cannot open input file objidl.idl

R=brettw@chromium.org
BUG=354261

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@286437 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-30 07:59:50 +00:00
jamesr@chromium.org 788aaecd5e GN: pass -Wl,--disable-new-dtags on linux so DT_RPATH works
Without this shared library dependencies that should be resolved via
rpath remain unresolved and component build libraries don't run. Copied
from build/common.gypi which is conditional on binutils version, but I'm
pretty sure the GN build never runs on older binutils.

R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@286399 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-30 03:40:51 +00:00
cjhopman@chromium.org 6a9baf3b27 Add dexing for libraries and apks
Apks need to get the paths to all the dependent library dex files to
merge into the final classes.dex file for the apk.

Depends on http://crrev.com/379333003

BUG=359249

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@286345 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-29 23:53:07 +00:00
cjhopman@chromium.org e113a571c9 Fix optional neon support
On Android, we detect neon support at runtime and switch implementations
based on that. This requires that some parts of skia are compiled with
-mfpu=neon.

To support this, the -mfpu flag is moved out of the 'compiler' config
and into its own config. A target can then remove this config and supply
its own -mfpu flag (without having to duplicate all the other stuff in
the 'compiler' config).

BUG=359249

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@286038 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-29 00:20:58 +00:00
cjhopman@chromium.org 5eb3802f61 Add beginnings of android_apk and unittest_apk templates
This adds two templates, android_apk and unittest_apk. unittest_apk is
a simple wrapper of android_apk for packaging gtests into apks.

android_apk currently just does the java compilation, processing
resources, and build_config stuff for apks.

BUG=359249

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@286031 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-28 23:53:11 +00:00
brettw@chromium.org 657f4d96d1 Make content_shell link in the GN build.
It doesn't run yet. This disables WebRTC since that's not done yet.

Libvpx isn't done either. This patch exports the disable flag for this from media to dependent targets like the GYP build does. It adds one extra check for this flag in Pepper. I assume everybody that compiles without libvpx also disables plugins so this has never come up before.

Disable some warnings in Mesa.

The resulting binary does not yet run.

R=jamesr@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@285962 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-28 19:47:04 +00:00
brettw@chromium.org 9c3e7446a0 Re-disable warning 4018 in the GN Windows build.
Note even base compiles with the change to disable it.

TBR=pkasting

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@285860 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-28 04:04:20 +00:00
pkasting@chromium.org 9b0506c008 Re-enable various MSVC warnings.
BUG=81439
TEST=none

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@285730 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-26 00:01:53 +00:00
scottmg@chromium.org 39dad2f582 gn win: Always warnings as errors
R=brettw@chromium.org
BUG=393046,354261

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@285502 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-25 06:12:45 +00:00
brettw@chromium.org a38b931f00 Miscellaneous GN updates.
Removes some unnecessary prints accidentally checked in to the Android build.

Removes a GYP TODO now that angle has rolled.

Updates commented-out labels of targets that now exist.

R=dpranke@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@285400 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-24 23:10:53 +00:00
spang@chromium.org 3c806a8428 ozone: Fix GN build for ozone_egl_demo, ozone_unittests
This fixes the GN build for the ui/ozone component (and tests). The
following build should work going forward:

 gn gen out_gn_ozone --args="use_ozone=true"
 ninja -C out_gn_ozone -j1000 -k50 ozone_egl_demo ozone_unittests

BUG=396316
TEST=compile & run ozone_egl_demo, ozone_unittests
TBR=darin

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@285362 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-24 20:44:16 +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 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
jamesr@chromium.org ea00579119 GN: Fix extra escaping of rpath=$ORIGIN/lib ldflag
As written the argument ended up in the .ninja file as \\\$$ORIGIN/lib/
but we want \$$ORIGIN/lib/ to match gyp.

R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@284888 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-23 08:57:26 +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 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
thakis@chromium.org 45acce3893 Port r282246 to gn.
Temporarily disable -Werror on linux, since the gn build isn't yet
warning-free with clang. Since gn doesn't use -Werror for all targets yet
anyways (http://crbug.com/393046) that seems acceptable.

BUG=360311,393046
R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@284372 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-20 19:08:58 +00:00
derat@chromium.org 162c451bce linux: Add tests for FontRenderParams on Linux.
Add some tests for FontRenderParams's interactions with
Fontconfig, which is used on desktop Linux and Chrome OS.

Also re-add platform_font_pango_unittest.cc for gn.

BUG=125235

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@283969 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-18 01:44:22 +00:00
aurimas@chromium.org ca3f926241 Roll Android SDK to v20
BUG=393019
NOTRY=true

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@283526 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-16 21:47:17 +00:00
brettw@chromium.org 8b42afcda2 Add display, message_center, shell_dialogs, webview to GN build.
R=sky@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@283516 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-16 21:33:36 +00:00
cjhopman@chromium.org 48b7266b89 Change FileArg syntax
This changes the syntax from:
 @(filepath:key0:key1)
to:
 @FileArg(filepath:key0:key1)

This should make it much easier for someone who encounters this syntax
to figure out what it is (currently a `git grep FileArg` returns only
results about/using this feature).

Also changes it to use a simple regex search instead of adhoc stuff.

BUG=359249

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@283484 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-16 20:24:45 +00:00
brettw@chromium.org dd6777c58f Add ash to the GN build.
Minor fixes to ash.gyp: remove tabs, convert sources/ excludes to sources!.

R=sky@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@283415 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-16 17:50:09 +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 487d3e6f43 Add browser_extensions to GN build.
Original review: https://codereview.chromium.org/383083010

R=jamesr@chromium.org
TBR=jamesr@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@283277 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-15 23:50:29 +00:00
brettw@chromium.org ba423ab79f Revert 283052 "Add browser_extensions to GN build."
> Add browser_extensions to GN build.
> 
> BUG=
> R=jamesr@chromium.org
> 
> Review URL: https://codereview.chromium.org/383083010

TBR=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@283057 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-14 22:37:50 +00:00
brettw@chromium.org 6291a91f9d Add browser_extensions to GN build.
BUG=
R=jamesr@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@283052 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-14 22:25:09 +00:00
brettw@chromium.org 94a0d8dd86 Make it possible for Android GN host builds to use Clang.
The problem was that the toolchain definitions had an is_clang block in them, but this is only evaluated in the context of the default toolchain (so false for and Android build). But then when we were re-evaluating the build config for the host compile, it was forcing clang to true which was causing the clang flags to be set.

This changes the way we default the is_clang value. Forcing it to true prevents it from being overridden manually. In some cases, like mac, this is pointless. In other cases like Linux, we may want to turn it on and off. Changing this definition allows us to toggle it on and off for different toolchains as we desire.

Ideally I think the way of defining toolchains would be different to make this a bit more flexible, I'll think about this. But this will work for now.

R=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@282685 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-11 20:27:10 +00:00
brettw@chromium.org 4aa2703b08 Add chrome/browser/ui to the GN build.
This moves the intermediate grit files:
ui/ui_resources -> ui/resources
ui/ui_strings -> ui/strings
in the GYP build to put it in line with the GN one (and also what one would expect).

R=ajwong@chromium.org
BUG=

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@282663 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-11 19:23:19 +00:00
sky@chromium.org 4445b6af2a Nukes USE_MOJO
It was removed from the gyp build a while back.

BUG=353602
TEST=none
R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@282457 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-10 23:19:40 +00:00
brettw@chromium.org ce32780d1a Add components and CLD to GN build.
New components:
- rappor
- data_reduction_proxy
- captive_portal
- translate
- usb_service
- web_modal

Removes the _IMPLEMENTATION define for web_modal. It is unused (it is a static library, not a component).

Adds third_party/cld and third_party/cld_2 BUILD files.

Separates out the include dir setting of "//" and the root gen directory so. cld_2 needed to not have this due to base file name conflicts.

R=jamesr@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@282438 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-10 22:00:37 +00:00
brettw@chromium.org eddb5dca1a Revert 282355 "Add chrome/browser/ui to the GN build."
> Add chrome/browser/ui to the GN build.
> 
> This moves the intermediate grit files:
>   ui/ui_resources -> ui/resources
>   ui/ui_strings -> ui/strings
> in the GYP build to put it in line with the GN one (and also what one would expect).
> 
> R=ajwong@chromium.org
> 
> Review URL: https://codereview.chromium.org/381463002

TBR=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@282359 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-10 16:56:07 +00:00
brettw@chromium.org 7f8560a729 Add chrome/browser/ui to the GN build.
This moves the intermediate grit files:
  ui/ui_resources -> ui/resources
  ui/ui_strings -> ui/strings
in the GYP build to put it in line with the GN one (and also what one would expect).

R=ajwong@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@282355 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-10 16:40:00 +00:00
brettw@chromium.org f51c6750e4 Move GN speechd target to third_party.
The //build directory in GN shouldn't refer to anything outside of itself so that non-Chrome projects can copy it and re-use the build configuration. speechd relies on third_party/speech-dispatcher. This patch just moves the loader to the speech-dispatcher target, which makes more sense anyway.

TBR=grunell@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@282138 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-09 22:11:47 +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
thakis@chromium.org 885ff854cb Include stlport through -isystem instead of -I.
Enables removing a TODO and is needed for the bug linked below.

(Doesn't work for the webkit build for some reason, but that's currently
not built with clang anyhow.)

BUG=381053
R=cjhopman@chromium.org
TBR=brettw@chromium.org
NOTRY=true

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=280406

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@282046 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-09 15:50:32 +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
cjhopman@chromium.org 9f9e39c561 Add android_library template and build_configs
This is the GN equivalent of build/java.gypi. It is a template for
creating an Android library including java code and Android resources.

It currently only compiles java files (including files in srcjars from
srcjar targets like java_cpp_template) and zips them together in a .jar
and creates the corresponding .jar.TOC.

Some of the things still to do: proguard_preprocess, android_lint,
emma coverage, dex, everything resources.

Adds android_java_library rule for base_java, guava, and jsr-305.

This add the --java-srcjars argument to javac.py. This will accept a .zip of
.java files and include those files in the compilation. This approach is
preferred over using the --src-gendirs option.

Many of the parts of building Android stuff (libraries, resources, apks)
require knowledge of the dependents of that thing. Examples: javac classpath,
for resources aapt needs to know about all dependents, dexing for an apk
needs to know about all java code going into that apk. For gyp, this is done
primarily with all_dependent_settings. There is then some of this logic in
two particular steps (dexing and proguard). These steps, when building an
instrumentation apk, need to exclude the things in the tested apk and this is
done by having the tested apk essentially write a file saying what it did in
those steps and the test apk reading that file and excluding stuff.

In GN, all_dependent_settings doesn't really work. This change introduces a new
way of calculating and using this information. Specifically .build_config files
and build_utils.ExpandFileArgs(). The build_config file for a target contains
the information that depends on dependents. The logic in write_build_config and
the logic in the template specification are very much tied together (in some
sense, write_build_config is just the part of the template specification
that can actually inspect the dependency graph). With
build_utils.ExpandFileArgs() all the other build scripts are essentially
unaware of the .build_config files and can just be written in a (mostly)
straightforward way.

A large part of the information calculated by the build_config is finding input
files to later actions. This requires that those later actions writes a depfile
that contains any inputs that are specified by the build_config (in the case of
this change, javac and the classpath files). Since a action's script shouldn't
really know about the build_config file and what information it got
from that, it is safest for the action to write *all* of its inputs into the
depfile (but to be correct it only has to write those that aren't explicitly
specified in the build files).

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

BUG=359249

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@280995 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-02 10:46:46 +00:00
kangil.han@samsung.com d5f663a4af Introduce enable_web_speech to replace with input_speech
Before this CL, implementation manipulated os condition
but that seemed not so straight forward.
Therefore, this CL introduced feature wise variable
so that later any os can easily enable/disable.

BUG=223198

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@280972 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-02 07:38:21 +00:00
brettw@chromium.org 66837b27ef Add more GN deps to the build.
These deps are some of those required to compile chrome/browser (so mostly those containing resources and protobufs that have generated headers). chrome/browser still has some dependencies left.

Add third_party libs libaddressinput and dom_distiller_js.

Add components dom_distiller and policy.

Separate the generate_library_loader into a separate .gni file.

Rename components_strings to just strings.

R=ajwong@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@280916 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-01 23:54:17 +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
anton@chromium.org 26162968a7 Revert of Include stlport through -isystem instead of -I. (https://codereview.chromium.org/359783005/)
Reason for revert:
This patch breaks Android Goma builds (the build continues locally very slowly).

https://groups.google.com/a/google.com/forum/#!topic/goma-users/KNsshiobTvE


Original issue's description:
> Include stlport through -isystem instead of -I.
> 
> Enables removing a TODO and is needed for the bug linked below.
> 
> (Doesn't work for the webkit build for some reason, but that's currently
> not built with clang anyhow.)
> 
> BUG=381053
> TBR=brettw@chromium.org
> NOTRY=true
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=280406

TBR=cjhopman@chromium.org,thakis@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=381053

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@280648 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-30 19:53:41 +00:00
thakis@chromium.org e036791ec8 Include stlport through -isystem instead of -I.
Enables removing a TODO and is needed for the bug linked below.

(Doesn't work for the webkit build for some reason, but that's currently
not built with clang anyhow.)

BUG=381053
TBR=brettw@chromium.org
NOTRY=true

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@280406 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-27 20:43:57 +00:00
cjhopman@chromium.org a35d42b462 Add depfile support to android build scripts
This adds the --depfile option to a bunch of android's build scripts
(the ones used by gn). It also adds a simple function in build_utils to
calculate the paths of the imported python files.

Currently, the written depfiles just contain that list of python files
(which is much more accurate than the way this is handled in gyp).

BUG=359249

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@279546 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-24 23:38:17 +00:00
Gordana.Cmiljanovic@imgtec.com 1ca616703c [MIPS] Add MIPS Android related changes to gn build system
- Include skia opts files for MIPS
       - Correct cpu_arch name check
       - Do not add libgcc using absolute path

TEST=Generate ninja files using gn gen and compile targets for mips Android

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@279426 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-24 17:13:02 +00:00
thakis@chromium.org de829cb407 Turn on C++11 when building with gcc4.8+
Revert with prejudice (after filing bugs / pinging me ) if this regresses perf or similar.

BUG=377668
R=ajwong@chromium.org
TBR=brettw

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@279220 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-23 23:20:46 +00:00
brettw@chromium.org 9118eda7a2 Add chrome/renderer to the GN build.
Adds some dependencies, also enables compiling of chrome/common.

Adds disable_nacl and safe_browsing feature flags.

R=jamesr@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@278916 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-21 04:29:24 +00:00
sebmarchand@chromium.org 6568eab110 Rename FORCE_DETERMINISTIC_BUILD to DONT_EMBED_BUILD_METADATA.
Strictly speaking this flag isn't here to force a deterministic build, it's here to help us to make sure that no build metadata ends up in the build artifacts to help us guarantee a deterministic build.

(See the discussion in https://codereview.chromium.org/324403006/ for more details)

FTR, Nico said he'll take care of getting rid of __DATE__ and __TIME__ so this
new define will not be necessary for that.

On the other hand we may have issues with absolute path in __FILE__ and whatever
unforeseen C++ issue. This would require #ifdef'ing them out. This is not
something devs would want to do normally so this flag is off by default.

Eventually we'll want to fix the build system to not have to hack __FILE__ out
by ensuring they are *always* relative paths but until then, this variable can
be used to make progress


R=maruel@chromium.org, thakis@chromium.org
TBR=brettw@chromium.org

BUG=314403

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@278053 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-18 13:10:04 +00:00
brettw@chromium.org 6b08c14c0e Add GN build for some chrome common, chrome net, and resources targets.
Slight enhancements to the grit template.

R=thestig@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@277517 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-16 19:29:56 +00:00
sebmarchand@chromium.org d0506e6d31 Add a new FORCE_DETERMINISTIC_BUILD define.
This flag will be used to make the builds determinist, e.g. in place like this one: https://code.google.com/p/chromium/codesearch#chromium/src/base/build_time.h&l=15

BUG=314403

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@276801 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-12 21:01:19 +00:00
brettw@chromium.org f1c0134684 More work on content/browser GN build.
Still not hooked up and not quite everything compiles but this should be the bulk of the functionality.

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@276774 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-12 19:38:50 +00:00
sebmarchand@chromium.org 16c89af355 Disable Warning 4702 for the PGO builds.
There's more optimization done on a PGO build than on a regular one, this results in some "Unreachable code" warnings that we don't see normally.

But probably anything that this would catch that wouldn't be caught in a normal build isn't going to actually be a bug, so the incremental value of C4702 for PGO builds is likely very small and blocks the setup of the PGO bots.

BUG=380175

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@276737 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-12 18:06:31 +00:00
brettw@chromium.org d6e8296c12 Pull GN binary at r275833
Also fixes some build errors on non-Linux platforms.

R=jamesr@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@276063 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-10 17:48:03 +00:00
tfarina@chromium.org 80d130c00e Add GN Build file for ui/events/ozone.
This was tested with:

$ gn gen out/Debug_gn --args='use_ozone=true'
$ ninja -C out/Debug_gn events_ozone events_ozone_evdev

BUG=None
TEST=see above
R=brettw@chromium.org
TBR=ben@chromium # for ui/ changes
NOTRY=true

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@276044 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-10 15:58:45 +00:00
tfarina@chromium.org b7320bbe6e Add GN build file for ui/aura target.
Test plan:

Debug:

$ gn gen out/Debug_gn
$ ninja -C out/Debug_gn aura

Release:

$ gn gen out/Release_gn --args='is_debug=false'
$ ninja -C out/Release_gn aura

Android:

$ gn gen out/Debug_gn --args='os="android" cpu_arch="arm"'
$ ninja -C out/Debug_gn aura

BUG=None
TEST=see above.
R=brettw@chromium.org,scottmg@chromium.org
TBR=ben
NOTRY=true

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@275607 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-07 04:09:29 +00:00
brettw@chromium.org 66841a46b7 Roll pdfium, add GN build for pdf and pdfium.
Pdfium changes:
d68f9a3  Add GN build file for pdfium, rename GYP target.
f0a5576  fix two uninitialized reads
https://code.google.com/p/pdfium/issues/detail?id=9
https://code.google.com/p/pdfium/issues/detail?id=10
bb2b1e7  Use unsigned type for iteration to avoid int overflow.
62a7fd6  Wrong variable assignment in Pdfium.

In the GN build this separates out the no-exceptions flag since pdfium must be compiled with exceptions enabled.

Updates pdfium naming in GYP from fpdfsdk.

Removes src/pdf from .gitignore now that it is checked in.

BUG=
R=jam@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@275269 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-05 23:19:28 +00:00
cjhopman@chromium.org d339848101 Add generate_jar_jni template
This implements jar_file_jni_generator.gypi for GN.

Also, add the //ui/gl:surface_jni_headers and enable some targets that
depend on it.

BUG=359249
R=brettw@chromium.org,tfarina@chromium.org
TBR=ben@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@275222 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-05 19:47:30 +00:00
brettw@chromium.org b3a6ed65f8 Add net_unittests to the GN build.
BUG=
R=rsleevi@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@275186 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-05 18:05:12 +00:00
jamesr@chromium.org 6c14153402 GN: //base should not depend on //base/allocator on mac
We don't use tcmalloc or the allocator target on OS X

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@274797 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-04 12:45:42 +00:00
tfarina@chromium.org af4f3351fe Add GN build file for dbus.
BUG=None
TEST=None
R=scottmg@chromium.org
TBR=satorux@chromium.org
NOTRY=true

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@274491 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-03 12:48:55 +00:00
brettw@chromium.org f3596196f9 Add RLZ build file for GN build, fix Windows build.
Some ICU settings were incorrect in the non-component build that caused functions not to get linked properly.

We set the wrong exception handling flag in non-component mode.

Add rlz to the GN build.

Some NSS files were missing.

R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@274298 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-02 19:16:36 +00:00
brettw@chromium.org 713f9bb98e Update skia and ui GN builds
Change some targets to source sets. These are small ones that are currently depended on by other source sets. This avoids some duplicate symbols.
duplicated.

Fix some conditions around the touch_device in ui/base.

Lots of Skia build fixes. It turns out our skia library does not use the "util" target, and some of the files in "util" reference functions that it seems are never defined in any file. This removes the ones in our list that weren't in skia_library.gypi to make accessibility_unittests link.

Update gesture recogniser file lists.

BUG=377890
TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@274022 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-31 04:40:23 +00:00
tfarina@chromium.org dd9ce89dc7 Introduce GN to desktop_linux arg and grit_defines list.
They are necessary otherwise grit won't define IDS_WEB_FONT_FAMILY and
IDS_WEB_FONT_SIZE from app_locale_settings.grd

Which is necessary, otherwise we get the following error when trying to
compile web_ui_util.cc:

../../ui/base/webui/web_ui_util.cc:130:28: error: 'IDS_WEB_FONT_FAMILY'
was not declared in this scope
../../ui/base/webui/web_ui_util.cc:131:26: error: 'IDS_WEB_FONT_SIZE'
was not declared in this scope

BUG=367591
TEST=gn gen out/Debug_gn && ninja -C out/Debug_gn ui_base
R=brettw@chromium.org
TBR=ben (for ui/base change)

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@274019 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-31 04:34:50 +00:00
ch.dumez@samsung.com 279251b4de Drop ENABLE_NEW_GAMEPAD_API build flag as it is no longer needed
Drop ENABLE_NEW_GAMEPAD_API build flag as it is no longer needed now that
the Blink side has been updated and all the #ifdefs have been removed.

R=dmichael@chromium.org, brettw@chromium.org
BUG=344556

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273921 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-30 22:49:25 +00:00
brettw@chromium.org dded471886 Add GN build for Linux sandbox.
Also removes duplicate gfx x11 target.

BUG=
R=erg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273589 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-29 20:56:02 +00:00
brettw@chromium.org dc4dfd1fd1 Add CC to the GN build, work on GPU more
BUG=
R=jamesr@chromium.org
TBR=piman

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273588 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-29 20:54:24 +00:00
brettw@chromium.org da6b387202 Add support for VS express to the GN build.
BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273345 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-28 20:32:01 +00:00
brettw@chromium.org 2b892ccfc7 Add content renderer to the GN build
Also adds ui/native_theme, third_party/npapi, and some required mojo stuff to make it build.

Reland of https://codereview.chromium.org/299113002
TBR=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273270 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-28 16:51:44 +00:00
mvanouwerkerk@chromium.org 317f982842 Revert 273188 "Revert 271207 "Changed android toolchain to use G..."
In the time between upgrading from GCC 4.6 to 4.8 the codebase changed
to trigger a compiler bug that exists in 4.6 but not in 4.8. We now
have two options: fix our code for 4.6 or fix WebRTC. We need to
upgrade to 4.8 either way. As the WebRTC team seems to have a
potential fix for running on 4.8, we will go up to 4.8 again.

> Revert 271207 "Changed android toolchain to use GCC 4.8"
> 
> > Changed android toolchain to use GCC 4.8
> > 
> > BUG=359106
> > 
> > Review URL: https://codereview.chromium.org/218633007
> 
> TBR=fdegans@chromium.org
> 
> Review URL: https://codereview.chromium.org/303493006

TBR=henrika@google.com

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273247 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-28 15:32:59 +00:00
henrika@google.com 3e4bbbc82b Revert 271207 "Changed android toolchain to use GCC 4.8"
> Changed android toolchain to use GCC 4.8
> 
> BUG=359106
> 
> Review URL: https://codereview.chromium.org/218633007

TBR=fdegans@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273188 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-28 09:52:27 +00:00
brettw@chromium.org 9ae8159385 Revert 273079 "Add content renderer to the GN build"
> Add content renderer to the GN build
> 
> Also adds ui/native_theme, third_party/npapi, and some required mojo stuff to make it build.
> 
> BUG=
> R=scottmg@chromium.org
> 
> Review URL: https://codereview.chromium.org/299113002

TBR=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273086 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-28 00:25:44 +00:00
brettw@chromium.org 19d9108324 Add content renderer to the GN build
Also adds ui/native_theme, third_party/npapi, and some required mojo stuff to make it build.

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273079 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-28 00:03:04 +00:00
brettw@chromium.org 76ee517b74 Add ppapi, improve Windows GN build.
This adds ppapi-related targets except the tests to the GN build.

Did some minor tweaks to the .gypi ppapi lists. Some files were duplicated between the trusted and common lists which causes errors in GN (it doesn't uniquify the lists like GYP). Common is used in every place trusted is, so I just removed the duplicates from the trusted list.

Fixed some warnings in skia and tcmalloc. Added the ability to undefine NOMINMAX on Windows.

Fixed some src/ui Windows compilation issues.

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273016 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-27 20:15:20 +00:00
cjhopman@chromium.org 9e92697803 Add java_cpp_template template
This is the GN version of build/java_cpp_template.gypi.

It defines a template that wraps an action_foreach that generates .java
files using the host C preprocessor.

The major difference in the GN version is that it takes all the
generated java files and zips them together in a single .srcjar. When
such a target is included in the srcjar_deps of a java library, the
.java files in the .srcjar will be treated much like files listed in
that libraries java_sources (particularly they will be compiled and
included in the .jar/.dex).

Depends on https://crrev.com/264773014/

BUG=359249

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@272775 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-26 04:01:47 +00:00
brettw@chromium.org 0aad604aa5 Work on the Android GN build.
Fills out more targets in the Android build.

BUG=
R=cjhopman@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@272574 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-23 19:01:46 +00:00
scottmg@chromium.org ab713393e4 GN win: prep_libc and fix tcmalloc linkage
On top of https://codereview.chromium.org/290633012/

R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@272249 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-22 18:38:21 +00:00
brettw@chromium.org 113f4db58e Suppress psabi warnings in GN build.
These are disabled currently in the Android ARM GYP build. This patch disables it for all ARM builds since the warning appears when cross-compiling to ARM on Linux without Android (this isn't something people normally compile, so probably nobody noticed).

R=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@271951 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-21 20:07:00 +00:00
brettw@chromium.org 76dfaae6fa Fix mac GN build.
--fatal-warnings don't seem to be supported. This also adds support for mach_logging files which were added recently.

BUG=
R=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@271942 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-21 19:45:15 +00:00
brettw@chromium.org de5b4d45cb Add GPU command buffer sevice and protobuf to GN build
Adds a protobuf target and a template for defining protos. This handles doing host builds of protoc when cross-compiling.

The command buffer sevice wants more optimization on Android, so this patch generalizes the solution. Normally Android, like Windows, optimizes for size. This now adds support on Android for speed optimization just like Windows does. Mac & Linux always optimize for speed.

Removes the declare_args call around the gcc_version. This was parameterized to be different if is_android was set, which isn't valid because build parameters can't vary across toolchains. Since this value is derived from the environment, I just removed the declare_args call.

BUG=
R=piman@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@271941 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-21 19:42:31 +00:00
scottmg@chromium.org e6a3b463ef fix line endings on visual_studio_version.gni
So CQ works on https://codereview.chromium.org/290713002

TBR=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@271827 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-21 03:05:06 +00:00
brettw@chromium.org 9a06fdddb7 GN build improvements, misc plus
Parameterize webrtc enabling.

Add use_seccomp_pbf flag

Add a webkit version target

Work on ui/base GN build, especially on Windows. This target is a mess (in GYP). This patch tries to make it make a bit more sense while fixing the errors I found.

Fix ui/gl target for non-Linux platform. A bunch of X11 stuff was not parameterized.

Add unscaled resources target

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@271724 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-20 19:20:40 +00:00
brettw@chromium.org e31e6dca13 Make skia compile in Android GN build.
Adds a bunch of ARM configuration and assembly sources. MIPS still not done.

Implements the Android Freetype build and fixes expat.

Fixes some minor optimization-related flags I noticed along the way.

TBR=djsollen@google.com

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@271603 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-20 07:00:44 +00:00
brettw@chromium.org 294439de90 Fix Windows GN build.
The compiler file unconditionally depenended on the GCC version.

TBR=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@271347 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-19 06:50:17 +00:00
fdegans@chromium.org e86d4ac0dc Changed android toolchain to use GCC 4.8
BUG=359106

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@271207 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-17 15:41:51 +00:00
brettw@chromium.org 6e16d7065e Hook up base unit tests and allocator to GN build.
Adds a meta-target "//base/allocator" that forwards to tcmallor or nothing depending on the build configuration.

Write tcmalloc target definition.

Write base unit tests prefs, and some support targets from base.gypi.

Fix a bunch of added files in the base target that were exposed by linking the unit tests.

Removes toolkit_uses_gtk which was removed from the GYP build.

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@271079 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-16 19:33:08 +00:00
brettw@chromium.org 6c4f020b94 Support private values in GN.
This adds special handling for variables that begin with underscores, which is inspired by Dart. Such variables are not imported when doing an import, which gives .gni files a way to have intermediate private variables that won't pollute the scopes of the files that include them.

This also applies to the root build config, which can have private values now.

Adds some missing unused variable checks. This was disabled because processing imports would mean all imported variables were unused, and files not using all of them would get unused variable errors. This adds the option to mark merged values on a scope as used, which is used for imported values.

BUG=341738
R=cjhopman@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@271078 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-16 19:31:36 +00:00
brettw@chromium.org fcd95cdef3 Add GN build for parts of gpu and ozone.
Moves existing ozone platform flag to new .gni file with all ozone flags in it.

R=piman@chromium.org, rjkroege@chromium.org, spang@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@270780 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-15 19:39:14 +00:00
brettw@chromium.org f2677258aa Remove the hard_dep flag in GN.
This was not hooked up but I kept it being acceptsed until all uses can be deleted. This deletes the remaining uses from the tree.

R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@270779 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-15 19:38:00 +00:00
derat@chromium.org a388499fe7 s/precendence/precedence/
"precedence" is misspelled as "precendence" in the docs for
the chrome.power API. Fix it there as well as several other
places where it occurs.

BUG=none
TBR=sky@chromium.org,brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@270539 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-15 00:33:41 +00:00
brettw@chromium.org 301f0f2033 Implement review comment on GN optimization setup.
Implements review comment from:
https://codereview.chromium.org/275703003/

R=ajwong@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@270168 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-13 19:35:52 +00:00
brettw@chromium.org f3470d3d53 Make GN Android build link executables.
Some minor tweaks in STL usage in GN itself to enable it to compile using the Android version of the STL. Enable this in the build (not so much because we need a GN binary on Android, but for build verification purposes).

Moved the executable_ldconfig config from the linux file to the gcc one since its shared between the Linux and Android builds. Added "-Bdynamic" and "-Wl,-z,nocopyreloc" to this on Android.

Moved some sysroot path components from sysroot.gni to android/config.gni (which sysroot uses) so it can be shared with the toolchain definitions.

Added the android_full_debug build flag. Made the "optimize off" mode of the build match the GYP build's "light optimization" on Android contingent on this flag.

Pulls out the optimize and optimize_max shared flags into one list to avoid duplication.

Adds a bunch of linker optimization flags that should be passed on non-Mac Posix platforms, and turns on dead code stripping for Mac builds.

Adds functionality to the gcc toolchain template to be able to insert strings before and after the libs. Adds a wrapper template for android toolchains that sets these accordingly to get the gross Android crtbegin/end files inserted in the right place on the linker line.

Made the android_ndk_root variable relative to the source root rather than the system root. Uses of this now rebase according to their own needs which makes some of the arguments a lot easier to follow.

Build file updates for base and libevent for Android. Implement ashmem library.

The only change on desktop linux is the addition of -Wl,--fatal-warnings to the linker line.

R=ajwong@chromium.org, cjhopman@chromium.org, scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@270138 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-13 17:41:06 +00:00
brettw@chromium.org e2c732ae4a Fix line endings in build/config/gcc/BUILD.gn
R=scottmg@chromium.org
TBR=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@269836 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-12 19:14:03 +00:00
brettw@chromium.org 6ae30203d8 Remove cursor_mac.mm, fix GN build.
cursor_mac.mm is never included on any Mac build because it's removed for all non-aura builds, which includes Mac. This file just seems to be stubs anyway.

Also fixes a missing comma in the GN Mac build.

R=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@269543 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-10 06:21:10 +00:00
hans@chromium.org 7cd5769c21 Don't call into WebRuntimeFeatures::enableSpeechInput()
Also delete ENABLE_INPUT_SPEECH and kDisableSpeechInput.

I wanted to remove the 'input_speech' GYP variable, but unfortunately
it seems to be guarding (parts of?) the new speech recognition implementation
too.

BUG=223198
R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@268646 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-07 00:53:50 +00:00
ckocagil@chromium.org 43c71c63b0 Add GN targets for third_party/libjpeg_turbo
R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@268421 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-06 04:25:26 +00:00
brettw@chromium.org 4f534c4550 Redo GN "args" command
Previously "gn args" printed build arguments. That has now moved to "gn args <outdir> --list" along with a new --short mode that's a bit more convenient for some uses.

Now "gn args" runs your editor on the build arguments for the given output directory, and re-generates the build given those arguments. This is an easier way to manage changing build arguments for a build (previously you would have to re-type everything or edit build.ninja manually).

"gn gen" now always uses the existing arguments for the given output dir, unless "--args" is manually specified (giving the old behavior of just using those). This also allows a more convenient way for a user to recover from a borked build (sincetimes I ran into a state where something was missing that prevent ninja from even starting enough to rebuild the build).

I removed the "show" and "refresh" ninja phony rules since the new commands cover those cases.

This patch adds some additional tracing to build startup since I noticed it was missing when trying to figure out why the args command was so slow (I fixed the main reason, it was with new code I added).

Added proper escaping for printing string values and unit tests for these.

Two minor build file fixes.

R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@268042 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-03 04:32:19 +00:00
brettw@chromium.org ae1a01fcb6 Hook up WebKit WTF to GN build.
This also moves the "use clang plugins" flag to a GNI file so it can be shared (WebKit needs to read this flag).

TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@265940 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-24 16:44:04 +00:00
brettw@chromium.org b87dd13629 Make GN build work on Mac again.
This adds extension detection for lower-case ".s" assembly files (used in NSPR) in addition to the existing handling of uppercase ".S" ones.

Minor fixes for build files for Mac for dependencies and files.

Proper handling of USE_NSS and addition of USE_OPENSSL_CERTS that match the GYP build.

R=rsleevi@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@265064 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-21 20:54:51 +00:00
cjhopman@chromium.org aa2daa3f51 Add generate_jni template
This adds a template for using the jni_generator. Creates the
base_jni_headers target and updates the base target to depend on it and
actually use the sources that required it.

Adds //third_party/android_tools:cpu_features required by one of the
base files that also required jni.

Disable a bunch of third_party targets for Android builds.

BUG=359249

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@264695 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-18 00:50:10 +00:00
brettw@chromium.org 70ae79bcd5 Work on Mac GN build.
This fixes a lot of minor mistakes (mostly missing/extra files and flags) for the Mac GN build.

I separated out some clang flags into a config for extra clang warnings. Several of the third party libraries needed to remove this.

Removes the use_nss flag and uses !use_openssl. This is a result of discussion with rsleevi.

Removes extra duplicate net build file from secondary tree.

ui/gesture_events seems to be getting compiled in GN with more strict warnings than in GYP. Rather than fix this, I fixed the warning in the gesture recognizer unit test. It was returning a const copy (the const is pointless when you're copying).

This also removes a bunch of old GYP integration stuff that was left in the GN build.

R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@264626 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-17 20:33:19 +00:00
brettw@chromium.org c58cd7b1a9 Fill out the rest of the net targets in the GN build except Android.
This also fixes some missing base files and libresolv naming.

R=jar@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@264296 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-16 20:34:31 +00:00
brettw@chromium.org e4691a2c74 Make NSS work in GN build on Windows.
This also adds sqlite which is a dependency.

This required some build config changes since nss needs to opt-out of certain default settings.

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@264255 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-16 18:29:50 +00:00
brettw@chromium.org bba65c5564 Implement net in GN build.
This does the net target. I started doing some more that are commented out at the bottom, and there are a few more after that do do. The deps of these targets started to build up to an unreasonable level and this should be a good checkpoint.

Fix grit rule.

Fix SSL dependent configs

Add TLD cleanup

Add gconf and gio targets for Linux.

Add sources filtering for ChromeOS, .rc, and .mm files. Remove built-in code that removes .rc and .mm files (this wasn't quite complete so causes problems).

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@263967 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-15 19:26:44 +00:00
brettw@chromium.org 696094c61a Add SSL support to the GN build
This moves files from the secondary tree to the main one, and renames the "meta" one to //crypto:ssl. It also adds the crypto unit tests.

R=rsleevi@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@263744 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-14 23:25:13 +00:00
tfarina@chromium.org 71485dbb5d Fix two typos in the documentation of some args of GN.
1- s/useing/using
2- s/SHell/Shell

This was found running the following command line and reading the docs.

$ gn args

BUG=None
TBR=brettw@chromium.org
NOTRY=true

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@263497 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-12 06:47:18 +00:00
dpranke@chromium.org b4ef9a7a08 Checkpoint work to get GN builds working on Android.
This fixes enough issues so that we can compile and link some libraries, but
it is not yet a working build.

Work remaining:
- base needs JNI support ('base_jni_headers', etc.)
- we need to figure out what should link and/or be APKs to run the tests
- we need to adjust GN to only build in the host config, not the target config.

R=brettw@chromium.org, cjhopman@chromium.org
TBR=jam
BUG=360936

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@263440 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-12 01:19:16 +00:00
brettw@chromium.org 6e3e0b1d12 GN Windows build fixes
This also removes some patterns from the sources assignment filter, and adds scary comments not to make it bigger. The GYP version of this is out of control so I want to set a clear policy of what is included and not.

I removed X-related stuff from the filter (there are only about 50 files around the tree) and added manual rules for the affected files.

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@263394 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-11 23:06:17 +00:00
mithro@mithis.com 4587e0ab9c Updating the gold location.
BUG=362119

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@263185 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-11 07:56:03 +00:00
brettw@chromium.org d3c97a091d Add GN buildfile for gfx
Adds libjpeg and some global flags for Ozone from the GYP build.

Improves error messages for mismatched item types I noticed when writing this patch (changes in builder.cc).

BUG=
R=bradnelson@google.com

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@263086 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-10 21:16:59 +00:00
brettw@chromium.org 366b2da3c3 Add Skia to the GN build.
This makes the GN build of Skia compile and adds it to the GN build.
Previously, the configuration of the GN Skia tried to match the confusing array
of skia targets. This new version dispenses with that and just adds all files
(except SSE ones) to one target. I'm not even sure if it's necessary to split
out the SSE ones, but it seems nice since that target will get more complicated
when we add Arm and MIPS support.

I audited the defines again and added some to the main build config that had
been added to the GYP build recently.

This improves some operator error messages that I found confusing when I had errors in my file.

BUG=
R=djsollen@google.com, scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@262779 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-09 19:55:29 +00:00
brettw@chromium.org bd8a101965 Template invocation fixes in GN
This adds an error check when invoking templates which caused really confusing messages if the template invocation encountered an error (because we'd continue running).

Hooks up the provider for programatically defined variables in template invocations so those can be used.

Sets the current directory in a template invocation to be that of the invoking file.

No longer define the target-related programatic variables in an import. Using these in an import will give the directory relative to the import, which is probabyl not what you want.

Fix the Windows build by adding a missing library. Add a warning not to add more to the main list (this added .lib is pretty obscure).

BUG=
R=cjhopman@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@262524 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-08 22:35:18 +00:00
brettw@chromium.org 08fbbcc064 Pull GN @ r262225
Implement GN visibility in the build, which this new version implements

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@262438 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-08 16:50:01 +00:00
jam@chromium.org dfff974b0a Remove the remaining automation-based tests.
BUG=316203
R=avi@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@261839 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-04 19:30:43 +00:00
brettw@chromium.org 2295ccd90c Revert 260949 "Move gtest/gmock BUILD.gn files to main tree."
> Move gtest/gmock BUILD.gn files to main tree.
> 
> Also moves the "unused variable warning" to a config in the build directory so
> it can be shared with outher targets without duplication on the command line.
> 
> BUG=
> R=cjhopman@chromium.org
> 
> Review URL: https://codereview.chromium.org/219433005

TBR=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@260954 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-01 22:03:42 +00:00
brettw@chromium.org aa7f0675eb Move gtest/gmock BUILD.gn files to main tree.
Also moves the "unused variable warning" to a config in the build directory so
it can be shared with outher targets without duplication on the command line.

BUG=
R=cjhopman@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@260949 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-01 21:47:53 +00:00
brettw@chromium.org c8f200451d Update .gn files to use new template syntax.
This uses the invoker() syntax.

R=scottmg@chromium.org, scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@260151 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-03-28 16:19:02 +00:00
thakis@chromium.org 88eb7b2c96 clang roll 198389:202554 revolutions
First try: https://codereview.chromium.org/195623002
Second try: https://codereview.chromium.org/211213004

Difference from "second try" is passing --enable-libedit=no to
configure, to not depend on libedit.3.dylib (which doesn't exist on
OS X 10.6), see diff from patch set 1 to 2.

The linux package wasn't rebuilt, so it's configured without that flag.
That shouldn't cause issues hopefully.

BUG=351479, 287029, 341352, 333968, 335325
R=hans@chromium.org
TBR=hans@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@259411 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-03-26 00:14:35 +00:00
thakis@chromium.org a046e5aab7 Revert 259371 "clang roll 198389:202554 reloaded"
Even though the libc++ dependency is gone, clang still depends on
/usr/lib/libedit.3.dylib suddently, which doesn't exist on 10.6. Backing out
while I investigate...

> clang roll 198389:202554 reloaded
> 
> The first try is at https://codereview.chromium.org/195623002/ . Patch set 1
> is identical to that CL, patch set 2 has what changed.
> 
> The big change is that clang/mac is built in gnu++98 mode and doesn't link
> to libc++, to buy us time until the next roll for upgrading our bots to 10.7.
> This includes blink plugin changes up to r256229 (inclusive).
> 
> BUG=351479, 287029, 341352, 333968, 335325
> R=hans@chromium.org
> TBR=hans@chromium.org
> 
> Review URL: https://codereview.chromium.org/211213004

TBR=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@259378 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-03-25 22:56:20 +00:00
thakis@chromium.org ac2f493c45 clang roll 198389:202554 reloaded
The first try is at https://codereview.chromium.org/195623002/ . Patch set 1
is identical to that CL, patch set 2 has what changed.

The big change is that clang/mac is built in gnu++98 mode and doesn't link
to libc++, to buy us time until the next roll for upgrading our bots to 10.7.
This includes blink plugin changes up to r256229 (inclusive).

BUG=351479, 287029, 341352, 333968, 335325
R=hans@chromium.org
TBR=hans@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@259371 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-03-25 22:42:36 +00:00
scottmg@chromium.org 9d740d955f Use depot_tools toolchain, remove now unneeded code, fix not including path to win sdk tools
This is enough for this to work OK:

[gn-2013]d:\src\cr\src>gn gen out_gn
[gn-2013]d:\src\cr\src>ninja -C out_gn gn
[gn-2013]d:\src\cr\src>out_gn\gn gen out_gn2
[gn-2013]d:\src\cr\src>ninja -C out_gn2 gn
...
[297/297] LINK gn.exe

I'm not sure if we need all the deleted stuff for something
else, but I guess we can revive it when we need it.

(There's some dependency problem with linking atm, as
"ninja -C out_gn gn" always relinks, but I think it's unrelated.)

R=brettw@chromium.org
BUG=297677

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@258327 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-03-20 17:42:25 +00:00
thakis@chromium.org 82f66f34fa Revert 257618 "roll clang 198389:202554"
A bunch of mac builder bots are still on 10.6 (http://crbug.com/353529)          

> roll clang 198389:202554
> 
> This change contains several big changes, many of the caused by upstream
> llvm enabling c++11 in their codebase and thus having higher minimum
> requirements for their toolchain and runtime environment:
> 
> * clang on OS X now requires libc++, which means it'll only run on OS X 10.7+,
>   so change the deployment target from 10.5 to 10.7 (we were planning on
>   requiring 10.8 or 10.9, see bug 335325, but since several people are waiting
>   on a new clang, let's go to 10.7 only for now and do more as a follow-up)
> * On OS X, the compiler is only usable with libc++ if libc++ is checked out
>   and `make install` is run, so do that for the phase 1 compiler.
>   (Chrome doesn't use libc++ yet, so we don't do that for the bootstrapped
>   compiler.)
> * clang on linux now needs libstdc++ 4.7+ which isn't present on precise.
>   So we now include a newer libstdc++ in the compiler bundle (meaning
>   this clang should still run on precise).
> * clang is broken for android at r202554. To unblock oilpan, merge three
>   later changes into this roll, llvm r202793, r203601, and r203635
> 
> Regular, less tricky clang roll stuff:
> * Disable the new warning -Wabsolute-value for now (crbug.com/351479
>   for turning it on)
> * Disable -Wno-tautological-pointer-compare for libxml where it now
>   fires.
> * Since this bundles a new version of the oilpan plugin, bump its suffix to _3
> * Change plugin code to track upstream api change
> * Remove plugin flag check-url-directory as that's now always on
> 
> Due to the c++11 stuff, it's likely that this change will get reverted a few times.
> 
> BUG=351479, 287029,341352,333968,335325
> TBR=hans@chromium.org
> 
> Review URL: https://codereview.chromium.org/195623002

TBR=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@257620 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-03-18 11:57:13 +00:00
thakis@chromium.org 17e657dcc7 roll clang 198389:202554
This change contains several big changes, many of the caused by upstream
llvm enabling c++11 in their codebase and thus having higher minimum
requirements for their toolchain and runtime environment:

* clang on OS X now requires libc++, which means it'll only run on OS X 10.7+,
  so change the deployment target from 10.5 to 10.7 (we were planning on
  requiring 10.8 or 10.9, see bug 335325, but since several people are waiting
  on a new clang, let's go to 10.7 only for now and do more as a follow-up)
* On OS X, the compiler is only usable with libc++ if libc++ is checked out
  and `make install` is run, so do that for the phase 1 compiler.
  (Chrome doesn't use libc++ yet, so we don't do that for the bootstrapped
  compiler.)
* clang on linux now needs libstdc++ 4.7+ which isn't present on precise.
  So we now include a newer libstdc++ in the compiler bundle (meaning
  this clang should still run on precise).
* clang is broken for android at r202554. To unblock oilpan, merge three
  later changes into this roll, llvm r202793, r203601, and r203635

Regular, less tricky clang roll stuff:
* Disable the new warning -Wabsolute-value for now (crbug.com/351479
  for turning it on)
* Disable -Wno-tautological-pointer-compare for libxml where it now
  fires.
* Since this bundles a new version of the oilpan plugin, bump its suffix to _3
* Change plugin code to track upstream api change
* Remove plugin flag check-url-directory as that's now always on

Due to the c++11 stuff, it's likely that this change will get reverted a few times.

BUG=351479, 287029,341352,333968,335325
TBR=hans@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@257618 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-03-18 10:53:25 +00:00
brettw@chromium.org 9f2d6d2450 GN: Work on Mac module search path.
This hooks up the rpath for Mac executables. This fixes a bug in iOS GYP generation where the architectures were specified as a string instead of a list.

Also fixes some base files that were out-of-sync from the GYP build.

BUG=345021
TBR=thakis

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@253952 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-27 22:46:42 +00:00
brettw@chromium.org 9e6f87afac GN: Work on Linux build defines
This makes the -D defines for the default desktop Linux build of re2 in GN match that of GYP.

This moves the SSL configuration stuff into the root build directory. It's better to match the GYP build exactly for ease of landing even though this is a stupid dependency.

Fixes the help text that still references the implicit "gen" command (I removed this).

R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@252981 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-24 21:29:49 +00:00
brettw@chromium.org 93458787fe Make Linux GN build's cflags match GYP's
This is for the base shared library target on desktop Linux.

The remaining difference on Linux is that GYP's base build specifies -Wno-write-strings on Linux. This dates back to the first GYP file. I don't know why we would specify this for only base, and it seems not to trigger any warning without this flag, so I didn't add it.

This changes the pkg-config invocation from --libs to --libs-only-L and --libs-only-l. The output seems slightly different (--libs was producing an extra --export-dynamic for gmodule-2.0 that aren't present when invoking the other way, which is what the GYP build does).

R=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@252409 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-20 23:00:11 +00:00
newt@chromium.org 5414b6bede [Android] Print unknown architecture name in gn error message.
BUG=344361

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@252100 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-19 21:39:08 +00:00
brettw@chromium.org d80b402bc9 Pull GN @ 252040, update calls
Updates all rebase_path calls to use the new parameter ordering.

Use the new getenv function and delete the Python script we had to get the home directory.

Takes advantage of the new ability to have the default value of declare_args blocks be dependent on other values. This simplifies some code.

R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@252065 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-19 20:31:52 +00:00
thakis@chromium.org d0f2882a21 gn: Fix pkg-config.py default output after r248477.
r248477 made pkg-config.py print a 5-tuple. Change the default output accordingly.

BUG=none
R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@251955 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-19 06:01:14 +00:00
brettw@chromium.org bc3df36ed6 Set -fobjc-call-cxx-cdtors in .m[m] files in the GN build.
Previously this was being set for all .c[c] files on Mac.

BUG=336480
R=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@251827 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-18 20:42:24 +00:00
brettw@chromium.org d80637fd4a Hook up more GN toolkit and UI-based flags.
This renames the hack "my_msvs" project to "feature_flags" and creates an include file that gives the proper definitions of most of the UI-related feature and OS flags. Hook these flags up the build.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@250692 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-12 11:34:25 +00:00
brettw@chromium.org d2dedb2c78 Work on GN GYP host build.
This stops doing the host build as a completely separate build and
instead identifies the proper host toolchain inside of the "regular"
build that we should use for host targets (if any). This should help
unify GN's concept of host/target builds with GYPs a bit more.

BUG=

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@250689 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-12 11:27:00 +00:00
brettw@chromium.org cf1091c5ff Redefine is_linux to not include Android in the GN build.
This matches the GYP definition and seems to be what most build files expect.

This also removes some additions of lib "dl" which I'm making global.

R=scottmg@chromium.org
TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@250572 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-12 00:30:55 +00:00
brettw@chromium.org 771e71e45a GN iOS build fixes.
This properly sets the DEPLOYMENT_TARGET in the generated GYP file (previously this value wa salways hardcoded to empty -- whoops!).

Sets the simulator properly. Previously when not using an explicit SDK the Xcode generator would still end up with a simulator build. This turns the flag into a tri-state so gyp_chromium can set it explicitly when an SDK is specified, but otherwise we can trigger default behavior based on Xcode/Ninja.

TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@249643 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-07 09:02:37 +00:00
brettw@chromium.org 19bfe364ed GN: Remove android arguments from the conditional
This will make it possible to pull GN binaries on Linux which is currently blocked on the Android AOSP bot complaining about unused parameters.

TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@249642 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-07 08:59:25 +00:00
brettw@chromium.org f887a7d363 Inject default libraries to all targets in GN.
In GYP Mac, most targets got a default set of mac libraries by virtue
of depending on base, which due to a GYP bug pushed the libraries to
all targets depending on base, even separate shared libraries.

In GYP Windows the set of default libraries on Windows is global and
this keeps the same list and behavior.

The lists of libraries could use some cleanup, btu this patch just
attempts to keep the status quo in a cleaner way rather than fixing the
unreasonable list of libraries (especially on Windows).

R=scottmg@chromium.org, scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@249600 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-07 03:59:56 +00:00
brettw@chromium.org 94c2bc8bc0 Add Linux SDK to GN build.
I forgot to actually reference this config when I created it.

R=thakis@chromium.org
TBR=thakis

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@249301 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-06 08:35:34 +00:00
brettw@chromium.org 22b3476400 Work on Clang for pure GN build.
This hooks up Clang in the pure GN build (not the hybrid GYP mode).

Clang gave some warnings about compiler flags which made me realize that we were giving linker flags to the compiler in some cases. So I enhanced our pkg-config wrapper to to add libraries to the cflags (missing else), return ldflags separately, and also strip out -pthread which was getting included over and over.

BUG=

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@248477 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-03 12:11:38 +00:00
brettw@chromium.org f902545676 Work on GN iOS build.
Separates out some "SDK" related setup on Mac land Linux like we do on Windows. I'm trying to make the "compiler" BUILD file just compiler warnings and CPU options, and have system library stuff on the platform directories.

This adds the capability for GN to produce GYP files on Mac that vary according
to the GYP generator as well as target-vs-host. I added a bunch of logic to the
GN iOS build to set up stuff accordingly based on my current knowledge of
what's required.

Sadly, this means we now have an 8-way GN build (all combinations of
debug/release, host/target, and xcode/ninja). I did some refactoring of the GYP
code in GN to make this less unreasonable.

I checked that the GYP files look the way I want, but I didn't actually test
the resulting builds yet. There is still likely to be some conditions wrong or
things not being set properly. I'm going to follow up with a second pass based on actual testing.

I believe, however, that with this new GYP generator code in GN, we can express
in the .gn files what we need to do the iOS build.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@248476 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-02-03 12:04:33 +00:00
fdegans@chromium.org 35d88113f8 Removed mtune for Android build.
mtune was set to cortex-a8, which is a Nexus S-generation CPU.
Removing it allows for small speed improvements (~1%) for
warm page load times on top10 mobile sites on more recent devices.
Data: https://docs.google.com/spreadsheet/ccc?key=0Ao-xIDuezqMNdDc5OWpxbkk4NFJ0SF9Iemt0Tlg3RFE&usp=sharing
And it has virtually no effect on binary size.
BUG=334271

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@247882 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-30 07:53:42 +00:00
brettw@chromium.org 9fd24ddc2e Pull new GN binary @ r247206
Additionally, the Windows binary is a debug build to help find a rare assertion failure.

Updates build files to use a list which this new build requires.

Update win-tool link commands to match GYP

TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@247408 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-28 06:03:11 +00:00
brettw@chromium.org a561545dc2 GN build fixes, mostly for Mac.
This hooks up detection for the "-arch" flag on Mac to set the GYP "ARCH" xcode variable. GN then removes the -arch argument from the compiler args, since GYP will then re-add it based on the ARCH value. Previously, not doing this resulting in mutliple "-arch" arguments to the compiler since GYP would always insert its own.

Disables some warnings on Windows for the re2 target to match the GYP build. The third warning (4018) that the GYP build sets is disabled globally so there's no need to do it for this target.

Hooks up some iOS SDK stuff.
BUG=336667
TBR=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@247206 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-27 07:41:23 +00:00
petarj@mips.com 750c628744 [MIPS] Set make_global_settings correctly for MIPS-Linux
Fix build regression for MIPS Linux that came with r245563.

BUG= build regression for MIPS Linux
TEST= build Chromium for MIPS Linux

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@246300 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-22 11:41:53 +00:00
thakis@chromium.org 0d8dd03970 Revert 246124 "gn: Fix clang plugin on ios."
This isn't correct for the iOS xcode builder.

> gn: Fix clang plugin on ios.
> 
> BUG=336491
> TBR=brettw@chromium.org
> 
> Review URL: https://codereview.chromium.org/144073003

TBR=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@246146 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-21 22:45:32 +00:00
thakis@chromium.org 69821da169 Revert 246117 "gn: Default is_clang to true on iOS."
This isn't correct for the xcode iOS builder.

> gn: Default is_clang to true on iOS.
> 
> Mirrors this condition in build/common.gypi:
> 
>       ['OS == "ios"', {
>         # ...
> 
>         # Enable clang and host builds when generating with ninja-ios.
>         'conditions': [
>           ['"<(GENERATOR)"=="ninja"', {
>             'clang%': 1,
>             'host_os%': "mac",
>           }]
>         ],
>       }],
> 
> BUG=336531
> TBR=brettw@chromium.org
> 
> Review URL: https://codereview.chromium.org/143323008

TBR=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@246144 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-21 22:42:32 +00:00
thakis@chromium.org a6ffeb98aa gn: Fix clang plugin on ios.
BUG=336491
TBR=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@246124 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-21 21:42:20 +00:00
thakis@chromium.org 10ca1cc06c gn: Default is_clang to true on iOS.
Mirrors this condition in build/common.gypi:

      ['OS == "ios"', {
        # ...

        # Enable clang and host builds when generating with ninja-ios.
        'conditions': [
          ['"<(GENERATOR)"=="ninja"', {
            'clang%': 1,
            'host_os%': "mac",
          }]
        ],
      }],

BUG=336531
TBR=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@246117 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-21 21:34:22 +00:00
jamesr@chromium.org 55a88f7f1b Support -Goutput_dir=blahblah in GN-GYP hybrid mode
This supports specifying the output_dir generator flag in the gn-generating-gyp
mode. The value of the output_dir flag is mapped to a gyp variable called gyp_output_dir
and a GN argument by the same name. References from gyp to gn-generated gyp files must
use this variable and references from BUILD.gn files must use the gn argument.

BUG=335760
TBR=brettw for build/config/BUILDCONFIG.gn (looked at in person)

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245800 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-18 23:51:41 +00:00
brettw@chromium.org d3ce57c03f Add support for the arm_float_abi flag to the GN build.
BUG=

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245765 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-18 09:06:50 +00:00
brettw@chromium.org d34dce13b5 Add support for Dr memory and Windows tsan in the GN build.
This generalizes the GCC iterator debugging flag to now be platform-independent.

R=scottmg@chromium.org
TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245665 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-18 00:00:08 +00:00
brettw@chromium.org b3af3ccb35 Hook up clang_use_chrome_plugins to the GN build.
Previously this was ignored in the GN build but disabling the plugin is used on some buildbots.

BUG=http://crbug.com/330298
R=thakis@chromium.org, thakis

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245602 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-17 20:34:06 +00:00
brettw@chromium.org c1c131c7d8 Convert GN single-item list concat to use lists.
R=scottmg@chromium.org, scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245594 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-17 20:19:45 +00:00
brettw@chromium.org 8ad37c4b4e Hook up the tsan flag for the GN build.
Add a flag to disable GLIBCXX_DEBUG which is used in the GYP build on some bots.

TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245577 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-17 19:05:45 +00:00
brettw@chromium.org a2d0332bf1 Get the proper Mac SDK path for the GN build.
This gets the path from xcodebuild rather than hardcoding it in the .gn files.

R=thakis
BUG=

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245403 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-17 01:05:20 +00:00
bbudge@chromium.org 637b7c77e2 GN: Add wexit_time_destructors config.
Review URL: https://codereview.chromium.org/135733006

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245034 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-16 00:24:10 +00:00
brettw@chromium.org 50cebd6fc2 Don't pass thumb-interwork to clang in the GN build.
This duplicates logic in common.gypi.

R=scottmg@chromium.org
TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@244968 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-15 20:17:48 +00:00
brettw@chromium.org c30951c463 Fix Windows GN build.
This sets use_aura on Windows in all cases (fixes base build).

Passes new argument to gyp link wrapper (GYP revision 1835).

R=sky@chromium.org
TBR=sky

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@244840 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-15 06:10:58 +00:00
brettw@chromium.org c2b3031962 Add a config for max optimizations in the GN build.
This emulates optimize=max from GYP. One difference is that this applies for all build types. The GYP one only applied optimize=max for the Official build. I can't think of why this should be the case, and it seems confusing to have such arbitrary official build differences.

R=bbudge@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@244839 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-15 06:09:16 +00:00
brettw@chromium.org e73f1bf025 Fix flags for ARM GN build.
I accidentally used underscores which gives undefined option errors.

TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@244838 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-15 06:06:22 +00:00
brettw@chromium.org c49df711c2 Hook up ARM architecture flags to GN build.
This duplicates the ARM architecture logic from common.gypi.

R=scottmg@chromium.org
TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@244782 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-14 18:56:50 +00:00
brettw@chromium.org 36ffc15f02 Move GN's glib_cxx_debug flag onto the debug configuration.
Previously this was in a global config which also applied to the release build.

R=thakis@chromium.org
TBR=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@244781 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-14 18:54:08 +00:00
brettw@chromium.org 26df4e4ca8 Fix Glib flag in GN build.
It had an extra underscore at the beginning.

R=thakis@chromium.org
TBR=thakis

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@244595 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-13 22:11:58 +00:00
brettw@chromium.org 2fb69c1106 Modify some Linux flags for better GYP fidelity in GN build.
R=scottmg@chromium.org
TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@244539 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-13 18:23:28 +00:00
thakis@chromium.org 7521222e32 Add a missing "import glob".
Reported in "[chromium-dev] the problem i met when buliding chromium on the windows 7 without cygwin"

R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@244232 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-10 20:45:38 +00:00
brettw@chromium.org 1d94784c4f Fix nan definition on GN Android build.
This resulted in a double -D definition.

TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@244203 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-10 18:17:03 +00:00
brettw@chromium.org e214b96ebe Improves GN's make_global_settings
This makes make_global_settings closer to the GYP version. Previously it had relied on GYP concatenating two lists when running with goma, but it doesn't actually behave this way, resulting in unexpected output.

TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@244104 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-10 06:09:59 +00:00
brettw@chromium.org 220148a4e6 Make GN pass -target flags only on Android Clang
This fails on other configurations. The new behavior matches the GYP build.

R=scottmg@chromium.org
TBR=scottmg

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@243930 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-09 18:34:25 +00:00
brettw@chromium.org cd32cb2c96 Work on Android GN build.
Adds arm version and some android configuration build flags.

This adds most of the logic from common.gypi to the Android GN build.

This is currently missing the crtbegin/end stuff and won't actually make real Android builds. The logic in this patch is just the initial conversion that will require testing and several more passes of fixes.

R=torne@chromium.org, torne

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@243681 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-08 22:47:42 +00:00
bbudge@chromium.org d9ea552975 GN: Get Mac build working for IPC target at least.
- Move sysroot.gni up a directory, as it applies to multiple
platforms now.
- Use existing find_sdk.py script to locate Mac SDK.
- Fix some gtest includes for Mac files.

BUG=
R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@243654 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-08 21:38:35 +00:00
brettw@chromium.org d26952a6e6 GN: Autodetect Visual Studio versions
This searches the local system for Visual Studio versions like GYP. It enables specifically requesting one version, as well as overriding the directory like GYP.

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@243612 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-08 18:46:44 +00:00
brettw@chromium.org 5b7e3d1ced Remove -fstack-protector-strong from the ChromeOS GN build.
This trybots said this was an unknown option, so the comment I was basing my
usage of "strong" on in common.gypi must be out-of-date. The GYP build does not
seem to specify "strong" in any cases except on Mac.

Hook up compiler finding to the Android build.

R=jam@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@242746 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-31 04:59:41 +00:00
brettw@chromium.org ebe82fbcbb This adds preliminary support for Android toolchains. The logic is copied from the current GYP build.
Refactors the toolchain definitions by adding an include file to help defining GCC toolchains. This eliminates most of the duplication on Linux and Android. Adds make_global_settings for most Linux and Mac builds that should match the GYP build (this will require some more passes to get every place to be an exact match).

Fixes Android build issues in WebKit. Fixes the definition of is_android.

Renames the Linux toolchains to use the GN name of the CPU architecture so one can refer to them without conditionals. Remove conditionals from BUILDCONFIG.gn

Adds the gyp_header variable to the help (it wasn't getting inserted into the list of available variables).

R=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@242674 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-28 06:49:32 +00:00
brettw@chromium.org 5888118620 Use proper clang plugin name in GN build.
This uses the proper name of the Clang plugin on Linux (previously it was hardcoded to the Mac-style name).

This also fixes the path naming so the clang plugin is correct no matter where the output directory is.

R=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@242573 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-26 23:11:19 +00:00
brettw@chromium.org 2a456ed7f4 Fix the official Android builder's GN build.
I don't think this needs a sysroot, and compiles for ARM, so I removed the assert and use an empty sysroot. If we need the sysroot we'll discover that when we try to make a target later.

BUG=330722
TBR=jam@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@242554 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-26 21:20:44 +00:00
thakis@chromium.org daa3636164 Fix inconsistency.
On linux, pkg-config.py outputs a 4-tuple. The non-linux fallback path
outputs only a 3-tuble, which confuses pkg_config.gni.

BUG=none
R=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@242456 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-24 21:44:29 +00:00
brettw@chromium.org e8cf6ff9f4 Add GN conversions for flags
Adds a remapping from important GYP flags used on the main waterfall for GN. For the other ones, I added a list of used flags and filed bugs for them.

R=scottmg@chromium.org
BUG=

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@242356 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-23 05:11:32 +00:00
brettw@chromium.org 3a9eea075c Convert clang=1 to the GN build.
This maps clang=1 in GYP to is_clang=true in GN.

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@242181 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-20 21:37:43 +00:00
piman@chromium.org 67b71a2ece Fix pkg-config invocation for GN
We were missing the /usr/lib*/pkgconfig dir in PKG_CONFIG_PATH.

BUG=None

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@241520 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-18 07:31:59 +00:00
piman@chromium.org a387f9a906 GN fixes
Remove references to files that don't exist.
Replace all x32 to x86.

BUG=None

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@241461 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-18 03:21:07 +00:00
brettw@chromium.org 6949c9d667 Add support for sysroots to GN's pkg-config.
This adds support similar to the GYP scripts for running pkg-config in the presence of sysroots.

It also adds the linker flags by calling the existing horrible sysroot_ld_path.sh shell script that extracts stuff from the sysroot's configuration.

With this change, official 32-bit linux builds work in the checked in 32-bit Debian sysroots.

R=piman@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@241397 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-17 22:54:18 +00:00
brettw@chromium.org 8dfb008faa Separate out pkg-config execution in the GN build.
This makes a template to invoke the pkg-config script so that we can change how it's invoked in one place rather than in every call site.

BUG=
R=piman@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@241068 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-16 23:53:47 +00:00
brettw@chromium.org 8ededa0c74 Hook up GN official build and branding.
This passes the official build and branding flags to the GN build. Currently, this is used to hook up the proper sysroot for compiling on Linux for official builds. The 32-bit branded build does not compile currently due to pending pkgconfig issues.

Fix a bug where assertions in the build config would not get reported properly. This was because I forgot to actually throw the error at the toplevel.

BUG=
R=piman@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@240918 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-16 17:58:16 +00:00
brettw@chromium.org 761c4c6466 GN: Add support for 32- and 64-bit cross-compiles.
This makes it possible on Linux to refer to 64-bit targets from a 32-bit build, and 32-bit targets from a 64-bit build.

This also adds flags for Mac cross-compiles but I haven't written the toolchain definitions yet.

BUG=322106
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@236871 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-11-22 23:30:28 +00:00
brettw@chromium.org f6f4122f10 Add support for 32-bit and 64-bit Windows compiles in GN.
Rename ia32 and ia64 to x86 and x64

BUG=297677, 322109
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@236851 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-11-22 22:38:39 +00:00
brettw@chromium.org 4ee158e4c3 Add "ninja show" and "ninja refresh" targets to GN build.
"ninja show" will print out the build arguments for when you can't remember the configuration of your output directory.

"ninja refresh" ignores dependencies and regenerates the ninja files.

R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@236840 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-11-22 22:13:47 +00:00
brettw@chromium.org c54085c7d3 Move files from the secondary GN directory to build.
Since this build is looking less experimental, I'm moving the files out of secondary into the corresponding location in src/build.

I added owners files that just include me. For now I'd like to review all changes here.

BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@236319 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-11-20 22:21:03 +00:00