diff options
author | chrisha@chromium.org <chrisha@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2014-04-28 21:16:52 +0000 |
---|---|---|
committer | chrisha@chromium.org <chrisha@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2014-04-28 21:16:52 +0000 |
commit | 4463365304c3ec6f1373af1a11adffe86e32c23a (patch) | |
tree | a7f00a8a86741172c9719e3a11c4d4f889e97e93 | |
parent | Linux: Check the CRC32 of the debug link file in the symbol dumper. (diff) | |
download | breakpad-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.gypi | 287 | ||||
-rw-r--r-- | src/build/external_code.gypi | 64 | ||||
-rw-r--r-- | src/build/internal/release_defaults.gypi | 15 | ||||
-rw-r--r-- | src/build/internal/release_impl.gypi | 3 | ||||
-rw-r--r-- | src/build/internal/release_impl_official.gypi | 21 | ||||
-rw-r--r-- | src/build/release.gypi | 18 |
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 - ], -} |