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

14 Коммитов

Автор SHA1 Сообщение Дата
Gordana.Cmiljanovic 072ddee821 Fix gcc_version.gni to determine target GCC version for MIPSEL Linux.
This CL modifies gcc_version.gni to set the gcc_version to the target
GCC toolchain version when building for MIPSEL Linux.

BUG=
TEST=Compile 'chrome' target with 'os="linux" cpu_arch="mipsel"'.
     Manually verify that the correct GCC options are used.

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

Cr-Original-Commit-Position: refs/heads/master@{#308334}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3bb044b814399b1584b8bcdedd8e2ffdb102b17d
2014-12-15 10:32:48 +00:00
scottmg fd96972e70 gn format //build
A starting point for doing all of src, and adding a PRESUBMIT.

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

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

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

1. Turning

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

into:

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

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

2. Turning single line

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

into

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

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

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

R=brettw@chromium.org
BUG=348474

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

Cr-Original-Commit-Position: refs/heads/master@{#306305}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b199254f481c5db36d56e83fce40594b06d2b81f
2014-12-02 00:25:35 +00:00
benchan 4947e86aea Fix gcc_version.gni to determine target GCC toolchain version for Chrome OS.
This CL modifies gcc_version.gni to set the gcc_version to the target
GCC toolchain version when building for Chrome OS.

BUG=427726
TEST=Manually verify that the correct GCC toolchain is used when building with 'os="chromeos"'.

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

Cr-Original-Commit-Position: refs/heads/master@{#301883}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 98ee835a49b59183909c730bf7d4283ea11b8281
2014-10-29 18:29:54 +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
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
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
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
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 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
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
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 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 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