* [PATCH 1/5] Enable top level configure script for cross compile
@ 2007-10-08 5:10 Jerone Young
2007-10-08 7:49 ` Christian Ehrhardt
0 siblings, 1 reply; 3+ messages in thread
From: Jerone Young @ 2007-10-08 5:10 UTC (permalink / raw)
To: kvm-devel
[-- Attachment #1: Type: text/plain, Size: 156 bytes --]
This patch adds cross compile capability to the top level configure
script.
Signed-off-by: Jerone Young <jyoung5-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
[-- Attachment #2: enable_cross_comp_main_configure_script --]
[-- Type: text/x-patch, Size: 2753 bytes --]
diff -r f48e521e0add configure
--- a/configure Wed Oct 03 21:00:03 2007 -0500
+++ b/configure Thu Oct 04 14:59:16 2007 -0500
@@ -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,15 @@ while [[ "$1" = -* ]]; do
--disable-gcc-check)
disable_gcc_check=1
;;
+ --arch)
+ arch="$arg"
+ ;;
+ --cross-prefix)
+ cross_prefix="$arg"
+ ;;
+ --target-cpu)
+ target_cpu="$arg"
+ ;;
--help)
usage
;;
@@ -62,7 +75,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 +85,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
-
[-- Attachment #3: Type: text/plain, Size: 314 bytes --]
-------------------------------------------------------------------------
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/
[-- Attachment #4: Type: text/plain, Size: 186 bytes --]
_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH 1/5] Enable top level configure script for cross compile
2007-10-08 5:10 [PATCH 1/5] Enable top level configure script for cross compile Jerone Young
@ 2007-10-08 7:49 ` Christian Ehrhardt
[not found] ` <4709E0ED.7010709-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Christian Ehrhardt @ 2007-10-08 7:49 UTC (permalink / raw)
To: jyoung5-r/Jw6+rmf7HQT0dZR+AlfA; +Cc: kvm-devel
Hi,
I saw that you derive $target_cpu from arch as I know it from your older internal and external patches.
Now you added the configure command line option --target-cpu to allow to overwrite that $arch derived target.
a) do you have some use cases in mind where you need an overwritten target instead the one derived from $arch ?
b) if it is needed, please add a small description to the usage() output
Kind regards,
Christian Ehrhardt
Jerone Young wrote:
> This patch adds cross compile capability to the top level configure
> script.
>
> Signed-off-by: Jerone Young <jyoung5-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
>
>
> ------------------------------------------------------------------------
>
> diff -r f48e521e0add configure
> --- a/configure Wed Oct 03 21:00:03 2007 -0500
> +++ b/configure Thu Oct 04 14:59:16 2007 -0500
> @@ -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,15 @@ while [[ "$1" = -* ]]; do
> --disable-gcc-check)
> disable_gcc_check=1
> ;;
> + --arch)
> + arch="$arg"
> + ;;
> + --cross-prefix)
> + cross_prefix="$arg"
> + ;;
> + --target-cpu)
> + target_cpu="$arg"
> + ;;
> --help)
> usage
> ;;
> @@ -62,7 +75,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 +85,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
> kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/kvm-devel
--
Grüsse / regards,
Christian Ehrhardt
IBM Linux Technology Center, Open Virtualization
+49 7031/16-3385
Ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org
Ehrhardt-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org
IBM Deutschland Entwicklung GmbH
Vorsitzender des Aufsichtsrats: Johann Weihen
Geschäftsführung: Herbert Kircher
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
-------------------------------------------------------------------------
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/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-10-08 8:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-08 5:10 [PATCH 1/5] Enable top level configure script for cross compile Jerone Young
2007-10-08 7:49 ` Christian Ehrhardt
[not found] ` <4709E0ED.7010709-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2007-10-08 8:26 ` Jerone Young
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox