Do not build system/etc/public.libraries.txt.
It's not available when building with the unbundled module_<arch>
products. When creating the linker config, use our own chroot-specific
public.libraries.buildbot.txt instead, which is also the one that gets
pushed in buildbot-sync.sh.
Test: rm -r out/*/product
lunch armv8-eng && \
art/tools/buildbot-build.sh --target && \
art/tools/buildbot-teardown-device.sh && \
art/tools/buildbot-cleanup-device.sh && \
art/tools/buildbot-setup-device.sh && \
art/tools/buildbot-sync.sh && \
art/tools/run-gtests.sh && \
art/test/testrunner/testrunner.py --target --64 && \
art/tools/run-libcore-tests.sh --mode=device --variant=X64 && \
art/tools/run-libjdwp-tests.sh --mode=device --variant=X64
Bug: 179900989
Change-Id: Idffae0faa40d0256f06bfcb9c4c1899e8a806e29
diff --git a/tools/buildbot-build.sh b/tools/buildbot-build.sh
index 77eac77..7e736bf 100755
--- a/tools/buildbot-build.sh
+++ b/tools/buildbot-build.sh
@@ -129,7 +129,6 @@
# Note these go into out/target/common/obj/JAVA_LIBRARIES which isn't removed
# by "m installclean".
make_command+=" i18n.module.public.api.stubs conscrypt.module.public.api.stubs"
- make_command+=" ${ANDROID_PRODUCT_OUT#"${ANDROID_BUILD_TOP}/"}/system/etc/public.libraries.txt"
# Targets required to generate a linker configuration for device within the
# chroot environment. The *.libraries.txt targets are required by
# the source linkerconfig but not included in the prebuilt one.
@@ -302,6 +301,11 @@
mkdir -p $linkerconfig_root/system
cp -r $ANDROID_PRODUCT_OUT/system/etc $linkerconfig_root/system
+ # Use our smaller public.libraries.txt that contains only the public libraries
+ # pushed to the chroot directory.
+ cp $ANDROID_BUILD_TOP/art/tools/public.libraries.buildbot.txt \
+ $linkerconfig_root/system/etc/public.libraries.txt
+
# For linkerconfig to pick up the APEXes correctly we need to make them
# available in $linkerconfig_root/apex.
mkdir -p $linkerconfig_root/apex