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

Commit 9d27901e authored by Steven Moreland's avatar Steven Moreland
Browse files

Add more details to divergent vndk lib error.

Bash better broadcast better build-backstop baggage because baffled
beings' bewilderement begets badness.

Fixes: 162379658
Test: view error by removing "libbinder" from
  VndkMustUseVendorVariantList.
Change-Id: Ib425e30bc7b5388b78af4bfab84dd24072d550a6
parent c8343a3f
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -26,7 +26,19 @@ function strip_lib() {
strip_lib ${CORE} ${stripped_core}
strip_lib ${VENDOR} ${stripped_vendor}
if ! cmp -s ${stripped_core} ${stripped_vendor}; then
  echo "VNDK library not in vndkMustUseVendorVariantList but has different core and vendor variant: $(basename ${CORE})"
  echo "If the two variants need to have different runtime behavior, consider using libvndksupport."
  echo "ERROR: VNDK library $(basename ${CORE%.so}) has different core and" \
    "vendor variants! This means that the copy used in the system.img/etc" \
    "and vendor.img/etc images are different. In order to preserve space on" \
    "some devices, it is helpful if they are the same. Frequently, " \
    "libraries are different because they or their dependencies compile" \
    "things based on the macro '__ANDROID_VNDK__' or they specify custom" \
    "options under 'target: { vendor: { ... } }'. Here are some possible" \
    "resolutions:"
  echo "ERROR: 1). Remove differences, possibly using the libvndksupport" \
    "function android_is_in_vendor_process in order to turn this into a" \
    "runtime difference."
  echo "ERROR: 2). Add the library to the VndkMustUseVendorVariantList" \
    "variable in build/soong/cc/config/vndk.go, which is used to" \
    "acknowledge this difference."
  exit 1
fi