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