| # 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. |
| |
| { |
| 'conditions': [ |
| # In component mode (shared_lib), we build all of skia as a single DLL. |
| # However, in the static mode, we need to build skia as multiple targets |
| # in order to support the use case where a platform (e.g. Android) may |
| # already have a copy of skia as a system library. |
| ['component=="static_library"', { |
| 'targets': [ |
| { |
| 'target_name': 'skia_library', |
| 'type': 'static_library', |
| # The optimize: 'max' scattered throughout are particularly |
| # important when compiled by MSVC 2013, which seems |
| # to mis-link-time-compile code that's built with |
| # different optimization levels. http://crbug.com/543583 |
| 'variables': { |
| 'optimize': 'max', |
| }, |
| 'includes': [ |
| 'skia_common.gypi', |
| 'skia_library.gypi', |
| '../build/android/increase_size_for_speed.gypi', |
| # Disable LTO due to compiler error |
| # in mems_in_disjoint_alias_sets_p, at alias.c:393 |
| # crbug.com/422255 |
| '../build/android/disable_gcc_lto.gypi', |
| ], |
| }, |
| ], |
| }], |
| ['component=="static_library"', { |
| 'targets': [ |
| { |
| 'target_name': 'skia', |
| # The optimize: 'max' scattered throughout are particularly |
| # important when compiled by MSVC 2013, which seems |
| # to mis-link-time-compile code that's built with |
| # different optimization levels. http://crbug.com/543583 |
| 'variables': { |
| 'optimize': 'max', |
| }, |
| 'type': 'none', |
| 'dependencies': [ |
| 'skia_library', |
| 'skia_chrome', |
| ], |
| 'export_dependent_settings': [ |
| 'skia_library', |
| 'skia_chrome', |
| ], |
| 'direct_dependent_settings': { |
| 'conditions': [ |
| [ 'OS == "win"', { |
| 'defines': [ |
| 'GR_GL_FUNCTION_TYPE=__stdcall', |
| ], |
| }], |
| ], |
| }, |
| }, |
| { |
| 'target_name': 'skia_chrome', |
| 'type': 'static_library', |
| 'includes': [ |
| 'skia_chrome.gypi', |
| 'skia_common.gypi', |
| '../build/android/increase_size_for_speed.gypi', |
| ], |
| }, |
| ], |
| }, |
| { # component != static_library |
| 'targets': [ |
| { |
| 'target_name': 'skia', |
| # The optimize: 'max' scattered throughout are particularly |
| # important when compiled by MSVC 2013, which seems |
| # to mis-link-time-compile code that's built with |
| # different optimization levels. http://crbug.com/543583 |
| 'variables': { |
| 'optimize': 'max', |
| }, |
| 'type': 'shared_library', |
| 'includes': [ |
| # Include skia_common.gypi first since it contains filename |
| # exclusion rules. This allows the following includes to override |
| # the exclusion rules. |
| 'skia_common.gypi', |
| 'skia_chrome.gypi', |
| 'skia_library.gypi', |
| '../build/android/increase_size_for_speed.gypi', |
| ], |
| 'defines': [ |
| 'SKIA_DLL', |
| 'SKIA_IMPLEMENTATION=1', |
| 'GR_GL_IGNORE_ES3_MSAA=0', |
| ], |
| 'direct_dependent_settings': { |
| 'conditions': [ |
| [ 'OS == "win"', { |
| 'defines': [ |
| 'GR_GL_FUNCTION_TYPE=__stdcall', |
| ], |
| }], |
| ], |
| 'defines': [ |
| 'SKIA_DLL', |
| 'GR_GL_IGNORE_ES3_MSAA=0', |
| ], |
| }, |
| }, |
| { |
| 'target_name': 'skia_library', |
| 'type': 'none', |
| }, |
| { |
| 'target_name': 'skia_chrome', |
| 'type': 'none', |
| }, |
| ], |
| }], |
| ], |
| |
| # targets that are not dependent upon the component type |
| 'targets': [ |
| { |
| 'target_name': 'image_operations_bench', |
| # The optimize: 'max' scattered throughout are particularly |
| # important when compiled by MSVC 2013, which seems |
| # to mis-link-time-compile code that's built with |
| # different optimization levels. http://crbug.com/543583 |
| 'variables': { |
| 'optimize': 'max', |
| }, |
| 'type': 'executable', |
| 'dependencies': [ |
| '../base/base.gyp:base', |
| 'skia', |
| ], |
| 'include_dirs': [ |
| '..', |
| ], |
| 'sources': [ |
| 'ext/image_operations_bench.cc', |
| ], |
| }, |
| { |
| 'target_name': 'filter_fuzz_stub', |
| 'type': 'executable', |
| # The optimize: 'max' scattered throughout are particularly |
| # important when compiled by MSVC 2013, which seems |
| # to mis-link-time-compile code that's built with |
| # different optimization levels. http://crbug.com/543583 |
| 'variables': { |
| 'optimize': 'max', |
| }, |
| 'dependencies': [ |
| '../base/base.gyp:base', |
| '../base/base.gyp:test_support_base', |
| 'skia.gyp:skia', |
| ], |
| 'sources': [ |
| 'tools/filter_fuzz_stub/filter_fuzz_stub.cc', |
| ], |
| 'includes': [ |
| '../build/android/increase_size_for_speed.gypi', |
| ], |
| }, |
| { |
| 'target_name': 'skia_mojo', |
| 'type': 'static_library', |
| # The optimize: 'max' scattered throughout are particularly |
| # important when compiled by MSVC 2013, which seems |
| # to mis-link-time-compile code that's built with |
| # different optimization levels. http://crbug.com/543583 |
| 'variables': { |
| 'optimize': 'max', |
| }, |
| 'dependencies': [ |
| 'skia', |
| '../base/base.gyp:base', |
| ], |
| 'includes': [ |
| '../third_party/mojo/mojom_bindings_generator.gypi', |
| ], |
| 'sources': [ |
| # Note: file list duplicated in GN build. |
| 'public/interfaces/bitmap.mojom', |
| 'public/type_converters.cc', |
| ], |
| }, |
| ], |
| } |