################################################################################ # 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"], )