summaryrefslogtreecommitdiff
path: root/build/common.gypi
diff options
context:
space:
mode:
Diffstat (limited to 'build/common.gypi')
-rw-r--r--build/common.gypi190
1 files changed, 190 insertions, 0 deletions
diff --git a/build/common.gypi b/build/common.gypi
new file mode 100644
index 00000000..fc9f2951
--- /dev/null
+++ b/build/common.gypi
@@ -0,0 +1,190 @@
+# Copyright (c) 2010 The ANGLE Project 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': {
+ 'component%': 'static_library',
+ # angle_code is set to 1 for the core ANGLE targets defined in src/build_angle.gyp.
+ # angle_code is set to 0 for test code, sample code, and third party code.
+ # When angle_code is 1, we build with additional warning flags on Mac and Linux.
+ 'angle_code%': 0,
+ 'gcc_or_clang_warnings': [
+ '-Wall',
+ '-Wchar-subscripts',
+ '-Werror',
+ '-Wextra',
+ '-Wformat=2',
+ '-Winit-self',
+ '-Wno-sign-compare',
+ '-Wno-unused-function',
+ '-Wno-unused-parameter',
+ '-Wno-unknown-pragmas',
+ '-Wpacked',
+ '-Wpointer-arith',
+ '-Wundef',
+ '-Wwrite-strings',
+ ],
+ },
+ 'target_defaults': {
+ 'default_configuration': 'Debug',
+ 'variables': {
+ 'warn_as_error%': 1,
+ },
+ 'target_conditions': [
+ ['warn_as_error == 1', {
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'WarnAsError': 'true',
+ },
+ },
+ }],
+ ],
+ 'configurations': {
+ 'Common': {
+ 'abstract': 1,
+ 'msvs_configuration_attributes': {
+ 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)',
+ 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
+ 'CharacterSet': '1', # UNICODE
+ },
+ 'msvs_configuration_platform': 'Win32',
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'BufferSecurityCheck': 'true',
+ 'DebugInformationFormat': '3',
+ # TODO(alokp): Disable exceptions before integrating with chromium.
+ #'ExceptionHandling': '0',
+ 'EnableFunctionLevelLinking': 'true',
+ 'MinimalRebuild': 'false',
+ 'PreprocessorDefinitions': [
+ '_CRT_SECURE_NO_DEPRECATE',
+ '_HAS_EXCEPTIONS=0',
+ '_WIN32_WINNT=0x0600',
+ '_WINDOWS',
+ 'NOMINMAX',
+ 'WIN32',
+ 'WIN32_LEAN_AND_MEAN',
+ 'WINVER=0x0600',
+ ],
+ 'RuntimeTypeInfo': 'false',
+ 'WarningLevel': '4',
+ 'DisableSpecificWarnings': [4100, 4127, 4189, 4239, 4244, 4245, 4512, 4702],
+ },
+ 'VCLinkerTool': {
+ 'FixedBaseAddress': '1',
+ 'GenerateDebugInformation': 'true',
+ 'ImportLibrary': '$(OutDir)\\lib\\$(TargetName).lib',
+ 'MapFileName': '$(OutDir)\\$(TargetName).map',
+ # Most of the executables we'll ever create are tests
+ # and utilities with console output.
+ 'SubSystem': '1', # /SUBSYSTEM:CONSOLE
+ 'AdditionalLibraryDirectories': [
+ '$(ProgramFiles)/Windows Kits/8.0/Lib/win8/um/x86',
+ ],
+ },
+ 'VCLibrarianTool': {
+ 'AdditionalLibraryDirectories': [
+ '$(ProgramFiles)/Windows Kits/8.0/Lib/win8/um/x86',
+ ],
+ },
+ 'VCResourceCompilerTool': {
+ 'Culture': '1033',
+ },
+ },
+ 'msvs_system_include_dirs': [
+ '$(ProgramFiles)/Windows Kits/8.0/Include/shared',
+ '$(ProgramFiles)/Windows Kits/8.0/Include/um',
+ ],
+ }, # Common
+ 'Debug': {
+ 'inherit_from': ['Common'],
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'Optimization': '0', # /Od
+ 'PreprocessorDefinitions': ['_DEBUG'],
+ 'BasicRuntimeChecks': '3',
+ 'RuntimeLibrary': '1', # /MTd (debug static)
+ },
+ 'VCLinkerTool': {
+ 'LinkIncremental': '2',
+ },
+ },
+ 'xcode_settings': {
+ 'COPY_PHASE_STRIP': 'NO',
+ 'GCC_OPTIMIZATION_LEVEL': '0',
+ },
+ }, # Debug
+ 'Release': {
+ 'inherit_from': ['Common'],
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'Optimization': '2', # /Os
+ 'PreprocessorDefinitions': ['NDEBUG'],
+ 'RuntimeLibrary': '0', # /MT (static)
+ },
+ 'VCLinkerTool': {
+ 'LinkIncremental': '1',
+ },
+ },
+ }, # Release
+ }, # configurations
+ 'conditions': [
+ ['component=="shared_library"', {
+ 'defines': ['COMPONENT_BUILD'],
+ }],
+ ],
+ }, # target_defaults
+ 'conditions': [
+ ['OS=="win"', {
+ 'target_defaults': {
+ 'msvs_cygwin_dirs': ['../third_party/cygwin'],
+ },
+ }],
+ ['OS!="win" and OS!="mac"', {
+ 'target_defaults': {
+ 'cflags': [
+ '-pthread',
+ '-fno-exceptions',
+ ],
+ 'ldflags': [
+ '-pthread',
+ ],
+ 'configurations': {
+ 'Debug': {
+ 'variables': {
+ 'debug_optimize%': '0',
+ },
+ 'defines': [
+ '_DEBUG',
+ ],
+ 'cflags': [
+ '-O>(debug_optimize)',
+ '-g',
+ ],
+ }
+ },
+ },
+ }],
+ ['angle_code==1', {
+ 'target_defaults': {
+ 'conditions': [
+ ['OS=="mac"', {
+ 'xcode_settings': {
+ 'WARNING_CFLAGS': ['<@(gcc_or_clang_warnings)']
+ },
+ }],
+ ['OS!="win" and OS!="mac"', {
+ 'cflags': ['<@(gcc_or_clang_warnings)']
+ }],
+ ]
+ }
+ }],
+ ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2: