aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrisha@chromium.org <chrisha@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2014-04-28 21:16:52 +0000
committerchrisha@chromium.org <chrisha@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2014-04-28 21:16:52 +0000
commit4463365304c3ec6f1373af1a11adffe86e32c23a (patch)
treea7f00a8a86741172c9719e3a11c4d4f889e97e93
parentLinux: Check the CRC32 of the debug link file in the symbol dumper. (diff)
downloadbreakpad-4463365304c3ec6f1373af1a11adffe86e32c23a.tar.xz
Clean up common.gypi.
This removes a handful of redundant variables and GYP includes. BUG= R=mark@chromium.org Review URL: https://breakpad.appspot.com/2654002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1321 4c0a9323-5329-0410-9bdc-e9ce6186880e
-rw-r--r--src/build/common.gypi287
-rw-r--r--src/build/external_code.gypi64
-rw-r--r--src/build/internal/release_defaults.gypi15
-rw-r--r--src/build/internal/release_impl.gypi3
-rw-r--r--src/build/internal/release_impl_official.gypi21
-rw-r--r--src/build/release.gypi18
6 files changed, 55 insertions, 353 deletions
diff --git a/src/build/common.gypi b/src/build/common.gypi
index 52d5686e..f3a0e23b 100644
--- a/src/build/common.gypi
+++ b/src/build/common.gypi
@@ -31,34 +31,13 @@
# since gyp_chromium is automatically forcing its inclusion.
{
'variables': {
- # .gyp files or targets 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.
# Putting a variables dict inside another variables dict looks kind of
- # weird. This is done so that "branding" and "buildtype" are defined as
- # variables within the outer variables dict here. This is necessary
- # to get these variables defined for the conditions within this variables
- # dict that operate on these variables.
+ # weird. This is necessary to get these variables defined for the conditions
+ # within this variables dict that operate on these variables.
'variables': {
- # 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',
-
'variables': {
# Compute the architecture that we're building on.
'conditions': [
@@ -72,49 +51,19 @@
'host_arch%': 'ia32',
}],
],
-
- # Whether we're building a ChromeOS build. We set the initial
- # value at this level of nesting so it's available for the
- # toolkit_views test below.
- 'chromeos%': '0',
},
- # Set default value of toolkit_views on for Windows and Chrome OS.
- # We set it at this level of nesting so the value is available for
- # other conditionals below.
- 'conditions': [
- ['OS=="win" or chromeos==1', {
- 'toolkit_views%': 1,
- }, {
- 'toolkit_views%': 0,
- }],
- ],
-
'host_arch%': '<(host_arch)',
# Default architecture we're building for is the architecture we're
# building on.
'target_arch%': '<(host_arch)',
- # We do want to build Chromium with Breakpad support in certain
- # situations. I.e. for Chrome bot.
- 'linux_chromium_breakpad%': 0,
- # And if we want to dump symbols.
- 'linux_chromium_dump_symbols%': 0,
- # Also see linux_strip_binary below.
-
- # Copy conditionally-set chromeos variable out one scope.
- 'chromeos%': '<(chromeos)',
-
# This variable tells WebCore.gyp and JavaScriptCore.gyp whether they are
# are built under a chromium full build (1) or a webkit.org chromium
# build (0).
'inside_chromium_build%': 1,
- # Set to 1 to enable fast builds. It disables debug info for fastest
- # compilation.
- 'fastbuild%': 0,
-
# Set to 1 compile with -fPIC cflag on linux. This is a must for shared
# libraries on linux x86-64 and arm.
'linux_fpic%': 0,
@@ -135,16 +84,9 @@
'disable_sse2%': 0,
},
- # Define branding and buildtype on the basis of their settings within the
- # variables sub-dict above, unless overridden.
- 'branding%': '<(branding)',
- 'buildtype%': '<(buildtype)',
'target_arch%': '<(target_arch)',
'host_arch%': '<(host_arch)',
- 'toolkit_views%': '<(toolkit_views)',
- 'chromeos%': '<(chromeos)',
'inside_chromium_build%': '<(inside_chromium_build)',
- 'fastbuild%': '<(fastbuild)',
'linux_fpic%': '<(linux_fpic)',
'python_ver%': '<(python_ver)',
'arm_version%': '<(arm_version)',
@@ -267,55 +209,14 @@
'gcc_version%': '<!(python <(DEPTH)/build/compiler_version.py)',
# Figure out the python architecture to decide if we build pyauto.
'python_arch%': '<!(<(DEPTH)/build/linux/python_arch.sh <(sysroot)/usr/lib/libpython<(python_ver).so.1.0)',
- 'conditions': [
- ['branding=="Chrome" or linux_chromium_breakpad==1', {
- 'linux_breakpad%': 1,
- }, {
- 'linux_breakpad%': 0,
- }],
- # All Chrome builds have breakpad symbols, but only process the
- # symbols from official builds.
- # TODO(mmoss) dump_syms segfaults on x64. Enable once dump_syms and
- # crash server handle 64-bit symbols.
- ['linux_chromium_dump_symbols==1 or '
- '(branding=="Chrome" and buildtype=="Official" and '
- 'target_arch=="ia32")', {
- 'linux_dump_symbols%': 1,
- }, {
- 'linux_dump_symbols%': 0,
- }],
- ['toolkit_views==0', {
- # GTK wants Title Case strings
- 'use_titlecase_in_grd_files%': 1,
- }],
- ],
+ 'linux_breakpad%': 1,
+ 'linux_dump_symbols%': 1,
}], # OS=="linux" or OS=="freebsd" or OS=="openbsd"
['OS=="mac"', {
# Mac wants Title Case strings
'use_titlecase_in_grd_files%': 1,
- 'conditions': [
- # mac_product_name is set to the name of the .app bundle as it should
- # appear on disk. This duplicates data from
- # chrome/app/theme/chromium/BRANDING and
- # chrome/app/theme/google_chrome/BRANDING, but is necessary to get
- # these names into the build system.
- ['branding=="Chrome"', {
- 'mac_product_name%': 'Google Chrome',
- }, { # else: branding!="Chrome"
- 'mac_product_name%': 'Chromium',
- }],
-
- # Feature variables for enabling Mac Breakpad and Keystone auto-update
- # support. Both features are on by default in official builds with
- # Chrome branding.
- ['branding=="Chrome" and buildtype=="Official"', {
- 'mac_breakpad%': 1,
- 'mac_keystone%': 1,
- }, { # else: branding!="Chrome" or buildtype!="Official"
- 'mac_breakpad%': 0,
- 'mac_keystone%': 0,
- }],
- ],
+ 'mac_breakpad%': 0,
+ 'mac_keystone%': 0,
}], # OS=="mac"
# Whether to use multiple cores to compile with visual studio. This is
# optional because it sometimes causes corruption on VS 2005.
@@ -351,7 +252,7 @@
}],
# Compute based on OS, target architecture and device whether GLES
# is supported
- [ 'OS=="linux" and target_arch=="arm" and chromeos==1', {
+ [ 'OS=="linux" and target_arch=="arm"', {
# Enable a variable used elsewhere throughout the GYP files to determine
# whether to compile in the sources for the GLES support.
'enable_gles%': 1,
@@ -373,17 +274,6 @@
},
'target_defaults': {
'variables': {
- # The condition that operates on chromium_code is in a target_conditions
- # section, and will not have access to the default fallback value of
- # chromium_code at the top of this file, or to the chromium_code
- # variable placed at the root variables scope of .gyp files, because
- # those variables are not set at target scope. As a workaround,
- # if chromium_code is not set at target scope, define it in target scope
- # to contain whatever value it has during early variable expansion.
- # That's enough to make it available during target conditional
- # processing.
- 'chromium_code%': '<(chromium_code)',
-
# See http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html
'mac_release_optimization%': '3', # Use -O3 unless overridden
'mac_debug_optimization%': '0', # Use -O0 unless overridden
@@ -399,34 +289,6 @@
'release_valgrind_build%': 0,
},
'conditions': [
- ['branding=="Chrome"', {
- 'defines': ['GOOGLE_CHROME_BUILD'],
- }, { # else: branding!="Chrome"
- 'defines': ['CHROMIUM_BUILD'],
- }],
- ['toolkit_views==1', {
- 'defines': ['TOOLKIT_VIEWS=1'],
- }],
- ['chromeos==1', {
- 'defines': ['OS_CHROMEOS=1'],
- }],
- ['fastbuild!=0', {
- 'conditions': [
- # Finally, for Windows, we simply turn on profiling.
- ['OS=="win"', {
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'false',
- },
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '0',
- }
- }
- }, { # else: OS != "win"
- 'cflags': [ '-g1' ],
- }],
- ], # conditions for fastbuild.
- }], # fastbuild!=0
['selinux==1', {
'defines': ['CHROMIUM_SELINUX=1'],
}],
@@ -488,82 +350,32 @@
}], # coverage!=0
], # conditions for 'target_defaults'
'target_conditions': [
- ['chromium_code==0', {
- 'conditions': [
- [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
- 'cflags!': [
- '-Wall',
- '-Wextra',
- '-Werror',
- ],
- }],
- [ 'OS=="win"', {
- 'defines': [
- '_CRT_SECURE_NO_DEPRECATE',
- '_CRT_NONSTDC_NO_WARNINGS',
- '_CRT_NONSTDC_NO_DEPRECATE',
- ],
- 'msvs_disabled_warnings': [4800],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarnAsError': 'true',
- 'Detect64BitPortabilityProblems': 'false',
- },
- },
- }],
- [ 'OS=="mac"', {
- 'xcode_settings': {
- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO',
- 'WARNING_CFLAGS!': ['-Wall'],
- },
- }],
+ [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
+ 'cflags!': [
+ '-Wall',
+ '-Wextra',
+ '-Werror',
],
- }, {
- # In Chromium code, we define __STDC_FORMAT_MACROS in order to get the
- # C99 macros on Mac and Linux.
+ }],
+ [ 'OS=="win"', {
'defines': [
- '__STDC_FORMAT_MACROS',
- ],
- 'conditions': [
- ['OS!="win"', {
- 'sources/': [ ['exclude', '_win(_unittest)?\\.cc$'],
- ['exclude', '/win/'],
- ['exclude', '/win_[^/]*\\.cc$'] ],
- }],
- ['OS!="mac"', {
- 'sources/': [ ['exclude', '_(cocoa|mac)(_unittest)?\\.cc$'],
- ['exclude', '/(cocoa|mac)/'],
- ['exclude', '\.mm?$' ] ],
- }],
- ['OS!="linux" and OS!="freebsd" and OS!="openbsd"', {
- 'sources/': [
- ['exclude', '_(chromeos|gtk|x|x11|xdg)(_unittest)?\\.cc$'],
- ['exclude', '/gtk/'],
- ['exclude', '/(gtk|x11)_[^/]*\\.cc$'],
- ],
- }],
- ['OS!="linux"', {
- 'sources/': [
- ['exclude', '_linux(_unittest)?\\.cc$'],
- ['exclude', '/linux/'],
- ],
- }],
- # We use "POSIX" to refer to all non-Windows operating systems.
- ['OS=="win"', {
- 'sources/': [ ['exclude', '_posix\\.cc$'] ],
- }],
- # Though Skia is conceptually shared by Linux and Windows,
- # the only _skia files in our tree are Linux-specific.
- ['OS!="linux" and OS!="freebsd" and OS!="openbsd"', {
- 'sources/': [ ['exclude', '_skia\\.cc$'] ],
- }],
- ['chromeos!=1', {
- 'sources/': [ ['exclude', '_chromeos\\.cc$'] ]
- }],
- ['toolkit_views==0', {
- 'sources/': [ ['exclude', '_views\\.cc$'] ]
- }],
+ '_CRT_SECURE_NO_DEPRECATE',
+ '_CRT_NONSTDC_NO_WARNINGS',
+ '_CRT_NONSTDC_NO_DEPRECATE',
],
+ 'msvs_disabled_warnings': [4800],
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'WarnAsError': 'true',
+ 'Detect64BitPortabilityProblems': 'false',
+ },
+ },
+ }],
+ [ 'OS=="mac"', {
+ 'xcode_settings': {
+ 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO',
+ 'WARNING_CFLAGS!': ['-Wall'],
+ },
}],
], # target_conditions for 'target_defaults'
'default_configuration': 'Debug',
@@ -714,7 +526,30 @@
'inherit_from': ['Common_Base', 'x86_Base', 'Release_Base'],
'conditions': [
['msvs_use_common_release', {
- 'includes': ['release.gypi'],
+ 'defines': ['OFFICIAL_BUILD'],
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'Optimization': '3',
+ 'StringPooling': 'true',
+ 'OmitFramePointers': 'true',
+ 'InlineFunctionExpansion': '2',
+ 'EnableIntrinsicFunctions': 'true',
+ 'FavorSizeOrSpeed': '2',
+ 'OmitFramePointers': 'true',
+ 'EnableFiberSafeOptimizations': 'true',
+ 'WholeProgramOptimization': 'true',
+ },
+ 'VCLibrarianTool': {
+ 'AdditionalOptions': ['/ltcg', '/expectedoutputsize:120000000'],
+ },
+ 'VCLinkerTool': {
+ 'LinkIncremental': '1',
+ 'OptimizeReferences': '2',
+ 'EnableCOMDATFolding': '2',
+ 'OptimizeForWindows98': '1',
+ 'LinkTimeCodeGeneration': '1',
+ },
+ },
}],
]
},
@@ -931,22 +766,13 @@
# compiler optimized the code, since the value is always kept
# in its specified precision.
'conditions': [
- ['branding=="Chromium" and disable_sse2==0', {
+ ['disable_sse2==0', {
'cflags': [
'-march=pentium4',
'-msse2',
'-mfpmath=sse',
],
}],
- # ChromeOS targets Pinetrail, which is sse3, but most of the
- # benefit comes from sse2 so this setting allows ChromeOS
- # to build on other CPUs. In the future -march=atom would help
- # but requires a newer compiler.
- ['chromeos==1 and disable_sse2==0', {
- 'cflags': [
- '-msse2',
- ],
- }],
],
# -mmmx allows mmintrin.h to be used for mmx intrinsics.
# video playback is mmx and sse2 optimized.
@@ -1022,9 +848,6 @@
'cflags': [ '-gstabs' ],
'defines': ['USE_LINUX_BREAKPAD'],
}],
- ['linux_use_seccomp_sandbox==1 and buildtype!="Official"', {
- 'defines': ['USE_SECCOMP_SANDBOX'],
- }],
['library=="shared_library"', {
# When building with shared libraries, remove the visiblity-hiding
# flag.
diff --git a/src/build/external_code.gypi b/src/build/external_code.gypi
deleted file mode 100644
index 57fa8805..00000000
--- a/src/build/external_code.gypi
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 2010 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-{
- 'conditions': [
- [ 'OS=="linux"', {
- 'target_defaults': {
- 'cflags!': [
- '-Wall',
- '-Werror',
- ],
- },
- }],
- [ 'OS=="win"', {
- 'target_defaults': {
- 'defines': [
- '_CRT_SECURE_NO_DEPRECATE',
- '_CRT_NONSTDC_NO_WARNINGS',
- '_CRT_NONSTDC_NO_DEPRECATE',
- ],
- 'msvs_disabled_warnings': [4800],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarnAsError': 'false',
- 'Detect64BitPortabilityProblems': 'false',
- },
- },
- },
- }],
- [ 'OS=="mac"', {
- 'target_defaults': {
- 'xcode_settings': {
- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO',
- 'WARNING_CFLAGS!': ['-Wall'],
- },
- },
- }],
- ],
-}
diff --git a/src/build/internal/release_defaults.gypi b/src/build/internal/release_defaults.gypi
deleted file mode 100644
index 1bf6bbee..00000000
--- a/src/build/internal/release_defaults.gypi
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '2',
- 'StringPooling': 'true',
- 'OmitFramePointers': 'true',
- },
- 'VCLinkerTool': {
- 'LinkIncremental': '1',
- 'OptimizeReferences': '2',
- 'EnableCOMDATFolding': '2',
- 'OptimizeForWindows98': '1',
- },
- },
-}
diff --git a/src/build/internal/release_impl.gypi b/src/build/internal/release_impl.gypi
deleted file mode 100644
index aff06dc6..00000000
--- a/src/build/internal/release_impl.gypi
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- 'includes': ['release_defaults.gypi'],
-}
diff --git a/src/build/internal/release_impl_official.gypi b/src/build/internal/release_impl_official.gypi
deleted file mode 100644
index 18f79282..00000000
--- a/src/build/internal/release_impl_official.gypi
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- 'includes': ['release_defaults.gypi'],
- 'defines': ['OFFICIAL_BUILD'],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '3',
- 'InlineFunctionExpansion': '2',
- 'EnableIntrinsicFunctions': 'true',
- 'FavorSizeOrSpeed': '2',
- 'OmitFramePointers': 'true',
- 'EnableFiberSafeOptimizations': 'true',
- 'WholeProgramOptimization': 'true',
- },
- 'VCLibrarianTool': {
- 'AdditionalOptions': ['/ltcg', '/expectedoutputsize:120000000'],
- },
- 'VCLinkerTool': {
- 'LinkTimeCodeGeneration': '1',
- },
- },
-}
diff --git a/src/build/release.gypi b/src/build/release.gypi
deleted file mode 100644
index 4b012b51..00000000
--- a/src/build/release.gypi
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- 'conditions': [
- # Handle build types.
- ['buildtype=="Dev"', {
- 'includes': ['internal/release_impl.gypi'],
- }],
- ['buildtype=="Official"', {
- 'includes': ['internal/release_impl_official.gypi'],
- }],
- # TODO(bradnelson): may also need:
- # checksenabled
- # coverage
- # dom_stats
- # pgo_instrument
- # pgo_optimize
- # purify
- ],
-}