All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: kvm@vger.kernel.org
Cc: alexey.eremenko@qumranet.com
Subject: [PATCH] Make KVM compile on split source/object kernel configurations
Date: Mon, 15 Sep 2008 16:19:58 +0200	[thread overview]
Message-ID: <48CE6F0E.6020601@suse.de> (raw)

[-- Attachment #1: Type: text/plain, Size: 653 bytes --]

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 <agraf@suse.de>

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.



[-- Attachment #2: kvm-split-source-obj.diff --]
[-- Type: text/x-patch, Size: 1500 bytes --]

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"
 		"$$@"

             reply	other threads:[~2008-09-15 14:20 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-15 14:19 Alexander Graf [this message]
2008-09-16 10:01 ` [PATCH] Make KVM compile on split source/object kernel configurations Zhang, Xiantao
2008-09-16 10:24   ` Alexander Graf
2008-09-29 18:13 ` Alexander Graf
2008-09-29 18:32   ` Jan Kiszka
2008-09-29 21:50   ` Brian Jackson
2008-09-29 22:00     ` Alexander Graf
2008-09-30 13:57       ` Brian Jackson
  -- strict thread matches above, loose matches on Subject: below --
2008-09-16  7:22 Zhang, Xiantao
2008-09-16  7:22 ` Zhang, Xiantao
2008-09-16  9:34 ` Alexander Graf
2008-09-16  9:34   ` Alexander Graf
2008-09-16 10:22 ` Zhang, Xiantao
2008-09-16 10:22   ` Zhang, Xiantao
2008-09-16 10:38 ` Alexander Graf
2008-09-16 10:38   ` Alexander Graf
2008-09-18  2:12 ` Zhang, Xiantao
2008-09-18  2:12   ` Zhang, Xiantao
2008-09-18  2:54 ` Alexander Graf
2008-09-18  2:54   ` Alexander Graf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48CE6F0E.6020601@suse.de \
    --to=agraf@suse.de \
    --cc=alexey.eremenko@qumranet.com \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.