This project is still using stlport (without telling the build system about it), which was causing (broken) stlport headers to override libc++ headers, leading to a broken copy of std::enable_if, which in turn caused <atomic> to fail to compile. Since this project has prebuilts that will need to be updated before this project can actually move away from stlport, tell the build system that it is still using stlport for now. Bug: 18433002 Change-Id: I38b356428977ed2184eb28a07bd5e7424a4ace8d
131 lines
3.6 KiB
Makefile
131 lines
3.6 KiB
Makefile
# -----------------------------------------------------------------------------
|
|
# CDM top level makefile
|
|
#
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Builds libcdm_utils.a
|
|
#
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := libcdm_utils
|
|
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
|
|
|
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_b64w.cpp \
|
|
$(CORE_SRC_DIR)/properties.cpp \
|
|
$(CORE_SRC_DIR)/string_conversions.cpp \
|
|
$(SRC_DIR)/clock.cpp \
|
|
$(SRC_DIR)/file_store.cpp \
|
|
$(SRC_DIR)/lock.cpp \
|
|
$(SRC_DIR)/log.cpp \
|
|
$(SRC_DIR)/properties_android.cpp \
|
|
$(SRC_DIR)/timer.cpp \
|
|
|
|
LOCAL_CXX_STL := stlport
|
|
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
|
|
|
|
LOCAL_CXX_STL := stlport
|
|
include $(BUILD_STATIC_LIBRARY)
|
|
|
|
# proto_generated_headers is a build system internal variable defined in
|
|
# $(BUILD_STATIC_LIBRARY). We can use cdm_proto_gen_headers later to establish
|
|
# the dependency.
|
|
cdm_proto_gen_headers := $(proto_generated_headers)
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# 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/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_utils \
|
|
libwvlevel3 \
|
|
libprotobuf-cpp-2.3.0-lite \
|
|
libwvdrmcryptoplugin \
|
|
libwvdrmdrmplugin \
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libcrypto \
|
|
libcutils \
|
|
libdl \
|
|
liblog \
|
|
libutils \
|
|
libstagefright_foundation \
|
|
|
|
LOCAL_WHOLE_STATIC_LIBRARIES := libcdm_protos
|
|
|
|
LOCAL_CXX_STL := stlport
|
|
|
|
LOCAL_ADDITIONAL_DEPENDENCIES := $(cdm_proto_gen_headers)
|
|
|
|
LOCAL_MODULE := libwvdrmengine
|
|
|
|
LOCAL_MODULE_RELATIVE_PATH := mediadrm
|
|
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
LOCAL_MODULE_OWNER := widevine
|
|
|
|
LOCAL_PROPRIETARY_MODULE := true
|
|
|
|
LOCAL_MODULE_TARGET_ARCH := arm mips x86
|
|
|
|
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
|
|
|
|
# clean up temp vars
|
|
cdm_proto_gen_headers :=
|