Files
ce_cdm/platforms/example-runtime-client-info/settings.gypi
John "Juce" Bruce f11df1e144 Source release 17.1.1
2022-11-29 12:54:04 -08:00

123 lines
4.0 KiB
Python

# Copyright 2022 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': {
'oemcrypto_lib': 'target',
'oemcrypto_gyp_path': '../example/oemcrypto.gyp:oemcrypto',
'client_info_source': 'runtime',
'read_client_info_path': 'read_client_info.gyp:read_client_info',
'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++11 standard.
'-std=c++11',
# 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
}