// Copyright 2019 Google LLC. All rights reserved. This file and proprietary // source code may only be used and distributed under the Widevine // License Agreement. // ---------------------------------------------------------------- // Builds libwv_odk.a, The ODK Library (libwv_odk) is used by // the CDM and by oemcrypto implementations. // *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE // CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE // DEPENDING ON IT IN YOUR PROJECT. *** package { default_team: "trendy_team_media_framework_drm", // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "vendor_widevine_license" // to get the below license kinds: // legacy_by_exception_only (by exception only) // legacy_proprietary (by exception only) default_applicable_licenses: ["vendor_widevine_license"], } cc_library_static { name: "libwv_odk", include_dirs: [ "vendor/widevine/libwvdrmengine/oemcrypto/include", "vendor/widevine/libwvdrmengine/oemcrypto/odk/include", "vendor/widevine/libwvdrmengine/oemcrypto/odk/src", ], srcs: [ "src/odk.c", "src/odk_message.c", "src/odk_overflow.c", "src/odk_serialize.c", "src/odk_timer.c", "src/odk_util.c", "src/serialization_base.c", ], proprietary: true, owner: "widevine", min_sdk_version: "34", } // ---------------------------------------------------------------- // Builds libwv_kdo.a, The ODK Library companion (libwv_kdo) is used by // the CDM and by oemcrypto tests, but not by oemcrypto implementations. cc_library_static { name: "libwv_kdo", include_dirs: [ "vendor/widevine/libwvdrmengine/oemcrypto/include", "vendor/widevine/libwvdrmengine/oemcrypto/odk/include", "vendor/widevine/libwvdrmengine/oemcrypto/odk/src", ], srcs: [ "src/core_message_deserialize.cpp", "src/core_message_features.cpp", "src/core_message_serialize.cpp", "src/core_message_serialize_proto.cpp", ], static_libs: [ "libcdm_protos", "libwv_odk", ], proprietary: true, owner: "widevine", } // ---------------------------------------------------------------- // Builds odk_test executable, which tests the ODK library. cc_test { name: "odk_test", include_dirs: [ "vendor/widevine/libwvdrmengine/oemcrypto/include", "vendor/widevine/libwvdrmengine/oemcrypto/odk/include", "vendor/widevine/libwvdrmengine/oemcrypto/odk/src", ], // WARNING: Module tags are not supported in Soong. // For native test binaries, use the "cc_test" module type. Some differences: // - If you don't use gtest, set "gtest: false" // - Binaries will be installed into /data/nativetest[64]// // - Both 32 & 64 bit versions will be built (as appropriate) owner: "widevine", proprietary: true, static_libs: [ "libcdm_protos", "libcdm", "libwv_odk", "libwv_kdo", ], shared_libs: [ "libprotobuf-cpp-lite", ], srcs: [ "test/odk_golden_v16.cpp", "test/odk_golden_v17.cpp", "test/odk_golden_v18.cpp", "test/odk_test.cpp", "test/odk_test_helper.cpp", "test/odk_timer_test.cpp", ], }