Alexander Graf wrote: > Any further comments on this? I would really like to see KVM build > out-of-the-box on SUSE kernels (and kernels built with O= at the same > time). > > Alex
/me, too. And my colleagues @work. We carry around an old hack to build
against SuSE, now waiting for your clean solution to be merged.
Jan
>
> On 15.09.2008, at 16:19, Alexander Graf wrote:
>
>> KVM as is assumes that the kernel obj dir and the kernel source dir
>> are at the same location. This is true for most self-built vanilla
>> kernels, but some distributions split these up (e.g. SUSE).
>> To keep compatible and have users have a good experience on building
>> KVM on any distribution, this patch attempts to rebuild the logic from
>> the kernel Makefile as closely as possible. With it I successfully
>> built KVM on a current SUSE system.
>>
>> Signed-off-by: Alexander Graf <[EMAIL PROTECTED]>
>>
>> Please check and see if it breaks the build process for anyone else.
>> Building with IA64 on SUSE-kernels is still broken due to similar but
>> separate problems.
>>
>>
>> diff --git a/configure b/configure
>> index 3bb10ce..5e9cbab 100755
>> --- a/configure
>> +++ b/configure
>> @@ -1,6 +1,7 @@
>> #!/bin/bash
>>
>> prefix=/usr/local
>> +kernelsourcedir=
>> kerneldir=/lib/modules/$(uname -r)/build
>> cc=gcc
>> ld=ld
>> @@ -102,6 +103,11 @@ if [ "$arch" = "powerpc" ]; then
>> qemu_ldflags="$qemu_ldflags -L $PWD/libfdt"
>> fi
>>
>> +# see if we have split build and source directories
>> +if [ -d "$kerneldir/include2" ]; then
>> + kernelsourcedir=${kerneldir%/*}/source
>> +fi
>> +
>> #configure user dir
>> (cd user; ./configure --prefix="$prefix"
>> --kerneldir="$libkvm_kerneldir" \
>> --arch="$arch" \
>> @@ -124,6 +130,7 @@ cat <<EOF > config.mak
>> ARCH=$arch
>> PREFIX=$prefix
>> KERNELDIR=$kerneldir
>> +KERNELSOURCEDIR=$kernelsourcedir
>> LIBKVM_KERNELDIR=$libkvm_kerneldir
>> WANT_MODULE=$want_module
>> CROSS_COMPILE=$cross_prefix
>> diff --git a/kernel/Makefile b/kernel/Makefile
>> index 3f5f6da..d2cf89c 100644
>> --- a/kernel/Makefile
>> +++ b/kernel/Makefile
>> @@ -36,7 +36,9 @@ hack-files = $(hack-files-$(ARCH_DIR))
>> all:: header-link prerequisite
>> # include header priority 1) $LINUX 2) $KERNELDIR 3) include-compat
>> $(MAKE) -C $(KERNELDIR) M=`pwd` \
>> - LINUXINCLUDE="-I`pwd`/include -Iinclude
>> -Iarch/${ARCH_DIR}/include -I`pwd`/include-compat \
>> + LINUXINCLUDE="-I`pwd`/include -Iinclude \
>> + $(if $(KERNELSOURCEDIR),-Iinclude2
>> -I$(KERNELSOURCEDIR)/include) \
>> + -Iarch/${ARCH_DIR}/include -I`pwd`/include-compat \
>> -include include/linux/autoconf.h \
>> -include `pwd`/$(ARCH_DIR)/external-module-compat.h"
>> "$$@"
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
signature.asc
Description: OpenPGP digital signature
