Convert Android.mk to Android.bp

This CL builds the Widevine drm services and libraries.
Soong makefile conversion for unit and integration
tests will be in a different CL.

This doc may help with the review:
https://docs.google.com/document/d/1lK3X9RFPwbbwewLNlS4TfSMhxIlPuAkHRnGcgwWpChU/edit?usp=sharing

Test: build
Test: Play Movies and Netflix streaming
Test: unit tests
  build_and_run_all_tests.sh
Test: gts
  ANDROID_BUILD_TOP= ./android-gts/tools/gts-tradefed run gts -m GtsMediaTestCases -t com.google.android.media.gts.MediaDrmTest

  atest GtsExoPlayerTestCases:com.google.android.exoplayer.gts.DashTest

Test: vts
  ANDROID_BUILD_TOP= PATH="$PWD/android-vts/tools:$PATH" vts-tradefed run commandAndExit vts --module VtsHalDrmV1_3Target

Bug: 162321744
Change-Id: I50c0fb2e8f28dfe7901587e3d3203542943e23b1
This commit is contained in:
Edwin Wong
2020-08-14 11:17:05 -07:00
parent fe06541507
commit 307cf378a9
22 changed files with 857 additions and 158631 deletions

View File

@@ -0,0 +1,98 @@
// Copyright (C) 2020 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.
// ----------------------------------------------------------------------------
// Builds libwvdrmdrmplugin
//
cc_library_static {
name: "libwvdrmdrmplugin",
srcs: [
"src/WVDrmPlugin.cpp",
"src/WVGenericCryptoInterface.cpp",
],
include_dirs: [
"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/cdm/util/include",
"vendor/widevine/libwvdrmengine/include",
"vendor/widevine/libwvdrmengine/mediadrm/include",
"vendor/widevine/libwvdrmengine/oemcrypto/include",
],
header_libs: [
"libstagefright_headers",
"libstagefright_foundation_headers",
"libutils_headers",
],
shared_libs: ["liblog"],
static_libs: ["libcdm_protos"],
proprietary: true,
}
// ----------------------------------------------------------------------------
// Builds libwvdrmdrmplugin_hidl
//
cc_library_static {
name: "libwvdrmdrmplugin_hidl",
srcs: [
"src_hidl/WVDrmPlugin.cpp",
"src_hidl/WVGenericCryptoInterface.cpp",
"src_hidl/hidl_metrics_adapter.cpp",
],
include_dirs: [
"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/cdm/util/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",
],
header_libs: [
"libstagefright_headers",
"libstagefright_foundation_headers",
"libutils_headers",
],
static_libs: ["libcdm_protos"],
shared_libs: [
"android.hardware.drm@1.0",
"android.hardware.drm@1.1",
"android.hardware.drm@1.2",
"android.hardware.drm@1.3",
"android.hidl.memory@1.0",
"libcrypto",
"liblog",
],
proprietary: true,
}

View File

@@ -1,86 +0,0 @@
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/cdm/util/include \
vendor/widevine/libwvdrmengine/include \
vendor/widevine/libwvdrmengine/mediadrm/include \
vendor/widevine/libwvdrmengine/oemcrypto/include \
LOCAL_HEADER_LIBRARIES := \
libstagefright_headers \
libstagefright_foundation_headers \
libutils_headers \
LOCAL_SHARED_LIBRARIES := \
liblog
LOCAL_STATIC_LIBRARIES := \
libcdm_protos
LOCAL_MODULE := libwvdrmdrmplugin
LOCAL_PROPRIETARY_MODULE := true
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 \
src_hidl/hidl_metrics_adapter.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/cdm/util/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_HEADER_LIBRARIES := \
libstagefright_headers \
libstagefright_foundation_headers \
libutils_headers \
LOCAL_STATIC_LIBRARIES := \
libcdm_protos
LOCAL_SHARED_LIBRARIES := \
android.hardware.drm@1.0 \
android.hardware.drm@1.1 \
android.hardware.drm@1.2 \
android.hardware.drm@1.3 \
android.hidl.memory@1.0 \
libcrypto \
liblog
LOCAL_MODULE := libwvdrmdrmplugin_hidl
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_TAGS := optional
include $(BUILD_STATIC_LIBRARY)

