1d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker#
2d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker# Copyright (C) 2016 The Android Open Source Project
3d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker#
4d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker# Licensed under the Apache License, Version 2.0 (the "License");
5d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker# you may not use this file except in compliance with the License.
6d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker# You may obtain a copy of the License at
7d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker#
8d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker#      http://www.apache.org/licenses/LICENSE-2.0
9d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker#
10d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker# Unless required by applicable law or agreed to in writing, software
11d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker# distributed under the License is distributed on an "AS IS" BASIS,
12d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker# See the License for the specific language governing permissions and
14d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker# limitations under the License.
15d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker
16d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker
17da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker############# Build legacy drm service ############
18da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker
19d59d36252e688b1b04661061d243ca2cde03de14Jeff TinkerLOCAL_PATH := $(call my-dir)
20d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker
21d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinkerinclude $(CLEAR_VARS)
22d59d36252e688b1b04661061d243ca2cde03de14Jeff TinkerLOCAL_MODULE := android.hardware.drm@1.0-service
23d59d36252e688b1b04661061d243ca2cde03de14Jeff TinkerLOCAL_INIT_RC := android.hardware.drm@1.0-service.rc
24a0da1a1c3dadac195e598890360c7b9226874ba8Steven MorelandLOCAL_PROPRIETARY_MODULE := true
25d59d36252e688b1b04661061d243ca2cde03de14Jeff TinkerLOCAL_MODULE_RELATIVE_PATH := hw
26d59d36252e688b1b04661061d243ca2cde03de14Jeff TinkerLOCAL_SRC_FILES := \
27d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker  service.cpp \
28d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker
29d59d36252e688b1b04661061d243ca2cde03de14Jeff TinkerLOCAL_SHARED_LIBRARIES := \
30da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker  android.hardware.drm@1.0 \
31da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker  android.hidl.memory@1.0 \
32d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker  libhidlbase \
33d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker  libhidltransport \
34da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker  libhardware \
35da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker  liblog \
36d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker  libutils \
37136b5e46eca868a99d0c581659785756c25ec6f3Iliyan Malchev  libbinder \
38d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker
3907770c78e18c5b09ba116fa1e779fe4408c42e3fJiyong ParkLOCAL_STATIC_LIBRARIES := \
4007770c78e18c5b09ba116fa1e779fe4408c42e3fJiyong Park  android.hardware.drm@1.0-helper \
4107770c78e18c5b09ba116fa1e779fe4408c42e3fJiyong Park
42d59d36252e688b1b04661061d243ca2cde03de14Jeff TinkerLOCAL_C_INCLUDES := \
43d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker  hardware/interfaces/drm
44d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker
45323d172db73f2512fbc230e739e49d55f25bdb71Jiyong ParkLOCAL_HEADER_LIBRARIES := \
46323d172db73f2512fbc230e739e49d55f25bdb71Jiyong Park  media_plugin_headers
47323d172db73f2512fbc230e739e49d55f25bdb71Jiyong Park
48fcde9ff3a08a2c569f0ec90fa3487ecb9d34444dJohn W. Bruce# TODO(b/18948909) Some legacy DRM plugins only support 32-bit. They need to be
49fcde9ff3a08a2c569f0ec90fa3487ecb9d34444dJohn W. Bruce# migrated to 64-bit. Once all of a device's legacy DRM plugins support 64-bit,
50467c0db62c648da651a41c000381055b1703c5dcJohn W. Bruce# that device can turn on TARGET_ENABLE_MEDIADRM_64 to build this service as
51467c0db62c648da651a41c000381055b1703c5dcJohn W. Bruce# 64-bit.
52467c0db62c648da651a41c000381055b1703c5dcJohn W. Bruceifneq ($(TARGET_ENABLE_MEDIADRM_64), true)
53d59d36252e688b1b04661061d243ca2cde03de14Jeff TinkerLOCAL_32_BIT_ONLY := true
54fcde9ff3a08a2c569f0ec90fa3487ecb9d34444dJohn W. Bruceendif
55d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinker
56d59d36252e688b1b04661061d243ca2cde03de14Jeff Tinkerinclude $(BUILD_EXECUTABLE)
57da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker
58da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker############# Build legacy drm impl library ############
59da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker
60da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinkerinclude $(CLEAR_VARS)
61da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff TinkerLOCAL_MODULE := android.hardware.drm@1.0-impl
62a0da1a1c3dadac195e598890360c7b9226874ba8Steven MorelandLOCAL_PROPRIETARY_MODULE := true
63da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff TinkerLOCAL_MODULE_RELATIVE_PATH := hw
64da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff TinkerLOCAL_SRC_FILES := \
65da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    DrmFactory.cpp \
66da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    DrmPlugin.cpp \
67da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    CryptoFactory.cpp \
68da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    CryptoPlugin.cpp \
69fcde9ff3a08a2c569f0ec90fa3487ecb9d34444dJohn W. Bruce    LegacyPluginPath.cpp \
70da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    TypeConvert.cpp \
71da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker
72da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff TinkerLOCAL_SHARED_LIBRARIES := \
73da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    android.hardware.drm@1.0 \
74da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    android.hidl.memory@1.0 \
75fcde9ff3a08a2c569f0ec90fa3487ecb9d34444dJohn W. Bruce    libcutils \
76da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    libhidlbase \
77da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    libhidlmemory \
78da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    libhidltransport \
79da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    liblog \
80c019787ce9fb9f251c96cdb5a5d3a9ef21842d9bSteven Moreland    libstagefright_foundation \
81da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    libutils \
82da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker
8307770c78e18c5b09ba116fa1e779fe4408c42e3fJiyong ParkLOCAL_STATIC_LIBRARIES := \
8407770c78e18c5b09ba116fa1e779fe4408c42e3fJiyong Park    android.hardware.drm@1.0-helper \
8507770c78e18c5b09ba116fa1e779fe4408c42e3fJiyong Park
86da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff TinkerLOCAL_C_INCLUDES := \
87da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    frameworks/native/include \
88da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker    frameworks/av/include
89da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker
90fcde9ff3a08a2c569f0ec90fa3487ecb9d34444dJohn W. Bruce# TODO: Some legacy DRM plugins only support 32-bit. They need to be migrated to
91fcde9ff3a08a2c569f0ec90fa3487ecb9d34444dJohn W. Bruce# 64-bit. (b/18948909) Once all of a device's legacy DRM plugins support 64-bit,
92467c0db62c648da651a41c000381055b1703c5dcJohn W. Bruce# that device can turn on TARGET_ENABLE_MEDIADRM_64 to build this impl as
93467c0db62c648da651a41c000381055b1703c5dcJohn W. Bruce# 64-bit.
94467c0db62c648da651a41c000381055b1703c5dcJohn W. Bruceifneq ($(TARGET_ENABLE_MEDIADRM_64), true)
95da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff TinkerLOCAL_32_BIT_ONLY := true
96fcde9ff3a08a2c569f0ec90fa3487ecb9d34444dJohn W. Bruceendif
97da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinker
98da002fe6415cee1e37cc3131aafb79ddb53f01e5Jeff Tinkerinclude $(BUILD_SHARED_LIBRARY)
99