From 23398a8d7c58a9685aa8404f19fae4d290ae9aac Mon Sep 17 00:00:00 2001 From: Jeff Tinker Date: Wed, 24 May 2017 21:16:53 +0000 Subject: [PATCH] Revert "Convert libwvdrmengine to soong." This change introduced b/38487636 "Distorted video observed when playing purchased/rented movie in Google play movies & TV app." Before resubmitting an updated variant of the original CL, please test playback with Play Movies and the GTS media tests. This reverts commit 33f9979b2bfc709b14519d3629a91eb23b315307. Change-Id: I4ec2e6fe81323e91e4b62288755c967999e81041 --- libwvdrmengine/Android.bp | 136 ---------- libwvdrmengine/Android.mk | 239 ++++++++++++++++++ libwvdrmengine/cdm/Android.bp | 83 ------ libwvdrmengine/cdm/Android.mk | 50 ++++ libwvdrmengine/cdm/core/Android.bp | 38 --- libwvdrmengine/cdm/core/src/Android.bp | 27 -- libwvdrmengine/level3/Android.bp | 48 ---- libwvdrmengine/level3/Android.mk | 2 + libwvdrmengine/level3/arm/Android.mk | 11 + libwvdrmengine/level3/arm64/Android.mk | 11 + libwvdrmengine/level3/mips/Android.mk | 18 ++ libwvdrmengine/level3/x86/Android.mk | 11 + libwvdrmengine/level3/x86_64/Android.mk | 11 + libwvdrmengine/mediacrypto/Android.bp | 55 ---- libwvdrmengine/mediacrypto/Android.mk | 63 +++++ libwvdrmengine/mediacrypto/test/Android.bp | 75 ------ libwvdrmengine/mediacrypto/test/Android.mk | 120 +++++++++ libwvdrmengine/mediadrm/Android.bp | 60 ----- libwvdrmengine/mediadrm/Android.mk | 59 +++++ libwvdrmengine/mediadrm/test/Android.bp | 73 ------ libwvdrmengine/mediadrm/test/Android.mk | 121 +++++++++ libwvdrmengine/oemcrypto/Android.bp | 20 -- libwvdrmengine/test/unit/Android.bp | 64 ----- libwvdrmengine/test/unit/Android.mk | 91 +++++++ .../third_party/stringencoders/Android.bp | 26 -- libwvdrmengine/vts/vendor_module/Android.bp | 37 --- libwvdrmengine/vts/vendor_module/Android.mk | 40 +++ tests/Android.mk | 3 + 28 files changed, 850 insertions(+), 742 deletions(-) delete mode 100644 libwvdrmengine/Android.bp create mode 100644 libwvdrmengine/Android.mk delete mode 100644 libwvdrmengine/cdm/Android.bp create mode 100644 libwvdrmengine/cdm/Android.mk delete mode 100644 libwvdrmengine/cdm/core/Android.bp delete mode 100644 libwvdrmengine/cdm/core/src/Android.bp delete mode 100644 libwvdrmengine/level3/Android.bp create mode 100644 libwvdrmengine/level3/Android.mk create mode 100644 libwvdrmengine/level3/arm/Android.mk create mode 100644 libwvdrmengine/level3/arm64/Android.mk create mode 100644 libwvdrmengine/level3/mips/Android.mk create mode 100644 libwvdrmengine/level3/x86/Android.mk create mode 100644 libwvdrmengine/level3/x86_64/Android.mk delete mode 100644 libwvdrmengine/mediacrypto/Android.bp create mode 100644 libwvdrmengine/mediacrypto/Android.mk delete mode 100644 libwvdrmengine/mediacrypto/test/Android.bp create mode 100644 libwvdrmengine/mediacrypto/test/Android.mk delete mode 100644 libwvdrmengine/mediadrm/Android.bp create mode 100644 libwvdrmengine/mediadrm/Android.mk delete mode 100644 libwvdrmengine/mediadrm/test/Android.bp create mode 100644 libwvdrmengine/mediadrm/test/Android.mk delete mode 100644 libwvdrmengine/oemcrypto/Android.bp delete mode 100644 libwvdrmengine/test/unit/Android.bp create mode 100644 libwvdrmengine/test/unit/Android.mk delete mode 100644 libwvdrmengine/third_party/stringencoders/Android.bp delete mode 100644 libwvdrmengine/vts/vendor_module/Android.bp create mode 100644 libwvdrmengine/vts/vendor_module/Android.mk diff --git a/libwvdrmengine/Android.bp b/libwvdrmengine/Android.bp deleted file mode 100644 index 53313559..00000000 --- a/libwvdrmengine/Android.bp +++ /dev/null @@ -1,136 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_binary { - name: "android.hardware.drm@1.0-service.widevine", - proprietary: true, - owner: "widevine", - relative_install_path: "hw", - srcs: ["src_hidl/service.cpp"], - init_rc: ["src_hidl/android.hardware.drm@1.0-service.widevine.rc"], - static_libs: [ - "libwvdrmdrmplugin", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], - shared_libs: [ - "android.hardware.drm@1.0", - "libbase", - "libbinder", - "libhidltransport", - "liblog", - "libutils", - "libwvhidl", - ], -} - -cc_library_shared { - name: "libwvdrmengine", - relative_install_path: "mediadrm", - owner: "widevine", - proprietary: true, - srcs: [ - "src/WVCDMSingleton.cpp", - "src/WVCreatePluginFactories.cpp", - "src/WVCryptoFactory.cpp", - "src/WVDrmFactory.cpp", - "src/WVUUID.cpp", - ], - export_include_dirs: ["include"], - static_libs: [ - "libcdm", - "libcdm_protos", - "libcdm_utils", - "libcrypto_static", - "libjsmn", - "libwvdrmcryptoplugin", - "libwvdrmdrmplugin", - "libwvlevel3", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], - shared_libs: [ - "libcutils", - "liblog", - "libprotobuf-cpp-lite", - "libstagefright_foundation", - "libutils", - ], -} - -cc_library_static { - name: "libwidevinehidl_utils", - srcs: ["src_hidl/TypeConvert.cpp"], - export_include_dirs: ["include_hidl"], - shared_libs: ["android.hardware.drm@1.0"], -} - -cc_library_shared { - name: "libwvhidl", - owner: "widevine", - proprietary: true, - srcs: [ - "src/WVCDMSingleton.cpp", - "src/WVUUID.cpp", - "src_hidl/WVCreatePluginFactories.cpp", - "src_hidl/WVCryptoFactory.cpp", - "src_hidl/WVDrmFactory.cpp", - ], - include_dirs: [ - "vendor/widevine/libwvdrmengine/include", - ], - export_include_dirs: ["include_hidl"], - static_libs: [ - "libcdm", - "libcdm_protos", - "libcdm_utils", - "libcrypto_static", - "libjsmn", - "libwvdrmcryptoplugin_hidl", - "libwvdrmdrmplugin_hidl", - "libwvlevel3", - ], - whole_static_libs: [ - "libwidevinehidl_utils", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], - shared_libs: [ - "android.hardware.drm@1.0", - "android.hidl.memory@1.0", - "libcutils", - "libhidlbase", - "libhidlmemory", - "libhidltransport", - "liblog", - "libprotobuf-cpp-lite", - "libutils", - ], -} - -subdirs = [ - "cdm", - "level3", - "mediacrypto", - "mediadrm", - "oemcrypto", - "test/unit", - "third_party/stringencoders", - "vts/vendor_module", -] diff --git a/libwvdrmengine/Android.mk b/libwvdrmengine/Android.mk new file mode 100644 index 00000000..f689ec44 --- /dev/null +++ b/libwvdrmengine/Android.mk @@ -0,0 +1,239 @@ +# ----------------------------------------------------------------------------- +# CDM top level makefile +# +LOCAL_PATH := $(call my-dir) + +# ----------------------------------------------------------------------------- +# Builds android.hardware.drm@1.0-service.widevine +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := src_hidl/service.cpp + +LOCAL_C_INCLUDES := \ + vendor/widevine/libwvdrmengine/include_hidl \ + vendor/widevine/libwvdrmengine/mediadrm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_SHARED_LIBRARIES := \ + android.hardware.drm@1.0 \ + libbase \ + libhidltransport \ + libhwbinder \ + liblog \ + libutils \ + libwvhidl \ + libbinder \ + +LOCAL_MODULE := android.hardware.drm@1.0-service.widevine +LOCAL_INIT_RC := src_hidl/android.hardware.drm@1.0-service.widevine.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/bin/hw +LOCAL_PROPRIETARY_MODULE := true +LOCAL_MODULE_OWNER := widevine + +ifneq ($(TARGET_ENABLE_MEDIADRM_64), true) +LOCAL_MODULE_TARGET_ARCH := arm x86 mips +endif + +include $(BUILD_EXECUTABLE) + +# ----------------------------------------------------------------------------- +# Builds libcdm_utils.a +# +include $(CLEAR_VARS) + +LOCAL_MODULE := libcdm_utils +LOCAL_MODULE_CLASS := STATIC_LIBRARIES + +LOCAL_STATIC_LIBRARIES := libcrypto_static + +LOCAL_C_INCLUDES := \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + vendor/widevine/libwvdrmengine/third_party/stringencoders/src + +SRC_DIR := cdm/src +CORE_SRC_DIR := cdm/core/src +LOCAL_SRC_FILES := \ + third_party/stringencoders/src/modp_b64.cpp \ + third_party/stringencoders/src/modp_b64w.cpp \ + $(CORE_SRC_DIR)/properties.cpp \ + $(CORE_SRC_DIR)/string_conversions.cpp \ + $(SRC_DIR)/clock.cpp \ + $(SRC_DIR)/file_store.cpp \ + $(SRC_DIR)/file_utils.cpp \ + $(SRC_DIR)/lock.cpp \ + $(SRC_DIR)/log.cpp \ + $(SRC_DIR)/properties_android.cpp \ + $(SRC_DIR)/timer.cpp \ + +include $(BUILD_STATIC_LIBRARY) + +# ----------------------------------------------------------------------------- +# Builds libcdm_protos.a +# Generates *.a, *.pb.h and *.pb.cc for *.proto files. +# +include $(CLEAR_VARS) + +LOCAL_MODULE := libcdm_protos +LOCAL_MODULE_CLASS := STATIC_LIBRARIES + +LOCAL_SRC_FILES := $(call all-proto-files-under, cdm/core/src) + +generated_sources_dir := $(call local-generated-sources-dir) + +# $(generated_sources_dir)/proto/$(LOCAL_PATH)/cdm/core/src is used +# to locate *.pb.h by cdm source +# $(generated_sources_dir)/proto is used to locate *.pb.h included +# by *.pb.cc +# The module that depends on this library will have LOCAL_C_INCLUDES prepended +# with this path. +LOCAL_EXPORT_C_INCLUDE_DIRS := \ + $(generated_sources_dir)/proto \ + $(generated_sources_dir)/proto/$(LOCAL_PATH)/cdm/core/src + +include $(BUILD_STATIC_LIBRARY) + +# ----------------------------------------------------------------------------- +# Builds libwidevinehidl_utils.a +# +include $(CLEAR_VARS) + +LOCAL_MODULE := libwidevinehidl_utils + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES + +LOCAL_C_INCLUDES := \ + vendor/widevine/libwvdrmengine/include_hidl + +LOCAL_SRC_FILES := \ + src_hidl/TypeConvert.cpp + +LOCAL_SHARED_LIBRARIES := \ + android.hardware.drm@1.0 + +include $(BUILD_STATIC_LIBRARY) + +# ----------------------------------------------------------------------------- +# Builds libwvdrmengine.so +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + src/WVCDMSingleton.cpp \ + src/WVCreatePluginFactories.cpp \ + src/WVCryptoFactory.cpp \ + src/WVDrmFactory.cpp \ + src/WVUUID.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/metrics/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/include \ + vendor/widevine/libwvdrmengine/mediacrypto/include \ + vendor/widevine/libwvdrmengine/mediadrm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_STATIC_LIBRARIES := \ + libcdm \ + libcdm_protos \ + libcdm_utils \ + libcrypto_static \ + libjsmn \ + libwvdrmcryptoplugin \ + libwvdrmdrmplugin \ + libwvlevel3 \ + +LOCAL_SHARED_LIBRARIES := \ + libcutils \ + libdl \ + liblog \ + libprotobuf-cpp-lite \ + libstagefright_foundation \ + libutils \ + +LOCAL_MODULE := libwvdrmengine + +LOCAL_MODULE_RELATIVE_PATH := mediadrm + +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_OWNER := widevine + +LOCAL_PROPRIETARY_MODULE := true + +include $(BUILD_SHARED_LIBRARY) + +# ----------------------------------------------------------------------------- +# Builds libwvhidl.so +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + src/WVCDMSingleton.cpp \ + src/WVUUID.cpp \ + src_hidl/WVCreatePluginFactories.cpp \ + src_hidl/WVCryptoFactory.cpp \ + src_hidl/WVDrmFactory.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/metrics/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/include_hidl \ + vendor/widevine/libwvdrmengine/include \ + vendor/widevine/libwvdrmengine/mediacrypto/include_hidl \ + vendor/widevine/libwvdrmengine/mediacrypto/include \ + vendor/widevine/libwvdrmengine/mediadrm/include_hidl \ + vendor/widevine/libwvdrmengine/mediadrm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_STATIC_LIBRARIES := \ + libcdm \ + libcdm_protos \ + libcdm_utils \ + libcrypto_static \ + libjsmn \ + libwvdrmcryptoplugin_hidl \ + libwvdrmdrmplugin_hidl \ + libwvlevel3 \ + +# When the GNU linker sees a library, it discards all symbols that it doesn't +# need. libwidevinehidl_utils must come after both libwvdrmcryptoplugin and +# libwvdrmdrmplugin. +LOCAL_STATIC_LIBRARIES += libwidevinehidl_utils + +LOCAL_SHARED_LIBRARIES := \ + android.hardware.drm@1.0 \ + android.hidl.memory@1.0 \ + libcutils \ + libdl \ + libhidlbase \ + libhidlmemory \ + libhidltransport \ + libhwbinder \ + liblog \ + libprotobuf-cpp-lite \ + libutils \ + +LOCAL_MODULE := libwvhidl + +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_OWNER := widevine + +LOCAL_PROPRIETARY_MODULE := true + +include $(BUILD_SHARED_LIBRARY) + +include vendor/widevine/libwvdrmengine/cdm/Android.mk +include vendor/widevine/libwvdrmengine/level3/Android.mk +include vendor/widevine/libwvdrmengine/mediacrypto/Android.mk +include vendor/widevine/libwvdrmengine/mediadrm/Android.mk +include vendor/widevine/libwvdrmengine/vts/vendor_module/Android.mk diff --git a/libwvdrmengine/cdm/Android.bp b/libwvdrmengine/cdm/Android.bp deleted file mode 100644 index d58c6496..00000000 --- a/libwvdrmengine/cdm/Android.bp +++ /dev/null @@ -1,83 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_library_static { - name: "libcdm", - srcs: [ - "core/src/buffer_reader.cpp", - "core/src/cdm_engine.cpp", - "core/src/cdm_session.cpp", - "core/src/certificate_provisioning.cpp", - "core/src/crypto_session.cpp", - "core/src/device_files.cpp", - "core/src/initialization_data.cpp", - "core/src/license.cpp", - "core/src/license_key_status.cpp", - "core/src/oemcrypto_adapter_dynamic.cpp", - "core/src/policy_engine.cpp", - "core/src/privacy_crypto_openssl.cpp", - "core/src/service_certificate.cpp", - "core/src/usage_table_header.cpp", - "metrics/src/distribution.cpp", - "metrics/src/event_metric.cpp", - "metrics/src/metrics_front_end.cpp", - "metrics/src/metrics_group.cpp", - "metrics/src/timer_metric.cpp", - "src/wv_content_decryption_module.cpp", - ], - export_include_dirs: [ - "core/include", - "include", - "metrics/include", - ], - static_libs: [ - "libcdm_protos", - "libcrypto_static", - "libjsmn", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], -} - -cc_library_static { - name: "libcdm_utils", - srcs: [ - "core/src/properties.cpp", - "core/src/string_conversions.cpp", - "src/clock.cpp", - "src/file_store.cpp", - "src/file_utils.cpp", - "src/lock.cpp", - "src/log.cpp", - "src/properties_android.cpp", - "src/timer.cpp", - ], - static_libs: [ - "libcdm", - "libcrypto_static", - ], - whole_static_libs: [ - "libstringencoders" - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], -} - -subdirs = [ - "core", -] diff --git a/libwvdrmengine/cdm/Android.mk b/libwvdrmengine/cdm/Android.mk new file mode 100644 index 00000000..bf02ae64 --- /dev/null +++ b/libwvdrmengine/cdm/Android.mk @@ -0,0 +1,50 @@ +# ---------------------------------------------------------------- +# Builds libcdm.a +# +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_C_INCLUDES := \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/metrics/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + vendor/widevine/libwvdrmengine/third_party/stringencoders/src + +LOCAL_C_INCLUDES += \ + external/jsmn \ + external/protobuf/src \ + +LOCAL_STATIC_LIBRARIES := libcdm_protos libcrypto_static + +SRC_DIR := src +CORE_SRC_DIR := core/src +METRICS_SRC_DIR := metrics/src + +LOCAL_SRC_FILES := \ + $(CORE_SRC_DIR)/buffer_reader.cpp \ + $(CORE_SRC_DIR)/cdm_engine.cpp \ + $(CORE_SRC_DIR)/cdm_session.cpp \ + $(CORE_SRC_DIR)/certificate_provisioning.cpp \ + $(CORE_SRC_DIR)/crypto_session.cpp \ + $(CORE_SRC_DIR)/device_files.cpp \ + $(CORE_SRC_DIR)/initialization_data.cpp \ + $(CORE_SRC_DIR)/license.cpp \ + $(CORE_SRC_DIR)/license_key_status.cpp \ + $(CORE_SRC_DIR)/oemcrypto_adapter_dynamic.cpp \ + $(CORE_SRC_DIR)/policy_engine.cpp \ + $(CORE_SRC_DIR)/privacy_crypto_openssl.cpp \ + $(CORE_SRC_DIR)/service_certificate.cpp \ + $(CORE_SRC_DIR)/usage_table_header.cpp \ + $(SRC_DIR)/wv_content_decryption_module.cpp \ + $(METRICS_SRC_DIR)/distribution.cpp \ + $(METRICS_SRC_DIR)/event_metric.cpp \ + $(METRICS_SRC_DIR)/metrics_front_end.cpp \ + $(METRICS_SRC_DIR)/metrics_group.cpp \ + $(METRICS_SRC_DIR)/timer_metric.cpp \ + + +LOCAL_MODULE := libcdm +LOCAL_MODULE_TAGS := optional + +include $(BUILD_STATIC_LIBRARY) diff --git a/libwvdrmengine/cdm/core/Android.bp b/libwvdrmengine/cdm/core/Android.bp deleted file mode 100644 index 35236be3..00000000 --- a/libwvdrmengine/cdm/core/Android.bp +++ /dev/null @@ -1,38 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_library_static { - name: "libvtswidevine_helpers", - srcs: [ - "test/http_socket.cpp", - "test/license_request.cpp", - "test/url_request.cpp", - ], - export_include_dirs: [ - "test", - ], - static_libs: [ - "libcdm", - "libgtest", - ], - whole_static_libs: [ - "libcrypto_static", - ], -} - -subdirs = [ - "src", -] diff --git a/libwvdrmengine/cdm/core/src/Android.bp b/libwvdrmengine/cdm/core/src/Android.bp deleted file mode 100644 index 66d23fb0..00000000 --- a/libwvdrmengine/cdm/core/src/Android.bp +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_library_static { - name: "libcdm_protos", - srcs: [ - "device_files.proto", - "license_protocol.proto", - ], - proto: { - type: "lite", - export_proto_headers: true, - }, -} diff --git a/libwvdrmengine/level3/Android.bp b/libwvdrmengine/level3/Android.bp deleted file mode 100644 index 769e1d86..00000000 --- a/libwvdrmengine/level3/Android.bp +++ /dev/null @@ -1,48 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_prebuilt_library_static { - name: "libwvlevel3", - proprietary: true, - owner: "widevine", - prefer: true, - target: { - android_arm: { - srcs: ["arm/libwvlevel3.a"], - }, - android_arm64: { - srcs: ["arm64/libwvlevel3.a"], - }, - android_x86: { - srcs: ["x86/libwvlevel3.a"], - }, - android_x86_64: { - srcs: ["x86_64/libwvlevel3.a"], - }, - }, -} - -cc_library_static { - name: "libwvlevel3", - proprietary: true, - owner: "widevine", - target: { - android_mips: { - srcs: ["mips/level3_stubs.cpp"], - header_libs: ["liboemcrypto_libwvdrmengine_local"], - }, - }, -} diff --git a/libwvdrmengine/level3/Android.mk b/libwvdrmengine/level3/Android.mk new file mode 100644 index 00000000..83384322 --- /dev/null +++ b/libwvdrmengine/level3/Android.mk @@ -0,0 +1,2 @@ +include $(call all-subdir-makefiles) + diff --git a/libwvdrmengine/level3/arm/Android.mk b/libwvdrmengine/level3/arm/Android.mk new file mode 100644 index 00000000..d8176fcc --- /dev/null +++ b/libwvdrmengine/level3/arm/Android.mk @@ -0,0 +1,11 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) +LOCAL_MODULE := libwvlevel3 +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE_SUFFIX := .a +LOCAL_SRC_FILES := $(LOCAL_MODULE)$(LOCAL_MODULE_SUFFIX) +LOCAL_PROPRIETARY_MODULE := true +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_OWNER := widevine +LOCAL_MODULE_TARGET_ARCH := arm +include $(BUILD_PREBUILT) diff --git a/libwvdrmengine/level3/arm64/Android.mk b/libwvdrmengine/level3/arm64/Android.mk new file mode 100644 index 00000000..ccc4a207 --- /dev/null +++ b/libwvdrmengine/level3/arm64/Android.mk @@ -0,0 +1,11 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) +LOCAL_MODULE := libwvlevel3 +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE_SUFFIX := .a +LOCAL_SRC_FILES := $(LOCAL_MODULE)$(LOCAL_MODULE_SUFFIX) +LOCAL_PROPRIETARY_MODULE := true +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_OWNER := widevine +LOCAL_MODULE_TARGET_ARCH := arm64 +include $(BUILD_PREBUILT) diff --git a/libwvdrmengine/level3/mips/Android.mk b/libwvdrmengine/level3/mips/Android.mk new file mode 100644 index 00000000..bd3d481c --- /dev/null +++ b/libwvdrmengine/level3/mips/Android.mk @@ -0,0 +1,18 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) +LOCAL_MODULE := libwvlevel3 +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE_SUFFIX := .a +LOCAL_SRC_FILES := level3_stubs.cpp + +LOCAL_C_INCLUDES := \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + vendor/widevine/libwvdrmengine/third_party/stringencoders/src + +LOCAL_PROPRIETARY_MODULE := true +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_OWNER := widevine +LOCAL_MODULE_TARGET_ARCH := mips mips64 +include $(BUILD_STATIC_LIBRARY) diff --git a/libwvdrmengine/level3/x86/Android.mk b/libwvdrmengine/level3/x86/Android.mk new file mode 100644 index 00000000..37d3830c --- /dev/null +++ b/libwvdrmengine/level3/x86/Android.mk @@ -0,0 +1,11 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) +LOCAL_MODULE := libwvlevel3 +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE_SUFFIX := .a +LOCAL_SRC_FILES := $(LOCAL_MODULE)$(LOCAL_MODULE_SUFFIX) +LOCAL_PROPRIETARY_MODULE := true +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_OWNER := widevine +LOCAL_MODULE_TARGET_ARCH := x86 +include $(BUILD_PREBUILT) diff --git a/libwvdrmengine/level3/x86_64/Android.mk b/libwvdrmengine/level3/x86_64/Android.mk new file mode 100644 index 00000000..28b7c273 --- /dev/null +++ b/libwvdrmengine/level3/x86_64/Android.mk @@ -0,0 +1,11 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) +LOCAL_MODULE := libwvlevel3 +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE_SUFFIX := .a +LOCAL_SRC_FILES := $(LOCAL_MODULE)$(LOCAL_MODULE_SUFFIX) +LOCAL_PROPRIETARY_MODULE := true +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_OWNER := widevine +LOCAL_MODULE_TARGET_ARCH := x86_64 +include $(BUILD_PREBUILT) diff --git a/libwvdrmengine/mediacrypto/Android.bp b/libwvdrmengine/mediacrypto/Android.bp deleted file mode 100644 index 031c72f4..00000000 --- a/libwvdrmengine/mediacrypto/Android.bp +++ /dev/null @@ -1,55 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_library_static { - name: "libwvdrmcryptoplugin", - srcs: ["src/WVCryptoPlugin.cpp"], - include_dirs: [ - "vendor/widevine/libwvdrmengine/include", - ], - export_include_dirs: ["include"], - static_libs: [ - "libcdm", - "libcrypto_static", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], -} - -cc_library_static { - name: "libwvdrmcryptoplugin_hidl", - srcs: ["src_hidl/WVCryptoPlugin.cpp"], - export_include_dirs: ["include_hidl"], - static_libs: [ - "libcdm", - "libcrypto_static", - "libwidevinehidl_utils", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], - shared_libs: [ - "android.hardware.drm@1.0", - "android.hidl.memory@1.0", - "libhidlmemory", - "libwvdrmengine", - ], -} - -subdirs = [ - "test", -] diff --git a/libwvdrmengine/mediacrypto/Android.mk b/libwvdrmengine/mediacrypto/Android.mk new file mode 100644 index 00000000..beb6c889 --- /dev/null +++ b/libwvdrmengine/mediacrypto/Android.mk @@ -0,0 +1,63 @@ +LOCAL_PATH := $(call my-dir) + +# ----------------------------------------------------------------------------- +# Builds libwvdrmcryptoplugin +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + src/WVCryptoPlugin.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/cdm/metrics/include \ + vendor/widevine/libwvdrmengine/include \ + vendor/widevine/libwvdrmengine/mediacrypto/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_STATIC_LIBRARIES := \ + libcrypto_static \ + +LOCAL_MODULE := libwvdrmcryptoplugin + +LOCAL_MODULE_TAGS := optional + +include $(BUILD_STATIC_LIBRARY) + +# ----------------------------------------------------------------------------- +# Builds libwvdrmcryptoplugin_hidl +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + src_hidl/WVCryptoPlugin.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/cdm/metrics/include \ + vendor/widevine/libwvdrmengine/include_hidl \ + vendor/widevine/libwvdrmengine/include \ + vendor/widevine/libwvdrmengine/mediacrypto/include_hidl \ + vendor/widevine/libwvdrmengine/mediacrypto/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_STATIC_LIBRARIES := \ + libcrypto_static \ + libwidevinehidl_utils \ + +LOCAL_SHARED_LIBRARIES := \ + android.hardware.drm@1.0 \ + android.hidl.memory@1.0 \ + libhidlmemory \ + +LOCAL_MODULE := libwvdrmcryptoplugin_hidl + +LOCAL_MODULE_TAGS := optional + +include $(BUILD_STATIC_LIBRARY) diff --git a/libwvdrmengine/mediacrypto/test/Android.bp b/libwvdrmengine/mediacrypto/test/Android.bp deleted file mode 100644 index 206e52cf..00000000 --- a/libwvdrmengine/mediacrypto/test/Android.bp +++ /dev/null @@ -1,75 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_test { - name: "libwvdrmmediacrypto_test", - owner: "widevine", - proprietary: true, - srcs: ["legacy_src/WVCryptoPlugin_test.cpp"], - static_libs: [ - "libcdm", - "libcdm_protos", - "libcdm_utils", - "libcrypto_static", - "libgmock", - "libjsmn", - "libwvdrmcryptoplugin", - "libwvlevel3", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], - shared_libs: [ - "libcutils", - "liblog", - "libprotobuf-cpp-lite", - "libstagefright_foundation", - "libutils", - ], -} - -cc_test { - name: "libwvdrmmediacrypto_hidl_test", - owner: "widevine", - proprietary: true, - srcs: ["WVCryptoPlugin_test.cpp"], - static_libs: [ - "libcdm", - "libcdm_protos", - "libcdm_utils", - "libcrypto_static", - "libgmock", - "libwidevinehidl_utils", - "libwvdrmcryptoplugin_hidl", - "libwvlevel3", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], - shared_libs: [ - "android.hardware.drm@1.0", - "android.hidl.memory@1.0", - "libbinder", - "libcutils", - "libhidlbase", - "libhidlmemory", - "libhidltransport", - "liblog", - "libprotobuf-cpp-lite", - "libutils", - "libwvhidl", - ], -} diff --git a/libwvdrmengine/mediacrypto/test/Android.mk b/libwvdrmengine/mediacrypto/test/Android.mk new file mode 100644 index 00000000..05ccf808 --- /dev/null +++ b/libwvdrmengine/mediacrypto/test/Android.mk @@ -0,0 +1,120 @@ +LOCAL_PATH := $(call my-dir) + +# ----------------------------------------------------------------------------- +# Builds libwvdrmmediacrypto_test +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + legacy_src/WVCryptoPlugin_test.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/cdm/metrics/include \ + vendor/widevine/libwvdrmengine/mediacrypto/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_STATIC_LIBRARIES := \ + libcdm \ + libcdm_protos \ + libcdm_utils \ + libcrypto_static \ + libjsmn \ + libgmock \ + libgmock_main \ + libgtest \ + libwvlevel3 \ + libwvdrmcryptoplugin \ + +LOCAL_SHARED_LIBRARIES := \ + libcutils \ + libdl \ + liblog \ + libprotobuf-cpp-lite \ + libstagefright_foundation \ + libutils \ + +LOCAL_C_INCLUDES += \ + external/protobuf/src \ + +LOCAL_MODULE := libwvdrmmediacrypto_test + +LOCAL_MODULE_TAGS := tests + +LOCAL_MODULE_OWNER := widevine + +LOCAL_PROPRIETARY_MODULE := true + +ifneq ($(TARGET_ENABLE_MEDIADRM_64), true) +LOCAL_MODULE_TARGET_ARCH := arm x86 mips +endif + +include $(BUILD_EXECUTABLE) + +# ----------------------------------------------------------------------------- +# Builds libwvdrmmediacrypto_hidl_test +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + WVCryptoPlugin_test.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/cdm/metrics/include \ + vendor/widevine/libwvdrmengine/include_hidl \ + vendor/widevine/libwvdrmengine/mediacrypto/include_hidl \ + vendor/widevine/libwvdrmengine/mediacrypto/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_STATIC_LIBRARIES := \ + libcdm \ + libcdm_protos \ + libcdm_utils \ + libcrypto_static \ + libjsmn \ + libgmock \ + libgmock_main \ + libgtest \ + libwvlevel3 \ + libwvdrmcryptoplugin_hidl \ + +# When the GNU linker sees a library, it discards all symbols that it doesn't +# need. libwidevinehidl_utils must come after libwvdrmcryptoplugin. +LOCAL_STATIC_LIBRARIES += libwidevinehidl_utils + +LOCAL_SHARED_LIBRARIES := \ + android.hardware.drm@1.0 \ + android.hidl.memory@1.0 \ + libbinder \ + libcutils \ + libdl \ + libhidlbase \ + libhidlmemory \ + libhidltransport \ + liblog \ + libprotobuf-cpp-lite \ + libutils \ + +LOCAL_C_INCLUDES += \ + external/protobuf/src \ + +LOCAL_MODULE := libwvdrmmediacrypto_hidl_test + +LOCAL_MODULE_TAGS := tests + +LOCAL_MODULE_OWNER := widevine + +LOCAL_PROPRIETARY_MODULE := true + +ifneq ($(TARGET_ENABLE_MEDIADRM_64), true) +LOCAL_MODULE_TARGET_ARCH := arm x86 mips +endif + +include $(BUILD_EXECUTABLE) diff --git a/libwvdrmengine/mediadrm/Android.bp b/libwvdrmengine/mediadrm/Android.bp deleted file mode 100644 index f0097558..00000000 --- a/libwvdrmengine/mediadrm/Android.bp +++ /dev/null @@ -1,60 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_library_static { - name: "libwvdrmdrmplugin", - srcs: [ - "src/WVDrmPlugin.cpp", - "src/WVGenericCryptoInterface.cpp", - ], - include_dirs: [ - "vendor/widevine/libwvdrmengine/include", - ], - export_include_dirs: ["include"], - static_libs: [ - "libcdm", - "libcrypto_static", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], -} - -cc_library_static { - name: "libwvdrmdrmplugin_hidl", - srcs: [ - "src_hidl/WVDrmPlugin.cpp", - "src_hidl/WVGenericCryptoInterface.cpp", - ], - include_dirs: [ - "vendor/widevine/libwvdrmengine/include_hidl", - ], - export_include_dirs: ["include_hidl"], - static_libs: [ - "libcdm", - "libcrypto_static", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], - shared_libs: [ - "android.hardware.drm@1.0", - "android.hidl.memory@1.0", - "libwvdrmengine", - ], -} - -subdirs = ["test"] diff --git a/libwvdrmengine/mediadrm/Android.mk b/libwvdrmengine/mediadrm/Android.mk new file mode 100644 index 00000000..32372c5e --- /dev/null +++ b/libwvdrmengine/mediadrm/Android.mk @@ -0,0 +1,59 @@ +LOCAL_PATH := $(call my-dir) + +# ----------------------------------------------------------------------------- +# Builds libwvdrmdrmplugin +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + src/WVDrmPlugin.cpp \ + src/WVGenericCryptoInterface.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/cdm/metrics/include \ + vendor/widevine/libwvdrmengine/include \ + vendor/widevine/libwvdrmengine/mediadrm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_MODULE := libwvdrmdrmplugin + +LOCAL_MODULE_TAGS := optional + +include $(BUILD_STATIC_LIBRARY) + +# ----------------------------------------------------------------------------- +# Builds libwvdrmdrmplugin_hidl +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + src_hidl/WVDrmPlugin.cpp \ + src_hidl/WVGenericCryptoInterface.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/cdm/metrics/include \ + vendor/widevine/libwvdrmengine/include_hidl \ + vendor/widevine/libwvdrmengine/include \ + vendor/widevine/libwvdrmengine/mediadrm/include_hidl \ + vendor/widevine/libwvdrmengine/mediadrm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_STATIC_LIBRARIES := libcrypto_static + +LOCAL_SHARED_LIBRARIES := \ + android.hardware.drm@1.0 \ + android.hidl.memory@1.0 \ + +LOCAL_MODULE := libwvdrmdrmplugin_hidl + +LOCAL_MODULE_TAGS := optional + +include $(BUILD_STATIC_LIBRARY) diff --git a/libwvdrmengine/mediadrm/test/Android.bp b/libwvdrmengine/mediadrm/test/Android.bp deleted file mode 100644 index 00b2874b..00000000 --- a/libwvdrmengine/mediadrm/test/Android.bp +++ /dev/null @@ -1,73 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_test { - name: "libwvdrmdrmplugin_test", - owner: "widevine", - proprietary: true, - srcs: ["legacy_src/WVDrmPlugin_test.cpp"], - static_libs: [ - "libcdm", - "libcdm_protos", - "libcdm_utils", - "libcrypto_static", - "libgmock", - "libwvdrmdrmplugin", - "libwvlevel3", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], - shared_libs: [ - "libcutils", - "liblog", - "libprotobuf-cpp-lite", - "libutils", - "libwvdrmengine", - ], -} - -cc_test { - name: "libwvdrmdrmplugin_hidl_test", - owner: "widevine", - proprietary: true, - srcs: ["WVDrmPlugin_test.cpp"], - static_libs: [ - "libcdm", - "libcdm_protos", - "libcdm_utils", - "libcrypto_static", - "libgmock", - "libwidevinehidl_utils", - "libwvdrmdrmplugin_hidl", - "libwvlevel3", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], - shared_libs: [ - "android.hardware.drm@1.0", - "android.hidl.memory@1.0", - "libcutils", - "libhidlbase", - "libhidltransport", - "liblog", - "libprotobuf-cpp-lite", - "libutils", - "libwvdrmengine", - "libwvhidl", - ], -} diff --git a/libwvdrmengine/mediadrm/test/Android.mk b/libwvdrmengine/mediadrm/test/Android.mk new file mode 100644 index 00000000..108e9041 --- /dev/null +++ b/libwvdrmengine/mediadrm/test/Android.mk @@ -0,0 +1,121 @@ +LOCAL_PATH := $(call my-dir) + +# ----------------------------------------------------------------------------- +# Builds libwvdrmdrmplugin_test +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + legacy_src/WVDrmPlugin_test.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/cdm/metrics/include \ + vendor/widevine/libwvdrmengine/include \ + vendor/widevine/libwvdrmengine/mediadrm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_STATIC_LIBRARIES := \ + libcdm \ + libcdm_protos \ + libcdm_utils \ + libcrypto_static \ + libjsmn \ + libgmock \ + libgmock_main \ + libgtest \ + libwvlevel3 \ + libwvdrmdrmplugin \ + +LOCAL_SHARED_LIBRARIES := \ + libcutils \ + libdl \ + liblog \ + libprotobuf-cpp-lite \ + libutils \ + +LOCAL_C_INCLUDES += \ + external/protobuf/src \ + +LOCAL_MODULE := libwvdrmdrmplugin_test + +LOCAL_MODULE_TAGS := tests + +LOCAL_MODULE_OWNER := widevine + +LOCAL_PROPRIETARY_MODULE := true + +ifneq ($(TARGET_ENABLE_MEDIADRM_64), true) +LOCAL_MODULE_TARGET_ARCH := arm x86 mips +endif + +include $(BUILD_EXECUTABLE) + +# ----------------------------------------------------------------------------- +# Builds libwvdrmdrmplugin_hidl_test +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + WVDrmPlugin_test.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/cdm/metrics/include \ + vendor/widevine/libwvdrmengine/include_hidl \ + vendor/widevine/libwvdrmengine/include \ + vendor/widevine/libwvdrmengine/mediadrm/include_hidl \ + vendor/widevine/libwvdrmengine/mediadrm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_STATIC_LIBRARIES := \ + libcdm \ + libcdm_protos \ + libcdm_utils \ + libcrypto_static \ + libjsmn \ + libgmock \ + libgmock_main \ + libgtest \ + libwvlevel3 \ + libwvdrmdrmplugin_hidl \ + +# When the GNU linker sees a library, it discards all symbols that it doesn't +# need. libwidevinehidl_utils must come after libwvdrmdrmplugin. +LOCAL_STATIC_LIBRARIES += libwidevinehidl_utils + +LOCAL_SHARED_LIBRARIES := \ + android.hardware.drm@1.0 \ + android.hidl.memory@1.0 \ + libbinder \ + libcutils \ + libdl \ + libhidlbase \ + libhidlmemory \ + libhidltransport \ + liblog \ + libprotobuf-cpp-lite \ + libutils \ + +LOCAL_C_INCLUDES += \ + external/protobuf/src \ + +LOCAL_MODULE := libwvdrmdrmplugin_hidl_test + +LOCAL_MODULE_TAGS := tests + +LOCAL_MODULE_OWNER := widevine + +LOCAL_PROPRIETARY_MODULE := true + +ifneq ($(TARGET_ENABLE_MEDIADRM_64), true) +LOCAL_MODULE_TARGET_ARCH := arm x86 mips +endif + +include $(BUILD_EXECUTABLE) diff --git a/libwvdrmengine/oemcrypto/Android.bp b/libwvdrmengine/oemcrypto/Android.bp deleted file mode 100644 index 9c16f3d5..00000000 --- a/libwvdrmengine/oemcrypto/Android.bp +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_library_headers { - name: "liboemcrypto_libwvdrmengine_local", - export_include_dirs: ["include"], -} diff --git a/libwvdrmengine/test/unit/Android.bp b/libwvdrmengine/test/unit/Android.bp deleted file mode 100644 index 274efaf4..00000000 --- a/libwvdrmengine/test/unit/Android.bp +++ /dev/null @@ -1,64 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_test { - name: "libwvdrmengine_test", - owner: "widevine", - proprietary: true, - srcs: [ - "legacy_src/WVCreatePluginFactories_test.cpp", - "legacy_src/WVCryptoFactory_test.cpp", - "legacy_src/WVDrmFactory_test.cpp", - ], - static_libs: [ - "libcrypto_static", - "libwvdrmdrmplugin", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], - shared_libs: [ - "liblog", - "libutils", - "libwvdrmengine", - ], -} - -cc_test { - name: "libwvdrmengine_hidl_test", - owner: "widevine", - proprietary: true, - srcs: [ - "WVCreatePluginFactories_test.cpp", - "WVCryptoFactory_test.cpp", - "WVDrmFactory_test.cpp", - ], - static_libs: [ - "libcrypto_static", - "libwvdrmdrmplugin_hidl", - ], - header_libs: [ - "liboemcrypto_libwvdrmengine_local", - ], - shared_libs: [ - "android.hardware.drm@1.0", - "libcutils", - "libhidlbase", - "liblog", - "libutils", - "libwvhidl", - ], -} diff --git a/libwvdrmengine/test/unit/Android.mk b/libwvdrmengine/test/unit/Android.mk new file mode 100644 index 00000000..439c8857 --- /dev/null +++ b/libwvdrmengine/test/unit/Android.mk @@ -0,0 +1,91 @@ +LOCAL_PATH:= $(call my-dir) + +# ----------------------------------------------------------------------------- +# Builds libwvdrmengine_test +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + legacy_src/WVCreatePluginFactories_test.cpp \ + legacy_src/WVCryptoFactory_test.cpp \ + legacy_src/WVDrmFactory_test.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/include \ + vendor/widevine/libwvdrmengine/mediadrm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_STATIC_LIBRARIES := \ + libcrypto_static \ + libgtest \ + libgtest_main \ + +LOCAL_SHARED_LIBRARIES := \ + libdl \ + liblog \ + libutils \ + libwvdrmengine \ + +LOCAL_MODULE := libwvdrmengine_test + +LOCAL_MODULE_TAGS := tests + +LOCAL_MODULE_OWNER := widevine + +LOCAL_PROPRIETARY_MODULE := true + +ifneq ($(TARGET_ENABLE_MEDIADRM_64), true) +LOCAL_MODULE_TARGET_ARCH := arm x86 mips +endif + +include $(BUILD_EXECUTABLE) + +# ----------------------------------------------------------------------------- +# Builds libwvdrmengine_hidl_test +# +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + WVCreatePluginFactories_test.cpp \ + WVCryptoFactory_test.cpp \ + WVDrmFactory_test.cpp \ + +LOCAL_C_INCLUDES := \ + frameworks/av/include \ + frameworks/native/include \ + vendor/widevine/libwvdrmengine/include_hidl \ + vendor/widevine/libwvdrmengine/include \ + vendor/widevine/libwvdrmengine/mediadrm/include_hidl \ + vendor/widevine/libwvdrmengine/mediadrm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + +LOCAL_STATIC_LIBRARIES := \ + libcrypto_static \ + libgtest \ + libgtest_main \ + +LOCAL_SHARED_LIBRARIES := \ + android.hardware.drm@1.0 \ + libcutils \ + libdl \ + libhidlbase \ + libhidlmemory \ + liblog \ + libutils \ + libwvhidl \ + +LOCAL_MODULE := libwvdrmengine_hidl_test + +LOCAL_MODULE_TAGS := tests + +LOCAL_MODULE_OWNER := widevine + +LOCAL_PROPRIETARY_MODULE := true + +ifneq ($(TARGET_ENABLE_MEDIADRM_64), true) +LOCAL_MODULE_TARGET_ARCH := arm x86 mips +endif + +include $(BUILD_EXECUTABLE) diff --git a/libwvdrmengine/third_party/stringencoders/Android.bp b/libwvdrmengine/third_party/stringencoders/Android.bp deleted file mode 100644 index 1ceb5f9b..00000000 --- a/libwvdrmengine/third_party/stringencoders/Android.bp +++ /dev/null @@ -1,26 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_library_static { - name: "libstringencoders", // aka libmodpb64 - srcs: [ - "src/modp_b64.cpp", - "src/modp_b64w.cpp", - ], - export_include_dirs: [ - "src", - ], -} diff --git a/libwvdrmengine/vts/vendor_module/Android.bp b/libwvdrmengine/vts/vendor_module/Android.bp deleted file mode 100644 index 440bb035..00000000 --- a/libwvdrmengine/vts/vendor_module/Android.bp +++ /dev/null @@ -1,37 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_library_shared { - name: "libvtswidevine", - relative_install_path: "drm-vts-test-libs", - srcs: [ - "factory.cpp", - "vts_module.cpp", - ], - include_dirs: [ - "hardware/interfaces/drm/1.0/vts/functional", - ], - static_libs: [ - "libcdm", - "libcdm_utils", - "libgtest", - "libvtswidevine_helpers", - ], - shared_libs: [ - "liblog", - "libssl", - ], -} diff --git a/libwvdrmengine/vts/vendor_module/Android.mk b/libwvdrmengine/vts/vendor_module/Android.mk new file mode 100644 index 00000000..f34413f0 --- /dev/null +++ b/libwvdrmengine/vts/vendor_module/Android.mk @@ -0,0 +1,40 @@ +# ---------------------------------------------------------------- +# Builds libvtswidevine.so +# +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_C_INCLUDES := \ + hardware/interfaces/drm/1.0/vts/functional \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/core/test \ + system/libhidl/base/include \ + system/core/base/include \ + system/libvintf/include \ + +LOCAL_SRC_FILES := \ + factory.cpp \ + vts_module.cpp \ + ../../cdm/core/test/url_request.cpp \ + ../../cdm/core/test/license_request.cpp \ + ../../cdm/core/test/http_socket.cpp \ + +LOCAL_STATIC_LIBRARIES := \ + libgtest \ + libcdm \ + libcdm_utils \ + libcrypto_static + +LOCAL_SHARED_LIBRARIES := \ + libcutils \ + liblog \ + libssl \ + libutils \ + +LOCAL_MODULE := libvtswidevine +LOCAL_MODULE_RELATIVE_PATH := drm-vts-test-libs +LOCAL_MODULE_TAGS := optional + + +include $(BUILD_SHARED_LIBRARY) diff --git a/tests/Android.mk b/tests/Android.mk index 5c0f894f..23c6d78d 100644 --- a/tests/Android.mk +++ b/tests/Android.mk @@ -40,5 +40,8 @@ endif # Call the makefiles for all our tests used in TradeFederation MODULAR_DRM_PATH := vendor/widevine/libwvdrmengine include $(MODULAR_DRM_PATH)/cdm/test/Android.mk +include $(MODULAR_DRM_PATH)/mediacrypto/test/Android.mk +include $(MODULAR_DRM_PATH)/mediadrm/test/Android.mk include $(MODULAR_DRM_PATH)/oemcrypto/test/Android.mk +include $(MODULAR_DRM_PATH)/test/unit/Android.mk include $(MODULAR_DRM_PATH)/test/java/Android.mk