instead do it in the 'ci' target when needed. for mips64el-softmmu target: use dtc submodule if distrib packages are too old.
example with outdated libfdt on mips64el-softmmu target (required is >= 1.4.2): # dpkg-query --showformat='${Version}\n' --show libfdt-dev 1.4.0+dfsg-1 shippable output: ---------------- LINK mips64el-softmmu/qemu-system-mips64el ../hw/core/loader-fit.o: In function `load_fit': /root/src/github.com/philmd/qemu/hw/core/loader-fit.c:278: undefined reference to `fdt_first_subnode' /root/src/github.com/philmd/qemu/hw/core/loader-fit.c:286: undefined reference to `fdt_next_subnode' /root/src/github.com/philmd/qemu/hw/core/loader-fit.c:277: undefined reference to `fdt_first_subnode' collect2: error: ld returned 1 exit status Makefile:201: recipe for target 'qemu-system-mips64el' failed make[1]: *** [qemu-system-mips64el] Error 1 Makefile:327: recipe for target 'subdir-mips64el-softmmu' failed make: *** [subdir-mips64el-softmmu] Error 2 Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> --- .shippable.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.shippable.yml b/.shippable.yml index 1e3ae35dd9..46adfa030f 100644 --- a/.shippable.yml +++ b/.shippable.yml @@ -1,4 +1,6 @@ language: c +git: + submodules: false env: global: - LC_ALL=C @@ -19,5 +21,13 @@ build: options: "-e HOME=/root" ci: - unset CC + # some targets require newer up to date packages, for example TARGET_LIST matching + # aarch64*-softmmu|arm*-softmmu|ppc*-softmmu|microblaze*-softmmu|mips64el-softmmu) + # see the configure script: + # error_exit "DTC (libfdt) version >= 1.4.2 not present. Your options:" + # " (1) Preferred: Install the DTC (libfdt) devel package" + # " (2) Fetch the DTC submodule, using:" + # " git submodule update --init dtc" + - dpkg --compare-versions `dpkg-query --showformat='${Version}' --show libfdt-dev` ge 1.4.2 || git submodule update --init dtc - ./configure ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST} - make -j$(($(getconf _NPROCESSORS_ONLN) + 1)) -- 2.11.0