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. 32cc_binary { 33 name: "android.hardware.media.c2@1.1-default-service", 34 vendor: true, 35 relative_install_path: "hw", 36 37 init_rc: ["android.hardware.media.c2@1.1-default-service.rc"], 38 39 defaults: ["libcodec2-hidl-defaults"], 40 srcs: [ 41 "vendor.cpp", 42 ], 43 44 // minijail is used to protect against unexpected system calls. 45 shared_libs: [ 46 "libavservices_minijail_vendor", 47 "libbinder", 48 ], 49 required: ["android.hardware.media.c2@1.1-default-seccomp_policy"], 50 51 // The content in manifest_media_c2_V1_1_default.xml can be included 52 // directly in the main device manifest.xml file or via vintf_fragments. 53 // (Remove the line below if the entry is already in the main manifest.) 54 vintf_fragments: ["manifest_media_c2_V1_1_default.xml"], 55} 56 57// seccomp policy file. 58// 59// This should be modified to suit the target device and architecture. 60// 61// Files in the "seccomp_policy" subdirectory are only provided as examples. 62// They may not work on some devices and/or architectures without modification. 63prebuilt_etc { 64 name: "android.hardware.media.c2@1.1-default-seccomp_policy", 65 vendor: true, 66 sub_dir: "seccomp_policy", 67 68 // If a specific architecture is targeted, multiple choices are not needed. 69 arch: { 70 arm: { 71 src: "seccomp_policy/android.hardware.media.c2@1.1-default-arm.policy", 72 }, 73 arm64: { 74 src: "seccomp_policy/android.hardware.media.c2@1.1-default-arm64.policy", 75 }, 76 x86: { 77 src: "seccomp_policy/android.hardware.media.c2@1.1-default-x86.policy", 78 }, 79 x86_64: { 80 src: "seccomp_policy/android.hardware.media.c2@1.1-default-x86_64.policy", 81 }, 82 }, 83 84 // This may be removed. 85 required: ["crash_dump.policy"], 86} 87 88