1*ee3b7b62SAndroid Build Coastguard Worker// Copyright (C) 2016 The Android Open Source Project 2*ee3b7b62SAndroid Build Coastguard Worker// 3*ee3b7b62SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*ee3b7b62SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*ee3b7b62SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*ee3b7b62SAndroid Build Coastguard Worker// 7*ee3b7b62SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*ee3b7b62SAndroid Build Coastguard Worker// 9*ee3b7b62SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*ee3b7b62SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*ee3b7b62SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*ee3b7b62SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*ee3b7b62SAndroid Build Coastguard Worker// limitations under the License. 14*ee3b7b62SAndroid Build Coastguard Worker 15*ee3b7b62SAndroid Build Coastguard Workerpackage { 16*ee3b7b62SAndroid Build Coastguard Worker default_team: "trendy_team_android_hardware_backed_security", 17*ee3b7b62SAndroid Build Coastguard Worker default_applicable_licenses: ["system_hwservicemanager_license"], 18*ee3b7b62SAndroid Build Coastguard Worker} 19*ee3b7b62SAndroid Build Coastguard Worker 20*ee3b7b62SAndroid Build Coastguard Worker// Added automatically by a large-scale-change 21*ee3b7b62SAndroid Build Coastguard Worker// http://go/android-license-faq 22*ee3b7b62SAndroid Build Coastguard Workerlicense { 23*ee3b7b62SAndroid Build Coastguard Worker name: "system_hwservicemanager_license", 24*ee3b7b62SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 25*ee3b7b62SAndroid Build Coastguard Worker license_kinds: [ 26*ee3b7b62SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 27*ee3b7b62SAndroid Build Coastguard Worker ], 28*ee3b7b62SAndroid Build Coastguard Worker license_text: [ 29*ee3b7b62SAndroid Build Coastguard Worker "NOTICE", 30*ee3b7b62SAndroid Build Coastguard Worker ], 31*ee3b7b62SAndroid Build Coastguard Worker} 32*ee3b7b62SAndroid Build Coastguard Worker 33*ee3b7b62SAndroid Build Coastguard Workercc_defaults { 34*ee3b7b62SAndroid Build Coastguard Worker name: "hwservicemanager_defaults", 35*ee3b7b62SAndroid Build Coastguard Worker cflags: [ 36*ee3b7b62SAndroid Build Coastguard Worker "-Wall", 37*ee3b7b62SAndroid Build Coastguard Worker "-Wextra", 38*ee3b7b62SAndroid Build Coastguard Worker "-Werror", 39*ee3b7b62SAndroid Build Coastguard Worker ], 40*ee3b7b62SAndroid Build Coastguard Worker shared_libs: [ 41*ee3b7b62SAndroid Build Coastguard Worker "libhidlbase", 42*ee3b7b62SAndroid Build Coastguard Worker "liblog", 43*ee3b7b62SAndroid Build Coastguard Worker ], 44*ee3b7b62SAndroid Build Coastguard Worker} 45*ee3b7b62SAndroid Build Coastguard Worker 46*ee3b7b62SAndroid Build Coastguard Workercc_defaults { 47*ee3b7b62SAndroid Build Coastguard Worker name: "libhwservicemanager_shared_libs", 48*ee3b7b62SAndroid Build Coastguard Worker shared_libs: [ 49*ee3b7b62SAndroid Build Coastguard Worker "libbase", 50*ee3b7b62SAndroid Build Coastguard Worker "libhidl-gen-utils", 51*ee3b7b62SAndroid Build Coastguard Worker "libselinux", 52*ee3b7b62SAndroid Build Coastguard Worker "libutils", 53*ee3b7b62SAndroid Build Coastguard Worker "libvintf", 54*ee3b7b62SAndroid Build Coastguard Worker ], 55*ee3b7b62SAndroid Build Coastguard Worker} 56*ee3b7b62SAndroid Build Coastguard Worker 57*ee3b7b62SAndroid Build Coastguard Workercc_library_static { 58*ee3b7b62SAndroid Build Coastguard Worker name: "libhwservicemanager", 59*ee3b7b62SAndroid Build Coastguard Worker host_supported: true, 60*ee3b7b62SAndroid Build Coastguard Worker defaults: [ 61*ee3b7b62SAndroid Build Coastguard Worker "hwservicemanager_defaults", 62*ee3b7b62SAndroid Build Coastguard Worker "libhwservicemanager_shared_libs", 63*ee3b7b62SAndroid Build Coastguard Worker ], 64*ee3b7b62SAndroid Build Coastguard Worker srcs: [ 65*ee3b7b62SAndroid Build Coastguard Worker "AccessControl.cpp", 66*ee3b7b62SAndroid Build Coastguard Worker "HidlService.cpp", 67*ee3b7b62SAndroid Build Coastguard Worker "ServiceManager.cpp", 68*ee3b7b62SAndroid Build Coastguard Worker "Vintf.cpp", 69*ee3b7b62SAndroid Build Coastguard Worker ], 70*ee3b7b62SAndroid Build Coastguard Worker} 71*ee3b7b62SAndroid Build Coastguard Worker 72*ee3b7b62SAndroid Build Coastguard Workercc_defaults { 73*ee3b7b62SAndroid Build Coastguard Worker name: "libtokenmanager_shared_libs", 74*ee3b7b62SAndroid Build Coastguard Worker shared_libs: [ 75*ee3b7b62SAndroid Build Coastguard Worker "[email protected]", 76*ee3b7b62SAndroid Build Coastguard Worker "libcrypto", 77*ee3b7b62SAndroid Build Coastguard Worker ], 78*ee3b7b62SAndroid Build Coastguard Worker} 79*ee3b7b62SAndroid Build Coastguard Worker 80*ee3b7b62SAndroid Build Coastguard Workercc_library_static { 81*ee3b7b62SAndroid Build Coastguard Worker name: "libtokenmanager", 82*ee3b7b62SAndroid Build Coastguard Worker defaults: [ 83*ee3b7b62SAndroid Build Coastguard Worker "hwservicemanager_defaults", 84*ee3b7b62SAndroid Build Coastguard Worker "libtokenmanager_shared_libs", 85*ee3b7b62SAndroid Build Coastguard Worker ], 86*ee3b7b62SAndroid Build Coastguard Worker srcs: [ 87*ee3b7b62SAndroid Build Coastguard Worker "TokenManager.cpp", 88*ee3b7b62SAndroid Build Coastguard Worker ], 89*ee3b7b62SAndroid Build Coastguard Worker} 90*ee3b7b62SAndroid Build Coastguard Worker 91*ee3b7b62SAndroid Build Coastguard Workercc_binary { 92*ee3b7b62SAndroid Build Coastguard Worker name: "hwservicemanager", 93*ee3b7b62SAndroid Build Coastguard Worker defaults: [ 94*ee3b7b62SAndroid Build Coastguard Worker "hwservicemanager_defaults", 95*ee3b7b62SAndroid Build Coastguard Worker "libhwservicemanager_shared_libs", 96*ee3b7b62SAndroid Build Coastguard Worker "libtokenmanager_shared_libs", 97*ee3b7b62SAndroid Build Coastguard Worker ], 98*ee3b7b62SAndroid Build Coastguard Worker init_rc: [ 99*ee3b7b62SAndroid Build Coastguard Worker "hwservicemanager.rc", 100*ee3b7b62SAndroid Build Coastguard Worker ], 101*ee3b7b62SAndroid Build Coastguard Worker srcs: [ 102*ee3b7b62SAndroid Build Coastguard Worker "service.cpp", 103*ee3b7b62SAndroid Build Coastguard Worker ], 104*ee3b7b62SAndroid Build Coastguard Worker shared_libs: [ 105*ee3b7b62SAndroid Build Coastguard Worker "libcutils", 106*ee3b7b62SAndroid Build Coastguard Worker ], 107*ee3b7b62SAndroid Build Coastguard Worker static_libs: [ 108*ee3b7b62SAndroid Build Coastguard Worker "libhwservicemanager", 109*ee3b7b62SAndroid Build Coastguard Worker "libtokenmanager", 110*ee3b7b62SAndroid Build Coastguard Worker ], 111*ee3b7b62SAndroid Build Coastguard Worker bootstrap: true, 112*ee3b7b62SAndroid Build Coastguard Worker system_ext_specific: true, 113*ee3b7b62SAndroid Build Coastguard Worker} 114*ee3b7b62SAndroid Build Coastguard Worker 115*ee3b7b62SAndroid Build Coastguard Worker// Create symlink /system/bin/hwservicemanager -> /system/system_ext/bin/hwservicemanager 116*ee3b7b62SAndroid Build Coastguard Worker// Old vendor libraries (like libhidlbase) may require /system/bin/hwservicemanager to be present 117*ee3b7b62SAndroid Build Coastguard Workerinstall_symlink { 118*ee3b7b62SAndroid Build Coastguard Worker name: "hwservicemanager_compat_symlink_module", 119*ee3b7b62SAndroid Build Coastguard Worker symlink_target: "/system/system_ext/bin/hwservicemanager", 120*ee3b7b62SAndroid Build Coastguard Worker // installed_location is relative to /system because that's the default partition for soong 121*ee3b7b62SAndroid Build Coastguard Worker // modules, unless we add something like `system_ext_specific: true` like in hwservicemanager. 122*ee3b7b62SAndroid Build Coastguard Worker installed_location: "bin/hwservicemanager", 123*ee3b7b62SAndroid Build Coastguard Worker} 124*ee3b7b62SAndroid Build Coastguard Worker 125*ee3b7b62SAndroid Build Coastguard Workercc_test { 126*ee3b7b62SAndroid Build Coastguard Worker name: "hwservicemanager_test", 127*ee3b7b62SAndroid Build Coastguard Worker host_supported: true, 128*ee3b7b62SAndroid Build Coastguard Worker defaults: [ 129*ee3b7b62SAndroid Build Coastguard Worker "hwservicemanager_defaults", 130*ee3b7b62SAndroid Build Coastguard Worker "libhwservicemanager_shared_libs", 131*ee3b7b62SAndroid Build Coastguard Worker ], 132*ee3b7b62SAndroid Build Coastguard Worker static_libs: [ 133*ee3b7b62SAndroid Build Coastguard Worker "libgmock", 134*ee3b7b62SAndroid Build Coastguard Worker "libhwservicemanager", 135*ee3b7b62SAndroid Build Coastguard Worker ], 136*ee3b7b62SAndroid Build Coastguard Worker srcs: [ 137*ee3b7b62SAndroid Build Coastguard Worker "test_lazy.cpp", 138*ee3b7b62SAndroid Build Coastguard Worker ], 139*ee3b7b62SAndroid Build Coastguard Worker test_suites: ["device-tests"], 140*ee3b7b62SAndroid Build Coastguard Worker} 141