1*77b80299SAndroid Build Coastguard Worker// Copyright (C) 2009 The Android Open Source Project 2*77b80299SAndroid Build Coastguard Worker// 3*77b80299SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*77b80299SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*77b80299SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*77b80299SAndroid Build Coastguard Worker// 7*77b80299SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*77b80299SAndroid Build Coastguard Worker// 9*77b80299SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*77b80299SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*77b80299SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*77b80299SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*77b80299SAndroid Build Coastguard Worker// limitations under the License. 14*77b80299SAndroid Build Coastguard Worker 15*77b80299SAndroid Build Coastguard Workerpackage { 16*77b80299SAndroid Build Coastguard Worker default_applicable_licenses: ["system_libhwbinder_license"], 17*77b80299SAndroid Build Coastguard Worker} 18*77b80299SAndroid Build Coastguard Worker 19*77b80299SAndroid Build Coastguard Worker// Added automatically by a large-scale-change 20*77b80299SAndroid Build Coastguard Worker// http://go/android-license-faq 21*77b80299SAndroid Build Coastguard Workerlicense { 22*77b80299SAndroid Build Coastguard Worker name: "system_libhwbinder_license", 23*77b80299SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 24*77b80299SAndroid Build Coastguard Worker license_kinds: [ 25*77b80299SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 26*77b80299SAndroid Build Coastguard Worker ], 27*77b80299SAndroid Build Coastguard Worker license_text: [ 28*77b80299SAndroid Build Coastguard Worker "NOTICE", 29*77b80299SAndroid Build Coastguard Worker ], 30*77b80299SAndroid Build Coastguard Worker} 31*77b80299SAndroid Build Coastguard Worker 32*77b80299SAndroid Build Coastguard Workercc_library_headers { 33*77b80299SAndroid Build Coastguard Worker name: "libhwbinder_headers", 34*77b80299SAndroid Build Coastguard Worker export_include_dirs: ["include"], 35*77b80299SAndroid Build Coastguard Worker host_supported: true, 36*77b80299SAndroid Build Coastguard Worker recovery_available: true, 37*77b80299SAndroid Build Coastguard Worker vendor_available: true, 38*77b80299SAndroid Build Coastguard Worker product_available: true, 39*77b80299SAndroid Build Coastguard Worker // TODO(b/153609531): remove when no longer needed. 40*77b80299SAndroid Build Coastguard Worker native_bridge_supported: true, 41*77b80299SAndroid Build Coastguard Worker apex_available: [ 42*77b80299SAndroid Build Coastguard Worker "//apex_available:platform", 43*77b80299SAndroid Build Coastguard Worker "//apex_available:anyapex", 44*77b80299SAndroid Build Coastguard Worker ], 45*77b80299SAndroid Build Coastguard Worker min_sdk_version: "29", 46*77b80299SAndroid Build Coastguard Worker} 47*77b80299SAndroid Build Coastguard Worker 48*77b80299SAndroid Build Coastguard Workercc_defaults { 49*77b80299SAndroid Build Coastguard Worker name: "libhwbinder_defaults", 50*77b80299SAndroid Build Coastguard Worker 51*77b80299SAndroid Build Coastguard Worker header_libs: ["libhwbinder_headers"], 52*77b80299SAndroid Build Coastguard Worker export_header_lib_headers: ["libhwbinder_headers"], 53*77b80299SAndroid Build Coastguard Worker 54*77b80299SAndroid Build Coastguard Worker sanitize: { 55*77b80299SAndroid Build Coastguard Worker misc_undefined: ["integer"], 56*77b80299SAndroid Build Coastguard Worker }, 57*77b80299SAndroid Build Coastguard Worker srcs: [ 58*77b80299SAndroid Build Coastguard Worker "Binder.cpp", 59*77b80299SAndroid Build Coastguard Worker "BpHwBinder.cpp", 60*77b80299SAndroid Build Coastguard Worker "BufferedTextOutput.cpp", 61*77b80299SAndroid Build Coastguard Worker "Debug.cpp", 62*77b80299SAndroid Build Coastguard Worker "IInterface.cpp", 63*77b80299SAndroid Build Coastguard Worker "IPCThreadState.cpp", 64*77b80299SAndroid Build Coastguard Worker "Parcel.cpp", 65*77b80299SAndroid Build Coastguard Worker "ProcessState.cpp", 66*77b80299SAndroid Build Coastguard Worker "Static.cpp", 67*77b80299SAndroid Build Coastguard Worker "TextOutput.cpp", 68*77b80299SAndroid Build Coastguard Worker "Utils.cpp", 69*77b80299SAndroid Build Coastguard Worker ], 70*77b80299SAndroid Build Coastguard Worker 71*77b80299SAndroid Build Coastguard Worker product_variables: { 72*77b80299SAndroid Build Coastguard Worker binder32bit: { 73*77b80299SAndroid Build Coastguard Worker cflags: ["-DBINDER_IPC_32BIT=1"], 74*77b80299SAndroid Build Coastguard Worker }, 75*77b80299SAndroid Build Coastguard Worker }, 76*77b80299SAndroid Build Coastguard Worker 77*77b80299SAndroid Build Coastguard Worker cflags: [ 78*77b80299SAndroid Build Coastguard Worker "-Wall", 79*77b80299SAndroid Build Coastguard Worker "-Werror", 80*77b80299SAndroid Build Coastguard Worker ], 81*77b80299SAndroid Build Coastguard Worker} 82*77b80299SAndroid Build Coastguard Worker 83*77b80299SAndroid Build Coastguard Workercc_defaults { 84*77b80299SAndroid Build Coastguard Worker name: "libhwbinder-impl-shared-libs", 85*77b80299SAndroid Build Coastguard Worker shared_libs: [ 86*77b80299SAndroid Build Coastguard Worker "libbase", 87*77b80299SAndroid Build Coastguard Worker "liblog", 88*77b80299SAndroid Build Coastguard Worker "libcutils", 89*77b80299SAndroid Build Coastguard Worker "libutils", 90*77b80299SAndroid Build Coastguard Worker ], 91*77b80299SAndroid Build Coastguard Worker export_shared_lib_headers: [ 92*77b80299SAndroid Build Coastguard Worker "libbase", 93*77b80299SAndroid Build Coastguard Worker "libutils", 94*77b80299SAndroid Build Coastguard Worker ], 95*77b80299SAndroid Build Coastguard Worker} 96*77b80299SAndroid Build Coastguard Worker 97*77b80299SAndroid Build Coastguard Worker// WARNING: this should no longer be used 98*77b80299SAndroid Build Coastguard Worker// This is automatically removed by bpfix. Once there are no makefiles, fixes can be automatically applied, and this can be removed. 99*77b80299SAndroid Build Coastguard Workercc_library { 100*77b80299SAndroid Build Coastguard Worker name: "libhwbinder", 101*77b80299SAndroid Build Coastguard Worker vendor_available: true, 102*77b80299SAndroid Build Coastguard Worker 103*77b80299SAndroid Build Coastguard Worker export_include_dirs: ["include"], 104*77b80299SAndroid Build Coastguard Worker 105*77b80299SAndroid Build Coastguard Worker visibility: [ 106*77b80299SAndroid Build Coastguard Worker ":__subpackages__", 107*77b80299SAndroid Build Coastguard Worker "//vendor:__subpackages__", 108*77b80299SAndroid Build Coastguard Worker "//visibility:any_system_partition", 109*77b80299SAndroid Build Coastguard Worker ], 110*77b80299SAndroid Build Coastguard Worker} 111*77b80299SAndroid Build Coastguard Worker 112*77b80299SAndroid Build Coastguard Worker// Combined into libhidlbase for efficiency. 113*77b80299SAndroid Build Coastguard Worker// Used as shared library to provide headers for libhidltransport-impl-internal. 114*77b80299SAndroid Build Coastguard Workercc_library_static { 115*77b80299SAndroid Build Coastguard Worker name: "libhwbinder-impl-internal", 116*77b80299SAndroid Build Coastguard Worker include_dirs: [ 117*77b80299SAndroid Build Coastguard Worker // TODO(b/31559095): get headers from bionic on host 118*77b80299SAndroid Build Coastguard Worker "bionic/libc/kernel/android/uapi/", 119*77b80299SAndroid Build Coastguard Worker "bionic/libc/kernel/uapi/", 120*77b80299SAndroid Build Coastguard Worker ], 121*77b80299SAndroid Build Coastguard Worker 122*77b80299SAndroid Build Coastguard Worker defaults: [ 123*77b80299SAndroid Build Coastguard Worker "libhwbinder_defaults", 124*77b80299SAndroid Build Coastguard Worker "libhwbinder-impl-shared-libs", 125*77b80299SAndroid Build Coastguard Worker "hwbinder_lto", 126*77b80299SAndroid Build Coastguard Worker ], 127*77b80299SAndroid Build Coastguard Worker host_supported: true, 128*77b80299SAndroid Build Coastguard Worker recovery_available: true, 129*77b80299SAndroid Build Coastguard Worker vendor_available: true, 130*77b80299SAndroid Build Coastguard Worker product_available: true, 131*77b80299SAndroid Build Coastguard Worker // TODO(b/153609531): remove when no longer needed. 132*77b80299SAndroid Build Coastguard Worker native_bridge_supported: true, 133*77b80299SAndroid Build Coastguard Worker apex_available: [ 134*77b80299SAndroid Build Coastguard Worker "//apex_available:platform", 135*77b80299SAndroid Build Coastguard Worker "com.android.neuralnetworks", 136*77b80299SAndroid Build Coastguard Worker "com.android.btservices", 137*77b80299SAndroid Build Coastguard Worker "com.android.media", 138*77b80299SAndroid Build Coastguard Worker "com.android.media.swcodec", 139*77b80299SAndroid Build Coastguard Worker "com.android.nfcservices", 140*77b80299SAndroid Build Coastguard Worker "com.android.tethering", 141*77b80299SAndroid Build Coastguard Worker ], 142*77b80299SAndroid Build Coastguard Worker min_sdk_version: "29", 143*77b80299SAndroid Build Coastguard Worker} 144*77b80299SAndroid Build Coastguard Worker 145*77b80299SAndroid Build Coastguard Worker// Provide lto property to build hwbinder with LTO 146*77b80299SAndroid Build Coastguard Workercc_defaults { 147*77b80299SAndroid Build Coastguard Worker name: "hwbinder_lto", 148*77b80299SAndroid Build Coastguard Worker target: { 149*77b80299SAndroid Build Coastguard Worker android: { 150*77b80299SAndroid Build Coastguard Worker lto: { 151*77b80299SAndroid Build Coastguard Worker thin: true, 152*77b80299SAndroid Build Coastguard Worker }, 153*77b80299SAndroid Build Coastguard Worker }, 154*77b80299SAndroid Build Coastguard Worker }, 155*77b80299SAndroid Build Coastguard Worker} 156