130 lines
4.2 KiB
Python
130 lines
4.2 KiB
Python
# Copyright 2018 Google LLC. All Rights Reserved. This file and proprietary
|
|
# source code may only be used and distributed under the Widevine License
|
|
# Agreement.
|
|
{
|
|
# Here you can override global gyp variables with platform-specific values.
|
|
# See cdm/platform_properties.gyp for a complete list of settings you can
|
|
# override.
|
|
'variables': {
|
|
'client_company_name': 'KubrickTech',
|
|
'client_model_name': 'HAL 9000',
|
|
'client_model_year': '2001',
|
|
'client_product_name': 'clarke',
|
|
'client_device_name': 'HAL',
|
|
'client_arch_name': 'ARMv7',
|
|
'client_platform': 'Linux',
|
|
'client_form_factor': 'TV',
|
|
'client_version': '1.0.0',
|
|
|
|
'oemcrypto_lib': 'target',
|
|
'oemcrypto_gyp_path': 'oemcrypto.gyp:oemcrypto',
|
|
|
|
'asm_target_arch': 'x86-64',
|
|
}, # end variables
|
|
|
|
# Here you can set platform-specific compiler settings.
|
|
'target_defaults': {
|
|
# These are flags passed to the compiler for all C & C++ files.
|
|
'cflags': [
|
|
'-fPIC',
|
|
'-fvisibility=hidden',
|
|
'-fno-common',
|
|
'-Wno-error',
|
|
# This flag is not supported on GCC, but Widevine strongly encourages
|
|
# using it if you are building with Clang.
|
|
# '-ftrivial-auto-var-init=pattern',
|
|
],
|
|
# These are flags passed to the compiler for plain C only.
|
|
'cflags_c': [
|
|
# Compile using the C11 standard with POSIX extensions
|
|
'-std=c11',
|
|
'-D_POSIX_C_SOURCE=200809L',
|
|
],
|
|
# These are flags passed to the compiler for C++ only.
|
|
'cflags_cc': [
|
|
# Compile using the C++17 standard.
|
|
'-std=c++17',
|
|
# CE CDM does not use exceptions or RTTI.
|
|
'-fno-exceptions',
|
|
'-fno-rtti',
|
|
],
|
|
# These are flags passed to the linker.
|
|
'ldflags': [
|
|
#'-static-libstdc++',
|
|
],
|
|
# These are macros set by the compiler.
|
|
'defines': [
|
|
#'EXAMPLE_MACRO_WITH_NO_VALUE',
|
|
#'EXAMPLE_KEY=EXAMPLE_VALUE',
|
|
],
|
|
# These are additional include paths to search for headers.
|
|
'include_dirs': [
|
|
#'/toolchain/include',
|
|
],
|
|
'target_conditions': [
|
|
# Most of the build output is compiled for the target device, but the
|
|
# build may also sometimes compile files for the host device. For
|
|
# instance, if you compile Protobuf from source, the "protoc" compiler
|
|
# will be compiled for your host machine and used as part of the build
|
|
# process.
|
|
#
|
|
# These conditional blocks let you set compiler flags and other settings
|
|
# that should only apply on the target or host platforms.
|
|
['_toolset == "target"', {
|
|
# These are additional settings specifically for the target toolchain.
|
|
'cflags': [],
|
|
'cflags_c': [],
|
|
'cflags_cc': [],
|
|
'ldflags': [],
|
|
'defines': [],
|
|
'include_dirs': [],
|
|
}], # end _toolset == "target"
|
|
['_toolset == "host"', {
|
|
# These are additional settings specifically for the host toolchain.
|
|
'cflags': [],
|
|
'cflags_c': [],
|
|
'cflags_cc': [],
|
|
'ldflags': [],
|
|
'defines': [],
|
|
'include_dirs': [],
|
|
}], # end _toolset == "host"
|
|
], # end target_conditions
|
|
|
|
'configurations': {
|
|
# These are additional settings per build configuration.
|
|
# You may specify any of the keys above in this section
|
|
# (cflags, cflags_c, cflags_cc, ldflags, defines, include_dirs).
|
|
#
|
|
# You are also not limited to the names "debug" and "release". You may use
|
|
# any names you like. The configuration will be used if you pass its name
|
|
# to build.py's "--config" or "-c" flag. However, "debug" and "release"
|
|
# have convenient shorthand flags. ("--debug"/"-d" and "--release"/"-r")
|
|
'debug': {
|
|
'cflags': [
|
|
'-g3',
|
|
'-Og',
|
|
],
|
|
'defines': [
|
|
# Widevine strongly recommends defining _DEBUG on debug builds
|
|
'_DEBUG',
|
|
'_GLIBCXX_DEBUG',
|
|
],
|
|
},
|
|
'release': {
|
|
'cflags': [
|
|
'-O2',
|
|
'-g0',
|
|
],
|
|
'defines': [
|
|
# Widevine strongly recommends defining NDEBUG on release builds
|
|
'NDEBUG',
|
|
],
|
|
'ldflags': [
|
|
'-flto',
|
|
'-s',
|
|
],
|
|
},
|
|
}, # end configurations
|
|
}, # end target_defaults
|
|
}
|