Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 294ad24d authored by Bill Peckham's avatar Bill Peckham
Browse files

Convert Android.mk to Android.bp for vendor snapshot.

This change enables the converted modules to be included
in the vendor snapshot, which considers only
soong-defined modules.

Conversion of the modules in this directory to
Android.bp was blocked by a build-time conditional check
of TARGET_ENABLE_MEDIADRM_64. Using a Soong config
variable, we can perform the conversion.

Bug: 161571531
Bug: 123557988
Test: Build with TARGET_ENABLE_MEDIADRM_64 :=
Test: Build with TARGET_ENABLE_MEDIADRM_64 := true
Test: Insepction of out/soong/soong.variables for each
Test: Inspection of target files package for each
Test: Verify inclusion of modules in vendor snapshot
Change-Id: I47c3b739dfafdf619f8a9a85de560652966af290
parent e6849d56
Loading
Loading
Loading
Loading
+122 −0
Original line number Diff line number Diff line
// Copyright (C) 2016-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.

cc_library_static {
    name: "android.hardware.drm@1.0-helper",
    vendor_available: true,
@@ -21,3 +35,111 @@ cc_library_static {
    ],
    export_include_dirs : ["include"]
}

soong_config_module_type {
    name: "android_hardware_drm_1_0_multilib",
    module_type: "cc_defaults",
    config_namespace: "ANDROID",
    bool_variables: ["TARGET_ENABLE_MEDIADRM_64"],
    properties: ["compile_multilib"],
}

android_hardware_drm_1_0_multilib {
    name: "android.hardware.drm@1.0-multilib-lib",
    compile_multilib: "32",
    soong_config_variables: {
        TARGET_ENABLE_MEDIADRM_64: {
            compile_multilib: "both",
        }
    }
}

android_hardware_drm_1_0_multilib {
    name: "android.hardware.drm@1.0-multilib-exe",
    compile_multilib: "32",
    soong_config_variables: {
        TARGET_ENABLE_MEDIADRM_64: {
            compile_multilib: "first",
        }
    }
}

cc_defaults {
    name: "android.hardware.drm@1.0-service-defaults",
    proprietary: true,
    relative_install_path: "hw",
    include_dirs: ["hardware/interfaces/drm"],
    header_libs: ["media_plugin_headers"],
    static_libs: ["android.hardware.drm@1.0-helper"],

    shared_libs: [
        "android.hardware.drm@1.0",
        "android.hidl.memory@1.0",
        "libhidlbase",
        "libhardware",
        "liblog",
        "libutils",
        "libbinder",
    ],
}

//############ Build legacy drm service ############

cc_binary {
    name: "android.hardware.drm@1.0-service",
    defaults: [
        "android.hardware.drm@1.0-multilib-exe",
        "android.hardware.drm@1.0-service-defaults"
    ],
    init_rc: ["android.hardware.drm@1.0-service.rc"],
    srcs: ["service.cpp"],
}

//############ Build legacy drm lazy service ############

cc_binary {
    name: "android.hardware.drm@1.0-service-lazy",
    defaults: [
        "android.hardware.drm@1.0-multilib-exe",
        "android.hardware.drm@1.0-service-defaults"
    ],
    overrides: ["android.hardware.drm@1.0-service"],
    init_rc: ["android.hardware.drm@1.0-service-lazy.rc"],
    srcs: ["serviceLazy.cpp"],
}

//############ Build legacy drm impl library ############

cc_library_shared {
    name: "android.hardware.drm@1.0-impl",
    defaults: ["android.hardware.drm@1.0-multilib-lib"],
    proprietary: true,
    relative_install_path: "hw",

    include_dirs: [
        "frameworks/native/include",
        "frameworks/av/include",
    ],

    shared_libs: [
        "android.hardware.drm@1.0",
        "android.hidl.memory@1.0",
        "libcutils",
        "libhidlbase",
        "libhidlmemory",
        "liblog",
        "libstagefright_foundation",
        "libutils",
    ],

    static_libs: ["android.hardware.drm@1.0-helper"],

    srcs: [
        "DrmFactory.cpp",
        "DrmPlugin.cpp",
        "CryptoFactory.cpp",
        "CryptoPlugin.cpp",
        "LegacyPluginPath.cpp",
        "TypeConvert.cpp",
    ],
}

drm/1.0/default/Android.mk

deleted100644 → 0
+0 −81
Original line number Diff line number Diff line
#
# Copyright (C) 2016 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.


############# Build legacy drm service ############

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

include $(LOCAL_PATH)/common_default_service.mk
LOCAL_MODULE := android.hardware.drm@1.0-service
LOCAL_INIT_RC := android.hardware.drm@1.0-service.rc
LOCAL_SRC_FILES := service.cpp

include $(BUILD_EXECUTABLE)

############# Build legacy drm lazy service ############

include $(CLEAR_VARS)

include $(LOCAL_PATH)/common_default_service.mk
LOCAL_MODULE := android.hardware.drm@1.0-service-lazy
LOCAL_OVERRIDES_MODULES := android.hardware.drm@1.0-service
LOCAL_INIT_RC := android.hardware.drm@1.0-service-lazy.rc
LOCAL_SRC_FILES := serviceLazy.cpp

include $(BUILD_EXECUTABLE)

############# Build legacy drm impl library ############

include $(CLEAR_VARS)
LOCAL_MODULE := android.hardware.drm@1.0-impl
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_SRC_FILES := \
    DrmFactory.cpp \
    DrmPlugin.cpp \
    CryptoFactory.cpp \
    CryptoPlugin.cpp \
    LegacyPluginPath.cpp \
    TypeConvert.cpp \

LOCAL_SHARED_LIBRARIES := \
    android.hardware.drm@1.0 \
    android.hidl.memory@1.0 \
    libcutils \
    libhidlbase \
    libhidlmemory \
    liblog \
    libstagefright_foundation \
    libutils \

LOCAL_STATIC_LIBRARIES := \
    android.hardware.drm@1.0-helper \

LOCAL_C_INCLUDES := \
    frameworks/native/include \
    frameworks/av/include

# TODO: Some legacy DRM plugins only support 32-bit. They need to be migrated to
# 64-bit. (b/18948909) Once all of a device's legacy DRM plugins support 64-bit,
# that device can turn on TARGET_ENABLE_MEDIADRM_64 to build this impl as
# 64-bit.
ifneq ($(TARGET_ENABLE_MEDIADRM_64), true)
LOCAL_32_BIT_ONLY := true
endif

include $(BUILD_SHARED_LIBRARY)
+0 −44
Original line number Diff line number Diff line
#
# Copyright (C) 2019 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.

include $(CLEAR_VARS)
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_RELATIVE_PATH := hw

LOCAL_SHARED_LIBRARIES := \
  android.hardware.drm@1.0 \
  android.hidl.memory@1.0 \
  libhidlbase \
  libhardware \
  liblog \
  libutils \
  libbinder \

LOCAL_STATIC_LIBRARIES := \
  android.hardware.drm@1.0-helper \

LOCAL_C_INCLUDES := \
  hardware/interfaces/drm

LOCAL_HEADER_LIBRARIES := \
  media_plugin_headers

# TODO(b/18948909) Some legacy DRM plugins only support 32-bit. They need to be
# migrated to 64-bit. Once all of a device's legacy DRM plugins support 64-bit,
# that device can turn on TARGET_ENABLE_MEDIADRM_64 to build this service as
# 64-bit.
ifneq ($(TARGET_ENABLE_MEDIADRM_64), true)
LOCAL_32_BIT_ONLY := true
endif