| # Copyright 2014 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. |
| |
| # Modifications Copyright 2017 Google Inc. All Rights Reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| import("//cobalt/build/config/base.gni") |
| |
| # TODO: split out into relevant subdirectories |
| config("compiler_defaults") { |
| if (cobalt_media_buffer_pool_allocate_on_demand) { |
| allocate_on_demand = 1 |
| } else { |
| allocate_on_demand = 0 |
| } |
| |
| defines = [ |
| "COBALT", |
| "COBALT_MEDIA_BUFFER_POOL_ALLOCATE_ON_DEMAND=$allocate_on_demand", |
| "COBALT_MEDIA_BUFFER_INITIAL_CAPACITY=$cobalt_media_buffer_initial_capacity", |
| "COBALT_MEDIA_BUFFER_MAX_CAPACITY_1080p=$cobalt_media_buffer_max_capacity_1080p", |
| "COBALT_MEDIA_BUFFER_MAX_CAPACITY_4K=$cobalt_media_buffer_max_capacity_4k", |
| "COBALT_MEDIA_BUFFER_ALLOCATION_UNIT=$cobalt_media_buffer_allocation_unit", |
| "COBALT_MEDIA_BUFFER_ALIGNMENT=$cobalt_media_buffer_alignment", |
| "COBALT_MEDIA_BUFFER_PADDING=$cobalt_media_buffer_padding", |
| "COBALT_MEDIA_BUFFER_PROGRESSIVE_BUDGET=$cobalt_media_buffer_progressive_budget", |
| "COBALT_MEDIA_BUFFER_NON_VIDEO_BUDGET=$cobalt_media_buffer_non_video_budget", |
| "COBALT_MEDIA_BUFFER_VIDEO_BUDGET_1080P=$cobalt_media_buffer_video_budget_1080p", |
| "COBALT_MEDIA_BUFFER_VIDEO_BUDGET_4K=$cobalt_media_buffer_video_budget_4k", |
| "COBALT_MEDIA_SOURCE_GARBAGE_COLLECTION_DURATION_THRESHOLD_IN_SECONDS=$cobalt_media_source_garbage_collection_duration_threshold_in_seconds", |
| |
| # From common.gypi |
| "USE_OPENSSL=1", |
| ] |
| |
| include_dirs = [ "//" ] |
| |
| if (cobalt_use_media_source_2016) { |
| defines += [ "COBALT_MEDIA_SOURCE_2016=1" ] |
| } else { |
| defines += [ "COBALT_MEDIA_SOURCE_2012=1" ] |
| } |
| |
| if (cobalt_media_buffer_storage_type == "memory") { |
| defines += [ "COBALT_MEDIA_BUFFER_STORAGE_TYPE_MEMORY=1" ] |
| } else { |
| defines += [ "COBALT_MEDIA_BUFFER_STORAGE_TYPE_FILE=1" ] |
| } |
| |
| if (enable_in_app_dial) { |
| defines += [ "DIAL_SERVER" ] |
| } |
| |
| if (!enable_spdy) { |
| defines += [ "COBALT_DISABLE_SPDY" ] |
| } |
| } |
| |
| config("final_executable_target_config") { |
| # XXX: ideally this config would only apply when we are compiling targets |
| # for the target platform. We try to check for that here, however, this check |
| # is ineffective when default_toolchain happens to be the same as |
| # host_toolchain. |
| # Therefore, **targets which should be compiled for the host must remove this |
| # config from their list of configs.** |
| if (current_toolchain == default_toolchain && |
| final_executable_type == "shared_library") { |
| defines = [ |
| # Rewrite main() functions into StarboardMain. TODO: This is a |
| # hack, it would be better to be more surgical, here. |
| "main=StarboardMain", |
| ] |
| |
| cflags = [ |
| # To link into a shared library on Linux and similar platforms, |
| # the compiler must be told to generate Position Independent Code. |
| # This appears to cause errors when linking the code statically, |
| # however. |
| "-fPIC", |
| ] |
| } |
| } |
| |
| config("compiler_defaults_debug") { |
| defines = [ |
| "ALLOCATOR_STATS_TRACKING", |
| "COBALT_BOX_DUMP_ENABLED", |
| "COBALT_BUILD_TYPE_DEBUG", |
| "COBALT_ENABLE_JAVASCRIPT_ERROR_LOGGING", |
| "COBALT_SECURITY_SCREEN_CLEAR_TO_UGLY_COLOR", |
| "_DEBUG", |
| "ENABLE_DEBUG_COMMAND_LINE_SWITCHES", |
| "ENABLE_DEBUG_C_VAL", |
| "ENABLE_DEBUG_CONSOLE", |
| "ENABLE_IGNORE_CERTIFICATE_ERRORS", |
| "ENABLE_PARTIAL_LAYOUT_CONTROL", |
| "ENABLE_TEST_DATA", |
| "ENABLE_TEST_RUNNER", |
| "__LB_SHELL__FORCE_LOGGING__", # TODO: Rename to COBALT_LOGGING_ENABLED. |
| "SK_DEVELOPER", |
| ] |
| } |
| |
| config("compiler_defaults_devel") { |
| defines = [ |
| "_DEBUG", |
| "ALLOCATOR_STATS_TRACKING", |
| "COBALT_BUILD_TYPE_DEVEL", |
| "COBALT_ENABLE_JAVASCRIPT_ERROR_LOGGING", |
| "COBALT_SECURITY_SCREEN_CLEAR_TO_UGLY_COLOR", |
| "ENABLE_DEBUG_COMMAND_LINE_SWITCHES", |
| "ENABLE_DEBUG_C_VAL", |
| "ENABLE_DEBUG_CONSOLE", |
| "ENABLE_IGNORE_CERTIFICATE_ERRORS", |
| "ENABLE_PARTIAL_LAYOUT_CONTROL", |
| "ENABLE_TEST_DATA", |
| "ENABLE_TEST_RUNNER", |
| "__LB_SHELL__FORCE_LOGGING__", |
| "SK_DEVELOPER", |
| ] |
| } |
| |
| config("compiler_defaults_qa") { |
| defines = [ |
| "ALLOCATOR_STATS_TRACKING", |
| "COBALT_BUILD_TYPE_QA", |
| "COBALT_ENABLE_JAVASCRIPT_ERROR_LOGGING", |
| "COBALT_SECURITY_SCREEN_CLEAR_TO_UGLY_COLOR", |
| "ENABLE_DEBUG_COMMAND_LINE_SWITCHES", |
| "ENABLE_DEBUG_C_VAL", |
| "ENABLE_DEBUG_CONSOLE", |
| "ENABLE_IGNORE_CERTIFICATE_ERRORS", |
| "ENABLE_PARTIAL_LAYOUT_CONTROL", |
| "ENABLE_TEST_DATA", |
| "ENABLE_TEST_RUNNER", |
| "NDEBUG", |
| ] |
| } |
| |
| config("compiler_defaults_gold") { |
| defines = [ |
| "ALLOCATOR_STATS_TRACKING", |
| "COBALT_BUILD_TYPE_GOLD", |
| "COBALT_FORCE_CSP", |
| "COBALT_FORCE_HTTPS", |
| "NDEBUG", |
| "TRACING_DISABLED", |
| ] |
| } |
| |
| config("chromium_code") { |
| defines = [ |
| "__STDC_CONSTANT_MACROS", |
| "__STDC_FORMAT_MACROS", |
| ] |
| } |