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:44:32 +0000
commit9f32e60c21c425a9d78a919a345255c6f24fdd5d (patch)
treef9ce9f2e83810222043800881793a0117cba734a
parenta052e6084a3f6be6950cf1c70b6f1bc3a96eb91b (diff)
downloadcuttlefish_vmm-9f32e60c21c425a9d78a919a345255c6f24fdd5d.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}"