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

Commit ac5383d2 authored by Jooyung Han's avatar Jooyung Han
Browse files

Add bootcontrol HAL APEX

To make the binary(and the apex) smaller, refactored dependency types.
The binary in the apex is now statically linked to its dependencies
if possible.

Bug: 297467553
Test: VtsHalBootAidlTargetTest
Change-Id: I4052c802cf0b6cd9ace4cd87bce6d5531a259237
parent 65747f7c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ cc_library_shared {
    srcs: ["BootControl.cpp"],

    shared_libs: [
        "libbase",
        "liblog",
        "libhidlbase",
        "libhardware",
+10 −3
Original line number Diff line number Diff line
@@ -35,14 +35,13 @@ cc_defaults {
    ],

    shared_libs: [
        "android.hardware.boot@1.1",
        "libbase",
        "liblog",
    ],
    static_libs: [
        "libbootloader_message",
        "libfstab",
    ],

}

cc_library_static {
@@ -52,7 +51,13 @@ cc_library_static {
    recovery_available: true,
    vendor_available: true,

    srcs: ["libboot_control.cpp"],
    srcs: [
        "libboot_control.cpp",
    ],
    static_libs: [
        "android.hardware.boot@1.1",
        "libbase",
    ],
}

cc_library_shared {
@@ -67,6 +72,8 @@ cc_library_shared {
        "libboot_control",
    ],
    shared_libs: [
        "android.hardware.boot@1.1",
        "libbase",
        "libhardware",
    ],
}
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ cc_library_shared {
    srcs: ["BootControl.cpp"],

    shared_libs: [
        "libbase",
        "liblog",
        "libhidlbase",
        "libhardware",
+59 −11
Original line number Diff line number Diff line
@@ -27,29 +27,77 @@ cc_defaults {
    name: "android.hardware.boot-service_common",
    relative_install_path: "hw",
    defaults: ["libboot_control_defaults"],
    vintf_fragments: ["android.hardware.boot-service.default.xml"],
    shared_libs: [
        "libbase",
        "libbinder_ndk",
        "android.hardware.boot@1.1",
        "android.hardware.boot-V1-ndk",
    srcs: [
        "main.cpp",
        "BootControl.cpp",
    ],
    static_libs: [
        "libboot_control",
    ],
    srcs: ["main.cpp", "BootControl.cpp"],
}

cc_binary {
    name: "android.hardware.boot-service.default",
    defaults: ["android.hardware.boot-service_common"],
    init_rc: ["android.hardware.boot-service.default.rc"],
    vendor: true,

    stl: "c++_static",
    shared_libs: [
        "libbinder_ndk",
        "liblog",
    ],
    static_libs: [
        "android.hardware.boot@1.1",
        "android.hardware.boot-V1-ndk",
        "libbase",
        "libboot_control",
    ],

    installable: false, // installed in APEX
}

cc_binary {
    name: "android.hardware.boot-service.default_recovery",
    defaults: ["android.hardware.boot-service_common"],
    init_rc: ["android.hardware.boot-service.default_recovery.rc"],
    vintf_fragments: ["android.hardware.boot-service.default.xml"],
    recovery: true,

    shared_libs: [
        "libbase",
        "libbinder_ndk",
        "android.hardware.boot@1.1",
        "android.hardware.boot-V1-ndk",
    ],
    static_libs: [
        "libboot_control",
    ],
}

prebuilt_etc {
    name: "android.hardware.boot-service.default.rc",
    src: "android.hardware.boot-service.default.rc",
    installable: false,
}

prebuilt_etc {
    name: "android.hardware.boot-service.default.xml",
    src: "android.hardware.boot-service.default.xml",
    sub_dir: "vintf",
    installable: false,
}

apex {
    name: "com.android.hardware.boot",
    vendor: true,
    manifest: "apex_manifest.json",
    file_contexts: "apex_file_contexts",
    key: "com.android.hardware.key",
    certificate: ":com.android.hardware.certificate",
    updatable: false,

    binaries: [
        "android.hardware.boot-service.default",
    ],
    prebuilts: [
        "android.hardware.boot-service.default.rc",
        "android.hardware.boot-service.default.xml",
    ],
}
+1 −1
Original line number Diff line number Diff line
service vendor.boot-default /vendor/bin/hw/android.hardware.boot-service.default
service vendor.boot-default /apex/com.android.hardware.boot/bin/hw/android.hardware.boot-service.default
    class early_hal
    user root
    group root
Loading