# Copyright (c) 2012 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. { 'variables': { # .gyp files should set chromium_code to 1 if they build Chromium-specific # code, as opposed to external code. This variable is used to control # such things as the set of warnings to enable, and whether warnings are # treated as errors. 'chromium_code%': 0, # Variables expected to be overriden on the GYP command line (-D) or by # ~/.gyp/include.gypi. # Override chromium_mac_pch and set it to 0 to suppress the use of # precompiled headers on the Mac. Prefix header injection may still be # used, but prefix headers will not be precompiled. This is useful when # using distcc to distribute a build to compile slaves that don't # share the same compiler executable as the system driving the compilation, # because precompiled headers rely on pointers into a specific compiler # executable's image. Setting this to 0 is needed to use an experimental # Linux-Mac cross compiler distcc farm. 'chromium_mac_pch%': 1, # Enable building with ASAN (Clang's -fsanitize=address option). # -fsanitize=address only works with clang, but asan=1 implies clang=1 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addresssanitizer 'asan%': 0, # Set this to true when building with Clang. 'clang%': 0, # Set to 1 to enable code coverage. In addition to build changes # (e.g. extra CFLAGS), also creates a new target in the src/chrome # project file called "coverage". # Currently ignored on Windows. 'coverage%': 0, # TODO(sgk): eliminate this if possible. # It would be nicer to support this via a setting in 'target_defaults' # in chrome/app/locales/locales.gypi overriding the setting in the # 'Debug' configuration in the 'target_defaults' dict below, # but that doesn't work as we'd like. 'msvs_debug_link_incremental%': '2', # NOTE: adapted from them chrome common.gypi file for arm 'arm_version%': 7, # Set Neon compilation flags (only meaningful if arm_version==7). 'arm_neon%': 1, # Set Thumb compilation flags. 'arm_thumb%': 0, # Set ARM fpu compilation flags (only meaningful if arm_version==7 and # arm_neon==0). 'arm_fpu%': 'vfpv3', # Set ARM float abi compilation flag. 'arm_float_abi%': 'softfp', # Version of the mac sdk to use. 'mac_sdk%': '10.6', 'mac_deployment_target%': '10.6', # NOTE: end adapted from them chrome common.gypi file for arm # Doing this in a sub-dict so that it can be referred to below. 'variables': { # By default we assume that we are building as part of Chrome 'variables': { 'nacl_standalone%': 0, # Override branding to select the desired branding flavor. 'branding%': 'Chromium', # Override buildtype to select the desired build flavor. # Dev - everyday build for development/testing # Official - release build (generally implies additional processing) # TODO(mmoss) Once 'buildtype' is fully supported (e.g. Windows gyp # conversion is done), some of the things which are now controlled by # 'branding', such as symbol generation, will need to be refactored # based on 'buildtype' (i.e. we don't care about saving symbols for # non-Official builds). 'buildtype%': 'Dev', 'conditions': [ # Compute the architecture that we're building for. Default to the # architecture that we're building on. ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', { # This handles the Linux platforms we generally deal with. Anything # else gets passed through, which probably won't work very well; # such hosts should pass an explicit target_arch to gyp. # # NOTE: currently only nacl is generating gyp files on an arm board. # The arm.* -> arm substitution in chrome's common.gypi isn't # appropriate in that context as we actually use target_arch==arm # to me x86 -> arm cross compile. When actually running on an arm # board, we'll generate ia32 for now, so that the generation # succeeds. 'target_arch%': '