1# Copyright (C) 2021 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14# 15 16LOCAL_DIR := $(GET_LOCAL_DIR) 17 18MODULE := $(LOCAL_DIR) 19 20LIBBINDER_DIR := frameworks/native/libs/binder 21# TODO(b/302723053): remove libbase after aidl prebuilt gets updated to December release 22LIBBASE_DIR := system/libbase 23LIBLOG_STUB_DIR := $(LIBBINDER_DIR)/liblog_stub 24LIBUTILS_BINDER_DIR := system/core/libutils/binder 25 26MODULE_SRCS := \ 27 $(LOCAL_DIR)/OS.cpp \ 28 $(LOCAL_DIR)/RpcServerTrusty.cpp \ 29 $(LOCAL_DIR)/RpcTransportTipcTrusty.cpp \ 30 $(LOCAL_DIR)/TrustyStatus.cpp \ 31 $(LOCAL_DIR)/socket.cpp \ 32 $(LIBBINDER_DIR)/Binder.cpp \ 33 $(LIBBINDER_DIR)/BpBinder.cpp \ 34 $(LIBBINDER_DIR)/FdTrigger.cpp \ 35 $(LIBBINDER_DIR)/IInterface.cpp \ 36 $(LIBBINDER_DIR)/IResultReceiver.cpp \ 37 $(LIBBINDER_DIR)/Parcel.cpp \ 38 $(LIBBINDER_DIR)/ParcelFileDescriptor.cpp \ 39 $(LIBBINDER_DIR)/RpcServer.cpp \ 40 $(LIBBINDER_DIR)/RpcSession.cpp \ 41 $(LIBBINDER_DIR)/RpcState.cpp \ 42 $(LIBBINDER_DIR)/Stability.cpp \ 43 $(LIBBINDER_DIR)/Status.cpp \ 44 $(LIBBINDER_DIR)/Utils.cpp \ 45 $(LIBBINDER_DIR)/file.cpp \ 46 $(LIBUTILS_BINDER_DIR)/Errors.cpp \ 47 $(LIBUTILS_BINDER_DIR)/RefBase.cpp \ 48 $(LIBUTILS_BINDER_DIR)/SharedBuffer.cpp \ 49 $(LIBUTILS_BINDER_DIR)/String16.cpp \ 50 $(LIBUTILS_BINDER_DIR)/String8.cpp \ 51 $(LIBUTILS_BINDER_DIR)/StrongPointer.cpp \ 52 $(LIBUTILS_BINDER_DIR)/Unicode.cpp \ 53 $(LIBUTILS_BINDER_DIR)/VectorImpl.cpp \ 54 55MODULE_EXPORT_INCLUDES += \ 56 $(LOCAL_DIR)/include \ 57 $(LIBLOG_STUB_DIR)/include \ 58 $(LIBBINDER_DIR)/include \ 59 $(LIBBASE_DIR)/include \ 60 $(LIBUTILS_BINDER_DIR)/include \ 61 62# The android/binder_to_string.h header is shared between libbinder and 63# libbinder_ndk and included by auto-generated AIDL C++ files 64MODULE_EXPORT_INCLUDES += \ 65 $(LIBBINDER_DIR)/ndk/include_cpp \ 66 67MODULE_EXPORT_COMPILEFLAGS += \ 68 -DBINDER_RPC_SINGLE_THREADED \ 69 -DBINDER_ENABLE_LIBLOG_ASSERT \ 70 -DBINDER_DISABLE_NATIVE_HANDLE \ 71 -DBINDER_DISABLE_BLOB \ 72 -DBINDER_NO_LIBBASE \ 73 -D__ANDROID_VENDOR__ \ 74 -D__ANDROID_VNDK__ \ 75 76# libbinder has some deprecated declarations that we want to produce warnings 77# not errors 78MODULE_EXPORT_COMPILEFLAGS += \ 79 -Wno-error=deprecated-declarations \ 80 81MODULE_LIBRARY_DEPS += \ 82 trusty/user/base/lib/libstdc++-trusty \ 83 trusty/user/base/lib/tipc \ 84 external/boringssl \ 85 86include make/library.mk 87