Remove Widevine CDM Dependency on STLPort

* Replace an stlport static assert with a C++11 static_assert.
 * Move some libraries that were being built with the NDK but
   statically included into platform code off the NDK.
 * Rebuild the obfuscated binaries to use the new STL.
 * Remove MIPS support temporarily due to an inability to generate
   obfuscated binaries for it. (To be fixed in b/19482469.)

Bug: 15193147
Change-Id: Icc166583b0c6af68550baf17ab8c33076a1179d3
This commit is contained in:
Dan Albert
2015-02-20 14:37:54 -08:00
committed by John "Juce" Bruce
parent bcaec72285
commit 723d67c88f
16 changed files with 27 additions and 89 deletions

View File

@@ -29,7 +29,6 @@ LOCAL_SRC_FILES := third_party/stringencoders/src/modp_b64w.cpp \
$(SRC_DIR)/properties_android.cpp \
$(SRC_DIR)/timer.cpp \
LOCAL_CXX_STL := stlport
include $(BUILD_STATIC_LIBRARY)
# -----------------------------------------------------------------------------
@@ -55,7 +54,6 @@ 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
@@ -89,7 +87,6 @@ LOCAL_STATIC_LIBRARIES := \
libcdm \
libcdm_utils \
libwvlevel3 \
libprotobuf-cpp-lite \
libwvdrmcryptoplugin \
libwvdrmdrmplugin \
@@ -98,13 +95,12 @@ LOCAL_SHARED_LIBRARIES := \
libcutils \
libdl \
liblog \
libprotobuf-cpp-lite \
libutils \
libstagefright_foundation \
LOCAL_WHOLE_STATIC_LIBRARIES := libcdm_protos
LOCAL_CXX_STL := stlport
LOCAL_ADDITIONAL_DEPENDENCIES := $(cdm_proto_gen_headers)
LOCAL_MODULE := libwvdrmengine
@@ -117,7 +113,7 @@ LOCAL_MODULE_OWNER := widevine
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(BUILD_SHARED_LIBRARY)

View File

@@ -36,7 +36,6 @@ LOCAL_SRC_FILES := \
LOCAL_MODULE := libcdm
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_CXX_STL := stlport
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(BUILD_STATIC_LIBRARY)

View File

@@ -35,29 +35,22 @@ LOCAL_STATIC_LIBRARIES := \
libcdm \
libcdm_protos \
libgmock \
libgtest_ndk \
libgtest_main_ndk \
libgtest \
libgtest_main \
libwvlevel3 \
libcdm_utils \
libprotobuf-cpp-lite
LOCAL_SHARED_LIBRARIES := \
libcrypto \
libcutils \
libdl \
liblog \
libprotobuf-cpp-lite \
libssl \
libutils
libutils \
LOCAL_CFLAGS += -DUNIT_TEST
# Needed to use gMock 1.7.0 on Android
LOCAL_CFLAGS += \
-DGTEST_HAS_TR1_TUPLE \
-DGTEST_USE_OWN_TR1_TUPLE \
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_CXX_STL := stlport
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(BUILD_EXECUTABLE)

View File

@@ -26,8 +26,8 @@ enum {
kErrorTestMode = ERROR_DRM_VENDOR_MAX,
};
_STLP_STATIC_ASSERT(static_cast<uint32_t>(kErrorWVDrmMaxErrorUsed) <=
static_cast<uint32_t>(ERROR_DRM_VENDOR_MAX));
static_assert(static_cast<uint32_t>(kErrorWVDrmMaxErrorUsed) <=
static_cast<uint32_t>(ERROR_DRM_VENDOR_MAX), "");
} // namespace wvdrm

View File

@@ -18,8 +18,6 @@ LOCAL_MODULE := libwvdrmcryptoplugin
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_CXX_STL := stlport
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(BUILD_STATIC_LIBRARY)

View File

@@ -20,9 +20,8 @@ LOCAL_STATIC_LIBRARIES := \
libcdm_utils \
libgmock \
libgmock_main \
libgtest_ndk \
libgtest \
libwvlevel3 \
libprotobuf-cpp-lite \
libwvdrmcryptoplugin \
LOCAL_SHARED_LIBRARIES := \
@@ -30,14 +29,10 @@ LOCAL_SHARED_LIBRARIES := \
libcutils \
libdl \
liblog \
libprotobuf-cpp-lite \
libstagefright_foundation \
libutils \
# Needed to use gMock 1.7.0 on Android
LOCAL_CFLAGS += \
-DGTEST_HAS_TR1_TUPLE \
-DGTEST_USE_OWN_TR1_TUPLE \
# CDM's protobuffers are not part of the library
PROTO_SRC_DIR := $(proto_generated_cc_sources_dir)/$(LOCAL_PATH)/core/src
@@ -56,8 +51,6 @@ LOCAL_MODULE := libwvdrmmediacrypto_test
LOCAL_MODULE_TAGS := tests
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_CXX_STL := stlport
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(BUILD_EXECUTABLE)

