xref: /aosp_15_r20/frameworks/av/media/codec2/hal/services/Android.bp (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1/*
2 * Copyright 2019 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17// This is an example of an empty Codec2.0 service.
18//
19// To use this, make a copy of this whole directory and rename modules
20// accordingly. The contents of "vendor.cpp" and files in the subdirectory
21// "seccomp_policy" may also need to be modified.
22
23// Binary file for the service.
24//
25// The init_rc file contains the absolute path to this binary on the device.
26// If the name of this module is modified, the content of the init_rc file has
27// to be modified accordingly.
28//
29// The seccomp_policy file name and its content can be modified, but note that
30// vendor.cpp also needs to be updated because it needs the absolute path to the
31// seccomp policy file on the device.
32package {
33    // See: http://go/android-license-faq
34    // A large-scale-change added 'default_applicable_licenses' to import
35    // all of the 'license_kinds' from "frameworks_av_license"
36    // to get the below license kinds:
37    //   SPDX-license-identifier-Apache-2.0
38    default_applicable_licenses: ["frameworks_av_license"],
39}
40
41cc_binary {
42    name: "android.hardware.media.c2-default-service",
43    vendor: true,
44    relative_install_path: "hw",
45
46    init_rc: ["android.hardware.media.c2-default-service.rc"],
47
48    defaults: [
49        "libcodec2-hidl-defaults",
50        "libcodec2-aidl-defaults",
51    ],
52
53    srcs: [
54        "vendor.cpp",
55    ],
56
57    // minijail is used to protect against unexpected system calls.
58    shared_libs: [
59        "libavservices_minijail",
60        "libbinder",
61        "libbinder_ndk",
62    ],
63    required: ["android.hardware.media.c2-default-seccomp_policy"],
64
65    // The content in manifest_media_c2_default.xml can be included
66    // directly in the main device manifest.xml file or via vintf_fragments.
67    // (Remove the line below if the entry is already in the main manifest.)
68    vintf_fragments: ["manifest_media_c2_default.xml"],
69
70    // Remove this line to enable this module.
71    enabled: false,
72}
73
74// seccomp policy file.
75//
76// This should be modified to suit the target device and architecture.
77//
78// Files in the "seccomp_policy" subdirectory are only provided as examples.
79// They may not work on some devices and/or architectures without modification.
80prebuilt_etc {
81    name: "android.hardware.media.c2-default-seccomp_policy",
82    vendor: true,
83    sub_dir: "seccomp_policy",
84
85    // If a specific architecture is targeted, multiple choices are not needed.
86    arch: {
87        arm: {
88            src: "seccomp_policy/android.hardware.media.c2-default-arm.policy",
89        },
90        arm64: {
91            src: "seccomp_policy/android.hardware.media.c2-default-arm64.policy",
92        },
93        riscv64: {
94            src: "seccomp_policy/android.hardware.media.c2-default-riscv64.policy",
95        },
96        x86: {
97            src: "seccomp_policy/android.hardware.media.c2-default-x86.policy",
98        },
99        x86_64: {
100            src: "seccomp_policy/android.hardware.media.c2-default-x86_64.policy",
101        },
102    },
103
104    // This may be removed.
105    required: ["crash_dump.policy"],
106}
107