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
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
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
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 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
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