View File

@@ -18,8 +18,6 @@ LOCAL_MODULE := libwvdrmdrmplugin
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_CXX_STL := stlport
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(BUILD_STATIC_LIBRARY)

View File

@@ -21,9 +21,8 @@ LOCAL_STATIC_LIBRARIES := \
libcdm_utils \
libgmock \
libgmock_main \
libgtest_ndk \
libgtest \
libwvlevel3 \
libprotobuf-cpp-lite \
libwvdrmdrmplugin \
LOCAL_SHARED_LIBRARIES := \
@@ -31,13 +30,9 @@ LOCAL_SHARED_LIBRARIES := \
libcutils \
libdl \
liblog \
libprotobuf-cpp-lite \
libutils \
# Needed to use gMock 1.7.0 on Android
LOCAL_CFLAGS += \
-DGTEST_HAS_TR1_TUPLE \
-DGTEST_USE_OWN_TR1_TUPLE \
# CDM's protobuffers are not part of the library
PROTO_SRC_DIR := $(proto_generated_cc_sources_dir)/$(LOCAL_PATH)/core/src
@@ -56,8 +51,6 @@ LOCAL_MODULE := libwvdrmdrmplugin_test
LOCAL_MODULE_TAGS := tests
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_CXX_STL := stlport
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(BUILD_EXECUTABLE)

View File

@@ -34,8 +34,7 @@ LOCAL_STATIC_LIBRARIES := \
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_SHARED_LIBRARIES)
LOCAL_MODULE := liboemcrypto
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_CXX_STL := stlport
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(BUILD_SHARED_LIBRARY)

View File

@@ -6,7 +6,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE:=oemcrypto_test
LOCAL_MODULE_TAGS := tests
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(LOCAL_PATH)/common.mk

View File

@@ -14,8 +14,8 @@ LOCAL_C_INCLUDES += \
LOCAL_STATIC_LIBRARIES := \
libcdm \
libcdm_utils \
libgtest_ndk \
libgtest_main_ndk \
libgtest \
libgtest_main \
libwvlevel3 \
libcdm_utils \
@@ -26,5 +26,3 @@ LOCAL_SHARED_LIBRARIES := \
liblog \
libutils \
libz \
LOCAL_CXX_STL := stlport

View File

@@ -22,52 +22,26 @@ libgmock_host_includes := \
$(TOP)/external/gtest/include \
libgmock_cflags := \
-DGTEST_HAS_TR1_TUPLE \
-DGTEST_USE_OWN_TR1_TUPLE \
-Wno-missing-field-initializers \
#######################################################################
# gmock lib target
include $(CLEAR_VARS)
LOCAL_SDK_VERSION := 9
LOCAL_NDK_STL_VARIANT := stlport_static
LOCAL_CPP_EXTENSION := .cc
LOCAL_SRC_FILES := gmock-all.cc
LOCAL_C_INCLUDES := $(libgmock_target_includes)
LOCAL_CFLAGS += $(libgmock_cflags)
LOCAL_MODULE := libgmock
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(BUILD_STATIC_LIBRARY)
#######################################################################
# gmock_main lib target
include $(CLEAR_VARS)
LOCAL_SDK_VERSION := 9
LOCAL_NDK_STL_VARIANT := stlport_static
LOCAL_CPP_EXTENSION := .cc
LOCAL_SRC_FILES := gmock_main.cc
LOCAL_C_INCLUDES := $(libgmock_target_includes)
LOCAL_CFLAGS += $(libgmock_cflags)
LOCAL_MODULE := libgmock_main
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(BUILD_STATIC_LIBRARY)

View File

@@ -15,14 +15,13 @@ LOCAL_C_INCLUDES := \
vendor/widevine/libwvdrmengine/oemcrypto/include \
LOCAL_STATIC_LIBRARIES := \
libgtest_ndk \
libgtest_main_ndk \
libgtest \
libgtest_main \
LOCAL_SHARED_LIBRARIES := \
libcrypto \
libdl \
liblog \
libstlport \
libutils \
libwvdrmengine \
@@ -30,8 +29,6 @@ LOCAL_MODULE := libwvdrmengine_test
LOCAL_MODULE_TAGS := tests
LOCAL_MODULE_TARGET_ARCH := arm mips x86
LOCAL_CXX_STL := stlport
LOCAL_MODULE_TARGET_ARCH := arm x86
include $(BUILD_EXECUTABLE)