chiark / gitweb /
[PATCH] add KERNEL_DIR option so that the distros will be happy
authorgreg@kroah.com <greg@kroah.com>
Tue, 3 Feb 2004 08:51:51 +0000 (00:51 -0800)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 04:32:25 +0000 (21:32 -0700)
Based on a patch from Svetoslav Slavtchev <svetljo@gmx.de>

Makefile
README
extras/multipath/Makefile
extras/multipath/libdevmapper/Makefile
klibc/MCONFIG

index dd2f697..e1846dd 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -41,6 +41,9 @@ LOCAL_CFG_DIR =       etc/udev
 HOTPLUG_EXEC = $(ROOT)
 
 DESTDIR =
+
+KERNEL_DIR = /lib/modules/${shell uname -r}/build
+
 # override this to make udev look in a different location for it's config files
 prefix =
 exec_prefix =  ${prefix}
@@ -135,7 +138,8 @@ ifeq ($(strip $(USE_KLIBC)),true)
        KLIBC_BASE      = $(PWD)/klibc
        KLIBC_DIR       = $(KLIBC_BASE)/klibc
        INCLUDE_DIR     := $(KLIBC_DIR)/include
-       LINUX_INCLUDE_DIR       := $(KLIBC_BASE)/linux/include
+       LINUX_INCLUDE_DIR       := $(KERNEL_DIR)/include
+#      LINUX_INCLUDE_DIR       := $(KLIBC_BASE)/linux/include
        include $(KLIBC_DIR)/arch/$(ARCH)/MCONFIG
        # arch specific objects
        ARCH_LIB_OBJS = \
@@ -169,7 +173,10 @@ CFLAGS += -I$(PWD)/libsysfs
 all: $(ROOT) $(SENDER) $(UDEVD) $(HELPER)
        @extras="$(EXTRAS)" ; for target in $$extras ; do \
                echo $$target ; \
-               $(MAKE) prefix=$(prefix) LD="$(LD)" SYSFS="$(SYSFS)" \
+               $(MAKE) prefix=$(prefix) \
+                       LD="$(LD)" \
+                       SYSFS="$(SYSFS)" \
+                       KERNEL_DIR="$(KERNEL_DIR)" \
                        -C $$target $@ ; \
        done ; \
 
@@ -178,7 +185,7 @@ $(ROOT): $(LIBC)
 $(ARCH_LIB_OBJS) : $(CRT0)
 
 $(CRT0):
-       $(MAKE) -C klibc
+       $(MAKE) -C klibc KERNEL_DIR=$(KERNEL_DIR)
 
 TDB =  tdb/tdb.o       \
        tdb/spinlock.o
diff --git a/README b/README
index 26032c3..c639121 100644 (file)
--- a/README
+++ b/README
@@ -52,15 +52,16 @@ To use:
        DEBUG
                if set to 'true', debugging messages will be sent to the syslog
                as udev is run.  Default value is 'false'.
+       KERNEL_DIR
+               If this is not set it will default to /lib/modules/`uname -r`/build
+               This is used if USE_KLIBC=true to find the kernel include
+               directory that klibc needs to build against.  This must be set
+               if you are not building udev while running a 2.6 kernel.
 
       So, if you want to build udev using klibc with debugging messages, you
       would do:
        make USE_KLIBC=true DEBUG=true
 
-      Note: If you want to use klibc, you will have to set up the "linux"
-            symlink properly.  See the file klibc/klibc/README and pay
-           attention to step "a)" there.
-
 - Install the project:
        make install
 
@@ -95,3 +96,4 @@ greg@kroah.com
 
 
 
+
index 3f13532..0aac146 100644 (file)
@@ -15,7 +15,7 @@ CC = gcc
 GCCINCDIR := ${shell $(CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp"}
 CFLAGS = -pipe -g -O2 -Wall -Wunused -Wstrict-prototypes -nostdinc \
          -I$(klibcdir)/klibc/include -I$(klibcdir)/klibc/include/bits32 \
-         -I$(GCCINCDIR) -I$(klibcdir)/linux/include -I$(sysfsdir) -I.
+         -I$(GCCINCDIR) -I$(KERNEL_DIR)/include -I$(sysfsdir) -I.
 
 OBJS = main.o
 CRT0 = ../../klibc/klibc/crt0.o
@@ -32,7 +32,7 @@ SUBDIRS = libdevmapper
 
 recurse:
        @for dir in $(SUBDIRS); do\
-       $(MAKE) -C $$dir ; \
+       $(MAKE) KERNEL_DIR=$(KERNEL_DIR) -C $$dir ; \
        done
        $(MAKE) $(EXEC)
 
index b160075..a05a31e 100644 (file)
@@ -10,7 +10,7 @@ CC = gcc
 GCCINCDIR := ${shell $(CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp"}
 CFLAGS = -pipe -g -O2 -Wall -Wunused -Wstrict-prototypes -nostdinc \
          -I$(klibcdir)/klibc/include -I$(klibcdir)/klibc/include/bits32 \
-         -I$(GCCINCDIR) -I$(klibcdir)/linux/include -I. -Iioctl
+         -I$(GCCINCDIR) -I$(KERNEL_DIR)/include -I. -Iioctl
 
 OBJS = ioctl/libdevmapper.o libdm-common.o
 
index ed7755b..8b5da41 100644 (file)
@@ -12,7 +12,7 @@ REQFLAGS = $(ARCHREQFLAGS) -nostdinc -iwithprefix include -I$(KLIBSRC) \
          -I$(KLIBSRC)/arch/$(ARCH)/include \
          -I$(KLIBSRC)/include/bits$(BITSIZE) \
          -D__KLIBC__ -DBITSIZE=$(BITSIZE) -I$(KLIBSRC)/include \
-         -I$(SRCROOT)/linux/include
+         -I$(KERNEL_DIR)/include
 LDFLAGS =
 AR      = $(CROSS)ar
 RANLIB  = $(CROSS)ranlib