View File

@@ -0,0 +1,180 @@
// Copyright (C) 2020 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.
// -----------------------------------------------------------------------------
// Builds libwvdrmdrmplugin_test
//
cc_test {
name: "libwvdrmdrmplugin_test",
srcs: ["legacy_src/WVDrmPlugin_test.cpp"],
include_dirs: [
"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/cdm/util/include",
"vendor/widevine/libwvdrmengine/include",
"vendor/widevine/libwvdrmengine/mediadrm/include",
"vendor/widevine/libwvdrmengine/oemcrypto/include",
] + ["external/protobuf/src"],
static_libs: [
"libcdm",
"libcdm_protos",
"libcdm_utils",
"libjsmn",
"libgmock",
"libgmock_main",
"libgtest",
"libwvlevel3",
"libwvdrmdrmplugin",
],
shared_libs: [
"libbase",
"libcrypto",
"libdl",
"liblog",
"libprotobuf-cpp-lite",
"libutils",
],
header_libs: [
"libstagefright_headers",
"libstagefright_foundation_headers",
],
// - If you don't use gtest, set "gtest: false"
// - Binaries will be installed into /data/nativetest[64]/<name>/<name>
// - Both 32 & 64 bit versions will be built (as appropriate)
owner: "widevine",
proprietary: true,
}
// -----------------------------------------------------------------------------
// Builds libwvdrmdrmplugin_hidl_test
//
cc_test {
name: "libwvdrmdrmplugin_hidl_test",
srcs: ["WVDrmPlugin_test.cpp"],
include_dirs: [
"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/cdm/util/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",
] + ["external/protobuf/src"],
static_libs: [
"libcdm",
"libcdm_protos",
"libcdm_utils",
"libjsmn",
"libgmock",
"libgmock_main",
"libgtest",
"libwvlevel3",
"libwvdrmdrmplugin_hidl",
],
shared_libs: [
"android.hardware.drm@1.0",
"android.hardware.drm@1.1",
"android.hardware.drm@1.2",
"android.hardware.drm@1.3",
"android.hidl.memory@1.0",
"libbinder",
"libbase",
"libcrypto",
"libdl",
"libhidlbase",
"libhidlmemory",
"liblog",
"libprotobuf-cpp-lite",
"libutils",
],
header_libs: [
"libstagefright_headers",
"libstagefright_foundation_headers",
],
// - If you don't use gtest, set "gtest: false"
// - Binaries will be installed into /data/nativetest[64]/<name>/<name>
// - Both 32 & 64 bit versions will be built (as appropriate)
owner: "widevine",
proprietary: true,
}
// -----------------------------------------------------------------------------
// Builds hidl_metrics_adapter_unittest
//
cc_test {
name: "hidl_metrics_adapter_unittest",
srcs: ["hidl_metrics_adapter_unittest.cpp"],
include_dirs: [
"vendor/widevine/libwvdrmengine/cdm/core/include",
"vendor/widevine/libwvdrmengine/cdm/include",
"vendor/widevine/libwvdrmengine/cdm/metrics/include",
"vendor/widevine/libwvdrmengine/cdm/util/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",
] + ["external/protobuf/src"],
static_libs: [
"libcdm",
"libcdm_protos",
"libcdm_utils",
"libgtest",
"libgtest_main",
"libwvdrmdrmplugin_hidl",
"libjsmn",
"libwvlevel3",
"libwvdrmdrmplugin_hidl",
],
shared_libs: [
"android.hardware.drm@1.0",
"android.hardware.drm@1.1",
"android.hardware.drm@1.2",
"android.hidl.memory@1.0",
"libcrypto",
"libhidlbase",
"libhidlmemory",
"liblog",
"libprotobuf-cpp-lite",
],
// - If you don't use gtest, set "gtest: false"
// - Binaries will be installed into /data/nativetest[64]/<name>/<name>
// - Both 32 & 64 bit versions will be built (as appropriate)
owner: "widevine",
proprietary: true,
}