diff options
author | Jorge E. Moreira <jemoreira@google.com> | 2022-12-28 15:30:45 -0800 |
---|---|---|
committer | Jorge E. Moreira <jemoreira@google.com> | 2022-12-28 15:30:45 -0800 |
commit | db325c913d5d0bce90caf13b13bd734ca31f75bd (patch) | |
tree | 51c65c2e184e8e23c5fe909c17951fe7b42b0c61 | |
parent | b76c16fab94dcb5b372983f741ce8d26da309b17 (diff) | |
download | cuttlefish_vmm-db325c913d5d0bce90caf13b13bd734ca31f75bd.tar.gz |
Allow rebuild scripts to reuse existing sources
By making the changes they make to the sources idempotent in practice.
Bug: 263904258
Test: locally
Change-Id: I99538a7ce086f649183addf7382222b0374aa6b5
-rwxr-xr-x | rebuild-internal.sh | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/rebuild-internal.sh b/rebuild-internal.sh index a4cbd59..78eea48 100755 --- a/rebuild-internal.sh +++ b/rebuild-internal.sh @@ -208,22 +208,25 @@ 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 - - # Use Android prebuilt C files instead of generating them - sed -i 's,\(.*\.gen\.c: \),DISABLED_\1,' Makefile - cat >>Makefile <<EOF + if ! grep '^# cuttlefish_vmm-rebuild-mark' Makefile; then + # 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 + + # Use Android prebuilt C files instead of generating them + sed -i 's,\(.*\.gen\.c: \),DISABLED_\1,' Makefile + cat >>Makefile <<EOF libconstants.gen.c: \$(SRC)/linux-x86/libconstants.gen.c @cp \$< \$@ libsyscalls.gen.c: \$(SRC)/linux-x86/libsyscalls.gen.c @cp \$< \$@ +# cuttlefish_vmm-rebuild-mark EOF - # Apply https://crrev.com/c/3989233 - sed -i 's,\(#define __NR_rseq 293\),\1\n#endif,' gen_syscalls-inl.h - sed -i '$ d' gen_syscalls-inl.h + # Apply https://crrev.com/c/3989233 + sed -i 's,\(#define __NR_rseq 293\),\1\n#endif,' gen_syscalls-inl.h + sed -i '$ d' gen_syscalls-inl.h + fi make -j OUT="${WORKING_DIR}" @@ -311,6 +314,7 @@ compile_gfxstream() { echo "Compiling gfxstream..." local dist_dir="${SOURCE_DIR}/device/generic/vulkan-cereal/build" + [ -d "${dist_dir}" ] && rm -rf "${dist_dir}" mkdir "${dist_dir}" cd "${dist_dir}" @@ -336,11 +340,13 @@ compile_crosvm() { # Workaround for aosp/1412815 cd "${SOURCE_DIR}/platform/crosvm/protos/src" - cat >>lib.rs <<EOF + if ! grep '^mod generated {$' lib.rs; then + cat >>lib.rs <<EOF mod generated { include!(concat!(env!("OUT_DIR"), "/generated.rs")); } EOF + fi sed -i "s/pub use cdisk_spec_proto::cdisk_spec/pub use generated::cdisk_spec/" lib.rs cd "${SOURCE_DIR}/platform/crosvm" |