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

Reply via email to