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

17 Коммитов

Автор SHA1 Сообщение Дата
cstout 5e499f0d07 Enable cross compile to android from mac.
Useful for mojo developers.

BUG=486809

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

Cr-Original-Commit-Position: refs/heads/master@{#329939}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9629015f518ea1e27a0ea1e7f1eb7ec40e3fc3cf
2015-05-14 21:38:56 +00:00
dpranke ef1bc954a4 Roll GN binaries to #317120 for the cpu_arch changes
The newest version of GN replaces the 'cpu_arch' and 'os' variables with 'current_cpu', 'target_cpu', 'current_os', and 'target_os', and also replaces 'build_cpu' with 'host_cpu', and 'build_os' with 'host_os'.

The roll also picks up the change to add a new 'gn clean'
command, some absolute path handling fixes, a check_includes fix for action_foreach(), and some minor
internal fixes.

This patch also updates the build config files to accommodate the GN changes in a backwards-compatible manner, i.e., the configs now will set cpu_arch and os correctly in the right contexts. They will also allow the users to continue to set os= and cpu_arch= in an args file, so no user builds (or bots) will break.

Once all of the bots and all of the build files have been updated to refer to the new variables instead of the old ones, we can drop the backwards-compatible versions.

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

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

Cr-Original-Commit-Position: refs/heads/master@{#317186}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7ee02bed35766535521c8e1f072b98cbf9eef53d
2015-02-20 00:16:56 +00:00
mostynb ac484dd023 add ccache support to gn builds
This can be used to inject icecc also, via the CCACHE_PREFIX environment
variable.

BUG=394501

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

Cr-Original-Commit-Position: refs/heads/master@{#305912}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 50ff7a9494412cdab84c472db73d1e148fcec761
2014-11-26 23:24:32 +00:00
dpranke@chromium.org b1fcc693ac Make goma work for the GN build on linux.
This drops the old gyp-compatible settings and wires up the
Linux and Android toolchains to be goma-aware. Mac and Win can
follow in subsequent CLs.

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

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@283971 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-18 01:51:08 +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 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 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
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
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
brettw@chromium.org db4636728a Use ~/.gyp/include.gypi in GN build.
This also fixes the goma toolchain definition. My conditions syntax was missing a set of [].

R=scottmg@chromium.org
BUG=

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245371 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-16 23:17:30 +00:00
petarj@mips.com 2217f3b8cf [MIPS] Define gcc_toolchain in BUILD.gn for Chromium-Linux
Define gcc_toolchain and variables cc, cxx, ar, ld, toolchain_cpu_arch and
toolchain_os for MIPS Linux build of Chromium.

BUG= gclient runhooks fails for MIPS-Linux
TEST= build Chromium for MIPS-Linux

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245172 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-16 06:34:56 +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 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
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 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 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