Enable top level configure script for cross
PATCH RESEND 1/5 Enable top level configure script for cross
This patch adds cross compile capability to the top level configure script.
Updates:
Removed command line option --target-cpu to configure what qemu executable to build.
configure +43 -14
@@ -5,13 +5,17 @@ want_module=1 want_module=1 qemu_cc=$(ls /usr/bin/gcc3* /usr/bin/gcc-3* 2>/dev/null | tail -n1) disable_gcc_check= +cross_prefix= +arch=`uname -m` +target_cpu= usage() { cat <<-EOF Usage: $0 [options] Options include: - + --arch=ARCH architecture to compile for ($arch) + --cross-prefix=PREFIX prefix for cross compiler --prefix=PREFIX where to install things ($prefix) --with-patched-kernel don't use external module --kerneldir=DIR kernel build directory ($kerneldir)
@@ -53,6 +57,12 @@ while [[ "$1" = -* ]]; do --disable-gcc-check) disable_gcc_check=1 ;; + --arch) + arch="$arg" + ;; + --cross-prefix) + cross_prefix="$arg" + ;; --help) usage ;;
@@ -62,7 +72,7 @@ while [[ "$1" = -* ]]; do esac done -if [[ -z "$qemu_cc" ]]; then +if [[ -z "$qemu_cc" ]] && [[ -z "$cross_prefix" ]]; then echo "$0: cannot locate gcc 3.x. please install it or specify with --qemu-cc" exit 1 fi
@@ -72,29 +82,48 @@ if (( want_module )); then libkvm_kerneldir=$(readlink -f kernel) fi -target_cpu() { - if [[ $(uname -m) = i?86 ]]; then - echo x86_64 - else - uname -m +#if arch is an x86 arch set to i386 +if [[ $arch = i?86 ]]; then + arch="i386" +fi + +#see if using a cross compiler or not +compiler= +qemu_opts= +user_opts= +if [[ -z $cross_prefix ]]; then + qemu_opts+=" --cc=$qemu_cc" + user_opts+=" --cc=$qemu_cc" +else + qemu_opts+=" --cross-prefix=$cross_prefix" + user_opts+=" --cross-prefix=$cross_prefix" +fi + +#set parameters compiling +if [ "$arch" = "i386" -o "$arch" = "x86_64" ]; then + if [[ -z $target_cpu ]]; then + target_cpu="x86_64" fi -} + qemu_opts+=" --enable-alsa" +fi -(cd user; ./configure --prefix="$prefix" --kerneldir="$libkvm_kerneldir") -(cd qemu; ./configure --target-list=$(target_cpu)-softmmu --cc="$qemu_cc" \ +#configure user dir +(cd user; ./configure --prefix="$prefix" --kerneldir="$libkvm_kerneldir" \ + $user_opts --arch="$arch") +(cd qemu; ./configure --target-list=$target_cpu-softmmu \ --disable-kqemu --extra-cflags="-I $PWD/../user" \ --extra-ldflags="-L $PWD/../user" \ --enable-kvm --kernel-path="$libkvm_kerneldir" \ - --enable-alsa \ ${disable_gcc_check:+"--disable-gcc-check"} \ - --prefix="$prefix" + --prefix="$prefix" \ + $qemu_opts --cpu="$arch" ) - cat <<EOF > config.mak +ARCH=$arch PREFIX=$prefix KERNELDIR=$kerneldir WANT_MODULE=$want_module +CC=$cross_prefix$qemu_cc EOF -
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
kvm-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel