diff options
Diffstat (limited to 'src/build')
| -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 -  ], -}  | 
