blob: 5e38ad0d0c5f43d4be346c75693943fc9378bf0f [file] [log] [blame]
Andrei Homescu74a54452021-12-10 05:30:21 +00001# 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
Tomasz Wasilczykbe685c02023-11-30 20:20:53 -080021# TODO(b/302723053): remove libbase after aidl prebuilt gets updated to December release
Andrei Homescu74a54452021-12-10 05:30:21 +000022LIBBASE_DIR := system/libbase
Tomasz Wasilczykc7c22ea2023-11-30 20:13:44 -080023LIBLOG_STUB_DIR := $(LIBBINDER_DIR)/liblog_stub
Tomasz Wasilczykbe685c02023-11-30 20:20:53 -080024LIBUTILS_BINDER_DIR := system/core/libutils/binder
Andrei Homescu74a54452021-12-10 05:30:21 +000025
26MODULE_SRCS := \
Andrei Homescu74a54452021-12-10 05:30:21 +000027 $(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 \
Andrei Homescu24ad36e2022-08-04 01:33:33 +000038 $(LIBBINDER_DIR)/ParcelFileDescriptor.cpp \
Andrei Homescu74a54452021-12-10 05:30:21 +000039 $(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 \
Tomasz Wasilczyk26db5e42023-11-02 11:45:11 -070045 $(LIBBINDER_DIR)/file.cpp \
Tomasz Wasilczykbe685c02023-11-30 20:20:53 -080046 $(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 \
Andrei Homescu74a54452021-12-10 05:30:21 +000054
55MODULE_EXPORT_INCLUDES += \
56 $(LOCAL_DIR)/include \
Tomasz Wasilczykc7c22ea2023-11-30 20:13:44 -080057 $(LIBLOG_STUB_DIR)/include \
Andrei Homescu74a54452021-12-10 05:30:21 +000058 $(LIBBINDER_DIR)/include \
59 $(LIBBASE_DIR)/include \
Tomasz Wasilczykbe685c02023-11-30 20:20:53 -080060 $(LIBUTILS_BINDER_DIR)/include \
Andrei Homescu74a54452021-12-10 05:30:21 +000061
Andrei Homescuf786a852022-07-20 22:43:27 +000062# 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
Andrei Homescu74a54452021-12-10 05:30:21 +000067MODULE_EXPORT_COMPILEFLAGS += \
Andrei Homescu74a54452021-12-10 05:30:21 +000068 -DBINDER_RPC_SINGLE_THREADED \
Tomasz Wasilczyk83780132023-11-29 21:39:29 -080069 -DBINDER_ENABLE_LIBLOG_ASSERT \
Tomasz Wasilczykbe685c02023-11-30 20:20:53 -080070 -DBINDER_DISABLE_NATIVE_HANDLE \
71 -DBINDER_DISABLE_BLOB \
72 -DBINDER_NO_LIBBASE \
Steven Morelandd5beffc2023-12-15 21:58:38 +000073 -D__ANDROID_VENDOR__ \
Andrei Homescu74a54452021-12-10 05:30:21 +000074 -D__ANDROID_VNDK__ \
75
Andrei Homescu9d8adb12022-08-02 04:38:30 +000076# libbinder has some deprecated declarations that we want to produce warnings
77# not errors
78MODULE_EXPORT_COMPILEFLAGS += \
79 -Wno-error=deprecated-declarations \
80
Andrei Homescu74a54452021-12-10 05:30:21 +000081MODULE_LIBRARY_DEPS += \
82 trusty/user/base/lib/libstdc++-trusty \
83 trusty/user/base/lib/tipc \
84 external/boringssl \
85
86include make/library.mk