Files
2020-09-21 15:54:27 -07:00

95 lines
2.6 KiB
Python

################################################################################
# Copyright 2016 Google LLC.
#
# This software is licensed under the terms defined in the Widevine Master
# License Agreement. For a copy of this agreement, please contact
# widevine-licensing@google.com.
################################################################################
# Build file for provisioning 3.0 SDK.
package(
default_visibility = ["//visibility:public"],
)
# Defines the common copts for cc_library targets. The main option here is
# -fvisibility=default, which exports symbols from the public APIs in the shared
# library.
# Note that the shared library should be built with -fvisibility=hidden.
PUBLIC_COPTS = ["-fvisibility=default"]
filegroup(
name = "binary_release_files",
srcs = glob(["*.h"]),
)
cc_binary(
name = "libprovisioning_sdk.so",
linkshared = 1,
deps = [":provisioning_engine"],
)
cc_library(
name = "libprovisioning_sdk",
srcs = [":libprovisioning_sdk.so"],
hdrs = glob(["*.h"]),
deps = [
"//base",
"//common:certificate_type",
"//protos/public:certificate_provisioning_cc_proto",
],
)
cc_library(
name = "provisioning_engine",
srcs = ["provisioning_engine.cc"],
hdrs = ["provisioning_engine.h"],
copts = PUBLIC_COPTS,
deps = [
":provisioning_session",
":provisioning_status",
"//base",
"@abseil_repo//absl/memory",
"//common:certificate_type",
"//common:drm_service_certificate",
"//common:rsa_key",
"//provisioning_sdk/internal:provisioning30_session_impl",
"//provisioning_sdk/internal:provisioning_engine_impl",
"//provisioning_sdk/internal:provisioning_session_impl",
"//protos/public:certificate_provisioning_cc_proto",
],
# Make sure libprovisioning_sdk links in symbols defined in this target.
alwayslink = 1,
)
cc_test(
name = "provisioning_engine_test",
size = "small",
srcs = ["provisioning_engine_test.cc"],
deps = [
":provisioning_engine",
"//testing:gunit_main",
],
)
cc_library(
name = "provisioning_session",
srcs = ["provisioning_session.cc"],
hdrs = ["provisioning_session.h"],
copts = PUBLIC_COPTS,
deps = [
":provisioning_status",
"//base",
"//provisioning_sdk/internal:provisioning_session_impl",
"//protos/public:drm_certificate_cc_proto",
],
)
cc_library(
name = "provisioning_status",
srcs = ["provisioning_status.cc"],
hdrs = ["provisioning_status.h"],
copts = PUBLIC_COPTS,
deps = ["//base"],
)