binder: consistent vendor #defines There is mixed use of __ANDROID_VNDK__ and __ANDROID_VENDOR__, so make sure they are set consistently. This is only possible because the VNDK is deprecated. Before this, __ANDROID_VNDK__ may be set without __ANDROID_VENDOR__ (and I think some of the logic in libbinder was probably wrong at that point). Bug: N/A Test: N/A Change-Id: I9cf106ab8309520229ae9e23e7d5c42ab3e425cf
diff --git a/libs/binder/Android.bp b/libs/binder/Android.bp index bf3699c..ae0fb01 100644 --- a/libs/binder/Android.bp +++ b/libs/binder/Android.bp
@@ -258,7 +258,9 @@ "-DBINDER_DISABLE_NATIVE_HANDLE", "-DBINDER_DISABLE_BLOB", "-DBINDER_NO_LIBBASE", + // TODO: switch to "vendor: true" rather than copying this // Trusty libbinder uses vendor stability for its binders + "-D__ANDROID_VENDOR__", "-D__ANDROID_VNDK__", "-U__ANDROID__", "-D__TRUSTY__",
diff --git a/libs/binder/Stability.cpp b/libs/binder/Stability.cpp index c432b3a..665dfea 100644 --- a/libs/binder/Stability.cpp +++ b/libs/binder/Stability.cpp
@@ -73,6 +73,14 @@ (void)setRepr(binder, getLocalLevel(), REPR_NONE); } +// after deprecation of the VNDK, these should be aliases. At some point +// all references to __ANDROID_VNDK__ should be replaced by __ANDROID_VENDOR__ +// but for right now, check that this condition holds because some +// places check __ANDROID_VNDK__ and some places check __ANDROID_VENDOR__ +#if defined(__ANDROID_VNDK__) != defined(__ANDROID_VENDOR__) +#error "__ANDROID_VNDK__ and __ANDROID_VENDOR__ should be aliases" +#endif + Stability::Level Stability::getLocalLevel() { #ifdef __ANDROID_APEX__ #error "APEX can't use libbinder (must use libbinder_ndk)"
diff --git a/libs/binder/trusty/kernel/rules.mk b/libs/binder/trusty/kernel/rules.mk index 788184d..5cbe0af 100644 --- a/libs/binder/trusty/kernel/rules.mk +++ b/libs/binder/trusty/kernel/rules.mk
@@ -69,6 +69,7 @@ -DBINDER_DISABLE_NATIVE_HANDLE \ -DBINDER_DISABLE_BLOB \ -DBINDER_NO_LIBBASE \ + -D__ANDROID_VENDOR__ \ -D__ANDROID_VNDK__ \ MODULE_DEPS += \
diff --git a/libs/binder/trusty/rules.mk b/libs/binder/trusty/rules.mk index e0f821f..f2f140d 100644 --- a/libs/binder/trusty/rules.mk +++ b/libs/binder/trusty/rules.mk
@@ -72,6 +72,7 @@ -DBINDER_DISABLE_NATIVE_HANDLE \ -DBINDER_DISABLE_BLOB \ -DBINDER_NO_LIBBASE \ + -D__ANDROID_VENDOR__ \ -D__ANDROID_VNDK__ \ # libbinder has some deprecated declarations that we want to produce warnings