Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9365dd0 authored by Orlando Arbildo's avatar Orlando Arbildo
Browse files

Build var to use vendor binder for trusty compile

Adding a trusty makefile build variable to select
which type of binder compile to use for trusty.
By default it will use vendor binder, but it can
be set to use system binder itself. This will be
use for trusty in system VMs.

Bug: 274779230
Test: manual tests using trusty VMs
Change-Id: Id8b6828867b0b4e8844d71e7e3ed4233c6b7afcd
parent 9f3b4203
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ mod proxy;
mod service;
#[cfg(not(any(trusty, android_ndk)))]
mod state;
#[cfg(not(any(android_vendor, android_ndk, android_vndk)))]
#[cfg(not(any(android_vendor, android_ndk, android_vndk, trusty)))]
mod system_only;

use binder_ndk_sys as sys;
@@ -125,7 +125,7 @@ pub use service::{
pub use service::{get_interface, get_service};
#[cfg(not(any(trusty, android_ndk)))]
pub use state::{ProcessState, ThreadState};
#[cfg(not(any(android_vendor, android_vndk, android_ndk)))]
#[cfg(not(any(android_vendor, android_vndk, android_ndk, trusty)))]
pub use system_only::{delegate_accessor, Accessor, AccessorProvider, ConnectionInfo};

/// Binder result containing a [`Status`] on error.
+12 −2
Original line number Diff line number Diff line
@@ -64,14 +64,24 @@ MODULE_EXPORT_INCLUDES += \
MODULE_EXPORT_INCLUDES += \
	$(LIBBINDER_DIR)/ndk/include_cpp \

ifeq (false,$(call TOBOOL,$(USE_SYSTEM_BINDER)))
BINDER_EXTRA_COMPILE_FLAGS := \
	-D__ANDROID_VENDOR__ \
	-D__ANDROID_VNDK__ \

else
BINDER_EXTRA_COMPILE_FLAGS := \
	-DANDROID_PLATFORM \

endif

MODULE_EXPORT_COMPILEFLAGS += \
	-DBINDER_RPC_SINGLE_THREADED \
	-DBINDER_ENABLE_LIBLOG_ASSERT \
	-DBINDER_DISABLE_NATIVE_HANDLE \
	-DBINDER_DISABLE_BLOB \
	-DBINDER_NO_LIBBASE \
	-D__ANDROID_VENDOR__ \
	-D__ANDROID_VNDK__ \
	$(BINDER_EXTRA_COMPILE_FLAGS)

# libbinder has some deprecated declarations that we want to produce warnings
# not errors
+6 −1
Original line number Diff line number Diff line
@@ -30,9 +30,14 @@ MODULE_LIBRARY_DEPS += \
	trusty/user/base/lib/trusty-sys \

MODULE_RUSTFLAGS += \
	--cfg 'android_vendor' \
	--cfg 'trusty' \

ifeq (false,$(call TOBOOL,$(USE_SYSTEM_BINDER)))
MODULE_RUSTFLAGS += \
	--cfg 'android_vendor' \

endif

MODULE_BINDGEN_SRC_HEADER := $(LIBBINDER_DIR)/rust/sys/BinderBindings.hpp

# Add the flags from the flag file
+7 −1
Original line number Diff line number Diff line
@@ -32,9 +32,15 @@ MODULE_LIBRARY_DEPS += \
	trusty/user/base/lib/trusty-sys \

MODULE_RUSTFLAGS += \
	--cfg 'android_vendor' \
	--cfg 'trusty' \

ifeq (false,$(call TOBOOL,$(USE_SYSTEM_BINDER)))
MODULE_RUSTFLAGS += \
	--cfg 'android_vendor' \

endif


# Trusty does not have `ProcessState`, so there are a few
# doc links in `IBinder` that are still broken.
MODULE_RUSTFLAGS += \