xref: /aosp_15_r20/frameworks/native/libs/binder/trusty/rules.mk (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
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