Add comments for some tag exclusions
[csit.git] / resources / libraries / bash / qemu_build.sh
old mode 100644 (file)
new mode 100755 (executable)
index 449cce6..4638ec1
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright (c) 2016 Cisco and/or its affiliates.
+# Copyright (c) 2018 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-echo
-echo Downloading QEMU source
-echo
-sudo rm -rf /tmp/qemu-2.2.1
-cd /tmp
-wget -q http://wiki.qemu-project.org/download/qemu-2.2.1.tar.bz2 || exit
+set -x
 
-echo
-echo Extracting QEMU
-echo
-tar xjf qemu-2.2.1.tar.bz2 || exit
-rm qemu-2.2.1.tar.bz2
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 
-echo
-echo Building QEMU
-echo
-cd qemu-2.2.1
-mkdir build
-cd build
-../configure --target-list=x86_64-softmmu || exit
-make -j`nproc` || exit
+# Include
+source ${SCRIPT_DIR}/config/defaults
+source ${SCRIPT_DIR}/shell/qemu_utils.sh
 
-echo
-echo QEMU ready
-echo
+# Read configuration
+while read line
+do
+    if echo $line | grep -F = &>/dev/null
+    then
+        varname=$(echo "$line" | cut -d '=' -f 1)
+        cfg[$varname]=$(echo "$line" | cut -d '=' -f 2-)
+    fi
+done < ${SCRIPT_DIR}/config/config
+
+# Read parameters
+for i in "$@"; do
+    case $i in
+        --version=*)
+            cfg['QEMU_INSTALL_VERSION']="${i#*=}"
+            shift ;;
+        --directory=*)
+            cfg['QEMU_INSTALL_DIR']="${i#*=}"
+            shift ;;
+        --patch)
+            cfg['QEMU_PATCH']=true
+            shift ;;
+        --force)
+            cfg['QEMU_FORCE_INSTALL']=true
+            shift ;;
+        --target-list)
+            cfg['QEMU_TARGET_LIST']="${i#*=}"
+            shift ;;
+        *)
+            ;;
+    esac
+done
+
+# Install qemu
+qemu_utils.qemu_install ${cfg[QEMU_INSTALL_DIR]} ${cfg[QEMU_INSTALL_VERSION]} \
+    ${cfg[QEMU_PATCH]} ${cfg[QEMU_FORCE_INSTALL]} ${cfg[QEMU_TARGET_LIST]}