[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 10/25] ci: build out-of-tree
From: |
Alex Bennée |
Subject: |
[PULL 10/25] ci: build out-of-tree |
Date: |
Thu, 19 Dec 2019 10:49:19 +0000 |
From: Paolo Bonzini <address@hidden>
Most developers are using out-of-tree builds and it was discussed in the past
to only allow those. To prepare for the transition, use out-of-tree builds
in all continuous integration jobs.
Based on a patch by Marc-André Lureau.
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Li-Wen Hsu <address@hidden>
Message-Id: <address@hidden>
diff --git a/configure b/configure
index e0c66ee9b68..93625811a05 100755
--- a/configure
+++ b/configure
@@ -6401,6 +6401,7 @@ else
echo "local state directory queried at runtime"
echo "Windows SDK $win_sdk"
fi
+echo "Build directory $(pwd)"
echo "Source path $source_path"
echo "GIT binary $git"
echo "GIT submodules $git_submodules"
diff --git a/.cirrus.yml b/.cirrus.yml
index 27efc48619b..90645fede6b 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -22,7 +22,9 @@ macos_task:
install_script:
- brew install pkg-config python gnu-sed glib pixman make sdl2
script:
- - ./configure --python=/usr/local/bin/python3 || { cat config.log; exit 1;
}
+ - mkdir build
+ - cd build
+ - ../configure --python=/usr/local/bin/python3 || { cat config.log; exit
1; }
- gmake -j$(sysctl -n hw.ncpu)
- gmake check -j$(sysctl -n hw.ncpu)
@@ -33,6 +35,8 @@ macos_xcode_task:
install_script:
- brew install pkg-config gnu-sed glib pixman make sdl2
script:
- - ./configure --cc=clang || { cat config.log; exit 1; }
+ - mkdir build
+ - cd build
+ - ../configure --cc=clang || { cat config.log; exit 1; }
- gmake -j$(sysctl -n hw.ncpu)
- gmake check -j$(sysctl -n hw.ncpu)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e3db1b847cc..ebcef0ebe9b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,7 +6,9 @@ build-system1:
script:
- apt-get install -y -qq libgtk-3-dev libvte-dev nettle-dev libcacard-dev
libusb-dev libvde-dev libspice-protocol-dev libgl1-mesa-dev
libvdeplug-dev
- - ./configure --enable-werror --target-list="aarch64-softmmu alpha-softmmu
+ - mkdir build
+ - cd build
+ - ../configure --enable-werror --target-list="aarch64-softmmu alpha-softmmu
cris-softmmu hppa-softmmu lm32-softmmu moxie-softmmu microblazeel-softmmu
mips64el-softmmu m68k-softmmu ppc-softmmu riscv64-softmmu sparc-softmmu"
- make -j2
@@ -16,7 +18,9 @@ build-system2:
script:
- apt-get install -y -qq libsdl2-dev libgcrypt-dev libbrlapi-dev libaio-dev
libfdt-dev liblzo2-dev librdmacm-dev libibverbs-dev libibumad-dev
- - ./configure --enable-werror --target-list="tricore-softmmu unicore32-softmmu
+ - mkdir build
+ - cd build
+ - ../configure --enable-werror --target-list="tricore-softmmu
unicore32-softmmu
microblaze-softmmu mips-softmmu riscv32-softmmu s390x-softmmu sh4-softmmu
sparc64-softmmu x86_64-softmmu xtensa-softmmu nios2-softmmu or1k-softmmu"
- make -j2
@@ -24,7 +28,9 @@ build-system2:
build-disabled:
script:
- - ./configure --enable-werror --disable-rdma --disable-slirp --disable-curl
+ - mkdir build
+ - cd build
+ - ../configure --enable-werror --disable-rdma --disable-slirp --disable-curl
--disable-capstone --disable-live-block-migration --disable-glusterfs
--disable-replication --disable-coroutine-pool --disable-smartcard
--disable-guest-agent --disable-curses --disable-libxml2 --disable-tpm
@@ -37,7 +43,9 @@ build-disabled:
build-tcg-disabled:
script:
- apt-get install -y -qq clang libgtk-3-dev libusb-dev
- - ./configure --cc=clang --enable-werror --disable-tcg --audio-drv-list=""
+ - mkdir build
+ - cd build
+ - ../configure --cc=clang --enable-werror --disable-tcg --audio-drv-list=""
- make -j2
- make check-unit
- make check-qapi-schema
@@ -52,7 +60,9 @@ build-tcg-disabled:
build-user:
script:
- - ./configure --enable-werror --disable-system --disable-guest-agent
+ - mkdir build
+ - cd build
+ - ../configure --enable-werror --disable-system --disable-guest-agent
--disable-capstone --disable-slirp --disable-fdt
- make -j2
- make run-tcg-tests-i386-linux-user run-tcg-tests-x86_64-linux-user
@@ -61,7 +71,9 @@ build-clang:
script:
- apt-get install -y -qq clang libsdl2-dev libattr1-dev libcap-ng-dev
xfslibs-dev libiscsi-dev libnfs-dev libseccomp-dev gnutls-dev librbd-dev
- - ./configure --cc=clang --cxx=clang++ --enable-werror
+ - mkdir build
+ - cd build
+ - ../configure --cc=clang --cxx=clang++ --enable-werror
--target-list="alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu
ppc-softmmu s390x-softmmu x86_64-softmmu arm-linux-user"
- make -j2
@@ -70,7 +82,9 @@ build-clang:
build-tci:
script:
- TARGETS="aarch64 alpha arm hppa m68k microblaze moxie ppc64 s390x x86_64"
- - ./configure --enable-tcg-interpreter
+ - mkdir build
+ - cd build
+ - ../configure --enable-tcg-interpreter
--target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)"
- make -j2
- make tests/boot-serial-test tests/cdrom-test tests/pxe-test
diff --git a/.shippable.yml b/.shippable.yml
index f74a3de3ffd..83aae08bb4c 100644
--- a/.shippable.yml
+++ b/.shippable.yml
@@ -35,5 +35,7 @@ build:
options: "-e HOME=/root"
ci:
- unset CC
- - ./configure ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST}
+ - mkdir build
+ - cd build
+ - ../configure ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST}
- make -j$(($(getconf _NPROCESSORS_ONLN) + 1))
diff --git a/.travis.yml b/.travis.yml
index b68566b1fe9..d673ee219e7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -73,8 +73,8 @@ notifications:
env:
global:
- - SRC_DIR="."
- - BUILD_DIR="."
+ - SRC_DIR=".."
+ - BUILD_DIR="build"
- BASE_CONFIG="--disable-docs --disable-tools"
- TEST_CMD="make check V=1"
# This is broadly a list of "mainline" softmmu targets which have support
across the major distros
@@ -191,7 +191,8 @@ matrix:
- CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-sanitize"
compiler: clang
before_script:
- - ./configure ${CONFIG} --extra-cflags="-fsanitize=undefined -Werror"
|| { cat config.log && exit 1; }
+ - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
+ - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-fsanitize=undefined
-Werror" || { cat config.log && exit 1; }
- env:
@@ -323,7 +324,8 @@ matrix:
- CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-pie --disable-linux-user"
- TEST_CMD=""
before_script:
- - ./configure ${CONFIG} --extra-cflags="-g3 -O0
-Wno-error=stringop-truncation -fsanitize=thread -fuse-ld=gold" || { cat
config.log && exit 1; }
+ - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
+ - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-g3 -O0
-Wno-error=stringop-truncation -fsanitize=thread -fuse-ld=gold" || { cat
config.log && exit 1; }
# Run check-tcg against linux-user
@@ -460,5 +462,6 @@ matrix:
- make -C ${SRC_DIR} qemu-${QEMU_VERSION}.tar.bz2
- ls -l ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2
- tar -xf ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 && cd
qemu-${QEMU_VERSION}
- - ./configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
+ - mkdir -p release-build && cd release-build
+ - ../configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1;
}
- make install
--
2.20.1
- [PULL 00/25] testing and logging updates, Alex Bennée, 2019/12/19
- [PULL 01/25] configure: allow disable of cross compilation containers, Alex Bennée, 2019/12/19
- [PULL 03/25] travis.yml: Run tcg tests with tci, Alex Bennée, 2019/12/19
- [PULL 02/25] tests/vm: Allow to set qemu-img path, Alex Bennée, 2019/12/19
- [PULL 04/25] iotests: Provide a function for checking the creation of huge files, Alex Bennée, 2019/12/19
- [PULL 05/25] iotests: Skip test 060 if it is not possible to create large files, Alex Bennée, 2019/12/19
- [PULL 06/25] iotests: Skip test 079 if it is not possible to create large files, Alex Bennée, 2019/12/19
- [PULL 08/25] tests/test-util-filemonitor: Skip test on non-x86 Travis containers, Alex Bennée, 2019/12/19
- [PULL 09/25] travis.yml: Enable builds on arm64, ppc64le and s390x, Alex Bennée, 2019/12/19
- [PULL 07/25] tests/hd-geo-test: Skip test when images can not be created, Alex Bennée, 2019/12/19
- [PULL 10/25] ci: build out-of-tree,
Alex Bennée <=
- [PULL 11/25] Fix double free issue in qemu_set_log_filename()., Alex Bennée, 2019/12/19
- [PULL 12/25] Cleaned up flow of code in qemu_set_log(), to simplify and clarify., Alex Bennée, 2019/12/19
- [PULL 13/25] Add a mutex to guarantee single writer to qemu_logfile handle., Alex Bennée, 2019/12/19
- [PULL 18/25] travis.yml: Remove the redundant clang-with-MAIN_SOFTMMU_TARGETS entry, Alex Bennée, 2019/12/19
- [PULL 21/25] linux-user: add target_mmap_complete tracepoint, Alex Bennée, 2019/12/19
- [PULL 15/25] Add use of RCU for qemu_logfile., Alex Bennée, 2019/12/19
- [PULL 20/25] linux-user: convert target_mmap debug to tracepoint, Alex Bennée, 2019/12/19
- [PULL 17/25] docker: gtester is no longer used, Alex Bennée, 2019/12/19
- [PULL 19/25] linux-user: convert target_mprotect debug to tracepoint, Alex Bennée, 2019/12/19
- [PULL 16/25] Added tests for close and change of logfile., Alex Bennée, 2019/12/19