diff --git a/libwvdrmengine/Android.mk b/libwvdrmengine/Android.mk index 502f5bf6..754dfbab 100644 --- a/libwvdrmengine/Android.mk +++ b/libwvdrmengine/Android.mk @@ -109,35 +109,6 @@ LOCAL_SRC_FILES := \ 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_PROPRIETARY_MODULE := true - -CORE_PROTO_SRC_FILES := $(call all-proto-files-under, cdm/core/src) -METRICS_PROTO_SRC_FILES := $(call all-proto-files-under, cdm/metrics/src) -LOCAL_SRC_FILES := $(CORE_PROTO_SRC_FILES) $(METRICS_PROTO_SRC_FILES) - -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 \ - $(generated_sources_dir)/proto/$(LOCAL_PATH)/cdm/metrics/src - -include $(BUILD_STATIC_LIBRARY) - # ----------------------------------------------------------------------------- # Builds libwvdrmengine.so # @@ -256,7 +227,6 @@ 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 diff --git a/libwvdrmengine/cdm/Android.bp b/libwvdrmengine/cdm/Android.bp new file mode 100644 index 00000000..b952b1a1 --- /dev/null +++ b/libwvdrmengine/cdm/Android.bp @@ -0,0 +1,60 @@ +// ---------------------------------------------------------------- +// Builds libcdm.a +// + +SRC_DIR = "src" +CORE_SRC_DIR = "core/src" +METRICS_SRC_DIR = "metrics/src" +cc_library_static { + name: "libcdm", + + cflags: ["-DDYNAMIC_ADAPTER"], + + include_dirs: [ + "vendor/widevine/libwvdrmengine/cdm/core/include", + "vendor/widevine/libwvdrmengine/cdm/metrics/include", + "vendor/widevine/libwvdrmengine/cdm/util/include", + "vendor/widevine/libwvdrmengine/cdm/include", + "vendor/widevine/libwvdrmengine/oemcrypto/include", + "external/jsmn", + "external/protobuf/src", + ], + + header_libs: ["libutils_headers"], + + static_libs: ["libcdm_protos"], + shared_libs: ["libcrypto"], + + srcs: [ + CORE_SRC_DIR + "/buffer_reader.cpp", + CORE_SRC_DIR + "/cdm_engine.cpp", + CORE_SRC_DIR + "/cdm_engine_factory.cpp", + CORE_SRC_DIR + "/cdm_session.cpp", + CORE_SRC_DIR + "/cdm_session_map.cpp", + CORE_SRC_DIR + "/certificate_provisioning.cpp", + CORE_SRC_DIR + "/client_identification.cpp", + CORE_SRC_DIR + "/content_key_session.cpp", + CORE_SRC_DIR + "/crypto_session.cpp", + CORE_SRC_DIR + "/device_files.cpp", + CORE_SRC_DIR + "/entitlement_key_session.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_boringssl.cpp", + CORE_SRC_DIR + "/service_certificate.cpp", + CORE_SRC_DIR + "/usage_table_header.cpp", + SRC_DIR + "/wv_content_decryption_module.cpp", + METRICS_SRC_DIR + "/attribute_handler.cpp", + METRICS_SRC_DIR + "/counter_metric.cpp", + METRICS_SRC_DIR + "/distribution.cpp", + METRICS_SRC_DIR + "/event_metric.cpp", + METRICS_SRC_DIR + "/metrics_collections.cpp", + METRICS_SRC_DIR + "/timer_metric.cpp", + METRICS_SRC_DIR + "/value_metric.cpp", + ], + + proprietary: true, + +} diff --git a/libwvdrmengine/cdm/Android.mk b/libwvdrmengine/cdm/Android.mk deleted file mode 100644 index d77cd08b..00000000 --- a/libwvdrmengine/cdm/Android.mk +++ /dev/null @@ -1,64 +0,0 @@ -# ---------------------------------------------------------------- -# Builds libcdm.a -# -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_CFLAGS := -DDYNAMIC_ADAPTER - -LOCAL_C_INCLUDES := \ - vendor/widevine/libwvdrmengine/cdm/core/include \ - vendor/widevine/libwvdrmengine/cdm/metrics/include \ - vendor/widevine/libwvdrmengine/cdm/util/include \ - vendor/widevine/libwvdrmengine/cdm/include \ - vendor/widevine/libwvdrmengine/oemcrypto/include \ - -LOCAL_C_INCLUDES += \ - external/jsmn \ - external/protobuf/src \ - -LOCAL_HEADER_LIBRARIES := \ - libutils_headers - -LOCAL_STATIC_LIBRARIES := libcdm_protos -LOCAL_SHARED_LIBRARIES := libcrypto - -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_engine_factory.cpp \ - $(CORE_SRC_DIR)/cdm_session.cpp \ - $(CORE_SRC_DIR)/cdm_session_map.cpp \ - $(CORE_SRC_DIR)/certificate_provisioning.cpp \ - $(CORE_SRC_DIR)/client_identification.cpp \ - $(CORE_SRC_DIR)/content_key_session.cpp \ - $(CORE_SRC_DIR)/crypto_session.cpp \ - $(CORE_SRC_DIR)/device_files.cpp \ - $(CORE_SRC_DIR)/entitlement_key_session.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_boringssl.cpp \ - $(CORE_SRC_DIR)/service_certificate.cpp \ - $(CORE_SRC_DIR)/usage_table_header.cpp \ - $(SRC_DIR)/wv_content_decryption_module.cpp \ - $(METRICS_SRC_DIR)/attribute_handler.cpp \ - $(METRICS_SRC_DIR)/counter_metric.cpp \ - $(METRICS_SRC_DIR)/distribution.cpp \ - $(METRICS_SRC_DIR)/event_metric.cpp \ - $(METRICS_SRC_DIR)/metrics_collections.cpp \ - $(METRICS_SRC_DIR)/timer_metric.cpp \ - $(METRICS_SRC_DIR)/value_metric.cpp - - -LOCAL_MODULE := libcdm -LOCAL_MODULE_TAGS := optional -LOCAL_PROPRIETARY_MODULE := true - -include $(BUILD_STATIC_LIBRARY) diff --git a/libwvdrmengine/cdm/core/src/Android.bp b/libwvdrmengine/cdm/core/src/Android.bp new file mode 100644 index 00000000..b0bdff09 --- /dev/null +++ b/libwvdrmengine/cdm/core/src/Android.bp @@ -0,0 +1,24 @@ +cc_library { + + name: "libcdm_protos", + vendor: true, + + srcs: [ + "license_protocol.proto", + "device_files.proto", + ], + + cflags: [ + "-Wall", + "-Werror", + ], + + proto: { + export_proto_headers: true, + type: "full", + }, + + static_libs: ["libcdm_metrics_protos"], + whole_static_libs: ["libcdm_metrics_protos"], + export_static_lib_headers: ["libcdm_metrics_protos"], +} diff --git a/libwvdrmengine/cdm/metrics/src/Android.bp b/libwvdrmengine/cdm/metrics/src/Android.bp new file mode 100644 index 00000000..041d737b --- /dev/null +++ b/libwvdrmengine/cdm/metrics/src/Android.bp @@ -0,0 +1,20 @@ +cc_library { + + name: "libcdm_metrics_protos", + vendor: true, + + srcs: [ + "metrics.proto", + ], + + cflags: [ + "-Wall", + "-Werror", + ], + + proto: { + export_proto_headers: true, + type: "full", + }, + +}