repository: /home/avi/kvm branch: master commit add461a4a31ddd623af7df773d4f3ca7b0d765d0 Author: Jerone Young <[EMAIL PROTECTED]> Date: Mon Oct 8 03:35:02 2007 -0500
kvm: configure: enable top level configure script for cross compiles Signed-off-by: Avi Kivity <[EMAIL PROTECTED]> diff --git a/configure b/configure index d9292fe..dffe6c4 100755 --- a/configure +++ b/configure @@ -5,13 +5,17 @@ kerneldir=/lib/modules/$(uname -r)/build 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-commits mailing list kvm-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-commits