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

6 Коммитов

Автор SHA1 Сообщение Дата
brettw@chromium.org cf4ade91bb Allow dependencies of toolchains in GN.
A toolchain definition can now specify "deps" which will be resolved before any target in that toolchain is compiled. This is useful for toolchain setup operations.

R=noelallen@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@280052 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-06-26 18:12:30 +00:00
brettw@chromium.org fb3b4d29f8 Use response files in the GN build for shared libs and executables
We already blow out the command-line length limit on one of the bots.

TBR=thakis@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273859 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-30 16:31:18 +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 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 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
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