This accomplishes three things:
- simple switch back to 2010 temporarily, if necessary
- making sure that all bots don't switch at exactly the same time (almost all have GYP_MSVS_VERSION=2010 in their settings)
- in particular, not having Official builders switch
Unfortunately, this will need to be merged on to the 34 branch, as it has the current "auto-use" code, so otherwise it'd switch to 2013 as soon as depot_tools starts updating the toolchain (previously, the only check was whether the toolchain exists on the local hard drive).
R=maruel@chromium.org
BUG=323300
Review URL: https://codereview.chromium.org/174143003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@252604 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Most people don't use this parameter and get arm binaries. This is
still the default, so this change shouldn't affect most people.
Folks should instead pass -Dtarget_arch to gyp. (Or, soon, envsetup will stop
clobbering GYP_DEFINES, then you can just add target_arch to your GYP_DEFINES.)
Note that in gyp land, 'mips' is called 'mipsel' and 'x86' is called 'ia32'.
'arm' stays 'arm'.
So for example, instead of running
. build/android/envsetup.sh --target-arch=mips
android_gyp
you'd run
. build/android/envsetup.sh
android_gyp -Dtarget_arch=mipsel
I updated the bots I was able to find to pass the -D flag in addition to
--target-arch. After this CL here is in, I'll update the bots to stop passing
--target-arch, and then I'll make --target-arch a hard error in this script for
a while, to make sure nobody still uses it.
BUG=330631,34476
R=torne@chromium.org
TBR=yfriedman
Review URL: https://codereview.chromium.org/171903002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@252034 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Previously, we checked that GYP_GENERATORS was "ninja", but this
broke when using GYP_GENERATORS=ninja,msvs-ninja. As there are no
other supported genearators than those two now, there's no need
to check that we're using ninja at all, so just remove that
branch of the if.
BUG=323300
R=jschuh@chromium.org
Review URL: https://codereview.chromium.org/167373004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@251406 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This properly sets the DEPLOYMENT_TARGET in the generated GYP file (previously this value wa salways hardcoded to empty -- whoops!).
Sets the simulator properly. Previously when not using an explicit SDK the Xcode generator would still end up with a simulator build. This turns the flag into a tri-state so gyp_chromium can set it explicitly when an SDK is specified, but otherwise we can trigger default behavior based on Xcode/Ninja.
TBR=scottmg
Review URL: https://codereview.chromium.org/155983003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@249643 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Separates out some "SDK" related setup on Mac land Linux like we do on Windows. I'm trying to make the "compiler" BUILD file just compiler warnings and CPU options, and have system library stuff on the platform directories.
This adds the capability for GN to produce GYP files on Mac that vary according
to the GYP generator as well as target-vs-host. I added a bunch of logic to the
GN iOS build to set up stuff accordingly based on my current knowledge of
what's required.
Sadly, this means we now have an 8-way GN build (all combinations of
debug/release, host/target, and xcode/ninja). I did some refactoring of the GYP
code in GN to make this less unreasonable.
I checked that the GYP files look the way I want, but I didn't actually test
the resulting builds yet. There is still likely to be some conditions wrong or
things not being set properly. I'm going to follow up with a second pass based on actual testing.
I believe, however, that with this new GYP generator code in GN, we can express
in the .gn files what we need to do the iOS build.
Review URL: https://codereview.chromium.org/149163005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@248476 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
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
The toolchain directory inside depot_tools will only exist if
"set DEPOT_TOOLS_WIN_TOOLCHAIN=1" so this is currently a no-op.
It will break the "dogfood" of 'GYP_MSVS_USE_SYSTEM_TOOLCHAIN'
now renamed per above, but I think only a few people tested
that (cc'd here).
R=dpranke@chromium.org
BUG=323300, 326357
Review URL: https://codereview.chromium.org/137573002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@245412 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
With this change, `gclient runhooks` creates ninja files by default on
Windows. To build, run `ninja -C out\Release chrome`. The output appears
in out\ instead of build\.
If you need to use a VS build for some reason, you can still
`set GYP_GENERATORS=msvs`. This is no longer a tested configuration.
Bots should automatically pick up the binaries in the new location (out).
If something does break, it should be safe to revert this change, and bots
should then automatically go back to picking up binaries from the old
location (build).
R=thakis@chromium.org
BUG=303291
Review URL: https://codereview.chromium.org/111183004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@243782 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
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
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
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
Reproduced on a new Win7 x64 VM, and this fixed the build (at
least for the chrome target).
This doesn't address the need to copy the runtime DLLs into the
output directory so that chrome runs though, that's a separate
problem where something in chrome's gyp should be copying them
there, at least for a debug build.
TBR=mikelawther@chromium.org
BUG=326345
Review URL: https://codereview.chromium.org/111183002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@239671 4ff67af0-8c30-449e-8e8b-ad334ec8d88c