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

631 Коммитов

Автор SHA1 Сообщение Дата
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 461f99a3ac Fix the Mac toolchain definition in the GN build.
I did not update this when I updated the template syntax.

This also fixes a typo in the GCC toolchain definition (it was just in some helpful assertions and didn't affect anything).

BUG=

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@262491 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-08 20:01:51 +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
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
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
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 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 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 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
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 106c8979fd android: Use use_goma=1 gomadir gyp defines instead of magic GOMA_DIR env var.
For a short transition period, let envsetup.sh set the right GYP_DEFINES when
GOMA_DIR is set, so that people aren't broken immediately after this lands.

Also stop setting GOMA_COMPILER_PROXY_THREADS – if the value this sets
is truly better, that should be the default in goma, it shouldn't be set in
envsetup.sh (doing it in goma has the advantage that it works on all
platforms, also abstraction barriers, etc.)

BUG=332697
R=brettw@chromium.org, ilevy@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245801 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-18 23:54:41 +00:00
brettw@chromium.org 12d2a09472 Fox goma on Windows for the GN build.
This properly defines the goma wrapper. Previously these were not wrapped with the make_global_settings dictionary.

TBR=scottmg
BUG=

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245763 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-18 09:04:55 +00:00
thakis@chromium.org 35ca4bf489 Fix gyp on OS X with use_goma=1.
Adds linux/BUILD.gn change from https://codereview.chromium.org/117863003 to
mac/BUILD.gn.

Ugly, but good enough to unbreak my (and other people's) build.

BUG=335819
TBR=brettw@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@245698 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-18 01:23:18 +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 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 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 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
brettw@chromium.org d182837522 Add goma include to mac GM toolchain.
Even though this isn't hooked up on Mac yet, we need the goma include for all toolchains to avoid throwing errors for Goma on Mac users.

TRB=thakis

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@243644 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-08 21:06:13 +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 ad0ae7286a GN Command line -D parsing, goma on Windows
This makes gyp_chromium pass defines defined via -D on the command line to GN.

Fixes double-escaping of strings from supplemental.gypi files.

Pass use_goma to the GN build.

Handle "use_goma" and "use_goma=1" (same for other boolean values). Previously values with no equals sign were getting converted to 'true', which doesn't match '1' which we look for.

Output goma wrappers in the GYP header for Windows toolchains.

R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@243446 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-08 00:32:04 +00:00
petarj@mips.com 288464dda0 [MIPS] Add support for Chromium-Android for MIPS build to BUILD.gn
Fix build regressions for Chrome for Android for MIPS that came with r242674.

BUG= gclient runhooks fails for MIPS
TEST= build content_shell for Android MIPS

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@242797 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-02 21:15:53 +00:00
brettw@chromium.org ebbc35da3b Fix build output directories in GN.
This puts the temporary build directories for the GYP builds at the same level as the main build output directory. This fixes problems where the build script converts paths to the build directory, and these get written to the GYP file. If the build directory is different relative to the source root than the GN build directory, the paths will be messed up.

Fixes some Android goma issues for compat with the GYP build.

TBR=jam@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@242775 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-02 17:55:48 +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 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
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 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