qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

common.rc (1905B)


      1 #!/bin/sh
      2 #
      3 # Common routines for docker test scripts.
      4 #
      5 # Copyright (c) 2016 Red Hat Inc.
      6 #
      7 # Authors:
      8 #  Fam Zheng <famz@redhat.com>
      9 #
     10 # This work is licensed under the terms of the GNU GPL, version 2
     11 # or (at your option) any later version. See the COPYING file in
     12 # the top-level directory.
     13 
     14 # This might be set by ENV of a docker container... it is always
     15 # overriden by TARGET_LIST if the user sets it. We special case
     16 # "none" to allow for other options like --disable-tcg to restrict the
     17 # builds we eventually do.
     18 if test "$DEF_TARGET_LIST" = "none"; then
     19     DEF_TARGET_LIST=""
     20 else
     21     DEF_TARGET_LIST=${DEF_TARGET_LIST:-"x86_64-softmmu,aarch64-softmmu"}
     22 fi
     23 
     24 requires_binary()
     25 {
     26     found=0
     27     for c in $@; do
     28         for d in /bin /usr/bin /usr/local/bin
     29         do
     30             if test -f "$d/$c"
     31             then
     32                 found=1
     33             fi
     34         done
     35     done
     36     if test "$found" != "1"
     37     then
     38         echo "Prerequisite '$c' not present, skip"
     39         exit 0
     40     fi
     41 }
     42 
     43 configure_qemu()
     44 {
     45     config_opts="--enable-werror \
     46                  ${TARGET_LIST:+--target-list=${TARGET_LIST}} \
     47                  --prefix=$INSTALL_DIR \
     48                  $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS \
     49                  $@"
     50     echo "Configure options:"
     51     echo $config_opts
     52     $QEMU_SRC/configure $config_opts || \
     53         { cat config.log && test_fail "Failed to run 'configure'"; }
     54 }
     55 
     56 build_qemu()
     57 {
     58     configure_qemu $@
     59     make $MAKEFLAGS
     60 }
     61 
     62 check_qemu()
     63 {
     64     # default to make check unless the caller specifies
     65     if [ $# = 0 ]; then
     66         INVOCATION="${TEST_COMMAND:-make $MAKEFLAGS check}"
     67     else
     68         INVOCATION="make $MAKEFLAGS $@"
     69     fi
     70 
     71     $INVOCATION
     72 }
     73 
     74 test_fail()
     75 {
     76     echo "$@"
     77     exit 1
     78 }
     79 
     80 prep_fail()
     81 {
     82     echo "$@"
     83     exit 2
     84 }
     85 
     86 install_qemu()
     87 {
     88     make install $MAKEFLAGS DESTDIR=$PWD/=destdir
     89     ret=$?
     90     rm -rf $PWD/=destdir
     91     return $ret
     92 }