Source release 16.2.0

This commit is contained in:
John W. Bruce
2020-04-10 16:13:07 -07:00
parent 1ff9f8588a
commit b830b1d1fb
883 changed files with 509706 additions and 143739 deletions

View File

@@ -0,0 +1,117 @@
# Copyright 2020 Google LLC. All Rights Reserved. This file and proprietary
# source code may only be used and distributed under the Widevine Master
# License Agreement.
# This file contains all the variables that Widevine exposes for integration
# partners to customize in their platforms' settings.gypi files. Partners will
# usually need to override some or all of these variables in the 'variables'
# section of their platform's settings.gypi file.
#
# This file is included into multiple GYP files throughout the project. Those
# files may also define their own variables. However, variables defined outside
# this file are *not* intended to be overridden by integration partners. If
# your device requires overriding a variable from outside this file, please let
# Widevine know so that we can evaluate whether it should be included in this
# file or whether there is a better way to achieve what you are trying to
# achieve.
{
'variables': {
# Choose type of OEMCrypto library to compile in. Valid values are:
#
# 'vendor' - Production Level 1 systems should use 'vendor' to indicate that
# they are providing their own OEMCrypto library and the Widevine
# CE CDM build system is not responsible for building anything.
#
# 'ref' - The default value of 'ref' builds the OEMCrypto reference code, in
# order to allow the CE CDM to build without a vendor integration.
# This setting should *NEVER* be used in production systems and is
# for testing purposes only.
#
# 'level3' - Partners who have received a Widevine-generated Level 3 library
# should use 'level3' to indicate that the Widevine CE CDM build
# system should include it in the build.
#
# 'target' - If your vendor OEMCrypto is built using GYP and you would like
# the Widevine CE CDM build system to build it as part of the CE
# CDM build process, you can use 'target' and also set the
# variable 'oemcrypto_gyp_target' below. Most vendors will want
# to use 'vendor', above, instead. This setting exists primarily
# for Google's internal testing.
'oemcrypto_lib%': 'ref',
# You only need to set this value if you set 'oemcrypto_lib' to 'target'
# above.
'oemcrypto_gyp_target%': '',
# Override this to indicate what CPU architecture's assembly-language files
# should be used when building assembly language files. Or, set it to
# "none" to turn off the use of assembly language. The default is "none" for
# compatibility, but we strongly recommend overriding this value to
# improve performance. Turning it off or leaving it turned off is not
# recommended unless your CPU architecture is unsupported or you are using
# a tool that does not play nice with assembly language, like Address
# Sanitizer.
#
# Valid values are:
# * x86
# * x86-64
# * arm
# * arm64
# * ppc64
# * none
'asm_target_arch%': 'none',
# When building on Windows, we have to use the NASM assembler. By default
# we disable assembly on Windows since this is usually not installed. You
# can override it with these variables.
'has_nasm%': 'false',
'nasm_path%': 'nasm.exe',
# Although OEMCrypto is used to perform secure crypto operations, the
# Widevine CE CDM also needs a crypto library to perform non-secure crypto
# operations for Privacy Mode and Provisioning 3.0. By default, the copy
# of BoringSSL in third_party/boringssl/ is compiled statically into the CE
# CDM with hidden linkage. However, by overriding these values, partners can
# choose to use other crypto libraries.
#
# Valid values are:
# * boringssl
# * openssl
# * dummy
#
# If this option is set to 'dummy', the CDM will compile, but Privacy Mode
# and Provisioning 3.0 will always fail.
#
# Some of these libraries can be further configured with the options that
# follow this one.
'privacy_crypto_impl%': 'boringssl',
# BoringSSL Configuration
# These options are only relevant if privacy_crypto_impl is 'boringssl'.
#
# When using BoringSSL, the Widevine CE CDM defaults to the copy of
# BoringSSL in third_party/boringssl/. If you have an alternative BoringSSL
# GYP build, you can override these variables to point to it instead.
'boringssl_libcrypto_path%': '../third_party/boringssl/boringssl.gyp:crypto',
'boringssl_libssl_path%': '../third_party/boringssl/boringssl.gyp:ssl',
# There are three protobuf configurations:
#
# 1) protobuf_config == 'system'
# Use a system-wide installation of protobuf.
# Specify the protobuf library in protobuf_lib.
# Specify the path to protoc in protoc_bin.
#
# 2) protobuf_config == 'target'
# Use an existing protobuf gyp target from your project.
# Specify the protobuf gyp file and target in protobuf_lib_target.
# Specify the protoc gyp file and target in protoc_host_target.
# Specify the path to protoc in protoc_bin.
#
# 3) protobuf_config == 'source' (default)
# Build protobuf and protoc from source.
# Specify the path to the protobuf source in protobuf_source.
'protobuf_config%': 'source',
'protobuf_source%': '../third_party/protobuf',
'protoc_host_target%': 'dummy',
}, # variables
}