aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlistair Delva <adelva@google.com>2022-09-15 15:14:59 -0700
committerAlistair Delva <adelva@google.com>2022-09-16 03:45:03 +0000
commit3c6f3f6023bf8de429d68cd05b3c0a45dff74a82 (patch)
treeb097ebafcfa3ff9b861408d6bd95c5d8d3d9d774
parent169561cb150a37ce2a8c5fd5db635757b6e865e8 (diff)
downloadcuttlefish_vmm-3c6f3f6023bf8de429d68cd05b3c0a45dff74a82.tar.gz
Modify minijail-sys to link dynamically
When minijail-sys is built with cargo, it would link libminijail.pic.a which ultimately causes this library to be linked into crosvm statically. When minijail-sys is built by the Android build system, it is linked dynamically to libminijail.so, which makes it easier to share the library and to debug issues in it. Change the cargo build process to use a dynamically linked object. Bug: 246436720 Change-Id: Ida49760eeb9e02dbde1edecedf397cbdd7e1ac29
-rwxr-xr-xrebuild-internal.sh4
1 files changed, 4 insertions, 0 deletions
diff --git a/rebuild-internal.sh b/rebuild-internal.sh
index 2914101..6c51a8d 100755
--- a/rebuild-internal.sh
+++ b/rebuild-internal.sh
@@ -208,6 +208,10 @@ compile_minijail() {
cd "${SOURCE_DIR}/platform/minijail"
+ # Link minijail-sys rust crate dynamically to minijail
+ sed -i '/BUILD_STATIC_LIBS/d' rust/minijail-sys/build.rs
+ sed -i 's,static=minijail.pic,dylib=minijail,' rust/minijail-sys/build.rs
+
make -j OUT="${WORKING_DIR}"
cp "${WORKING_DIR}/libminijail.so" "${OUTPUT_LIB_DIR}"