[Ocfs2-devel] Makefile and configure changes for 2.6 support

John L. Villalovos john.l.villalovos at intel.com
Fri Feb 27 14:52:32 CST 2004


This is a cumulative patch to provide support to the build system for building OCFS2 for 2.6.

This does NOT have the patches that are needed to the source code files to make them build under 2.6.

It only consists of changes to:
Config.make.in
configure.in
src/Makefile

and the addition of:
src/Makefile-2.6.in

Thanks,
John



Index: Config.make.in
===================================================================
--- Config.make.in	(revision 36)
+++ Config.make.in	(working copy)
@@ -58,5 +58,6 @@
  OCFS_MEMDEBUG = @OCFS_MEMDEBUG@
  OCFS_TRACE = @OCFS_TRACE@
  OCFS_PROCESSOR = @OCFS_PROCESSOR@
+OCFS_KERNEL_2_6 = @OCFS_KERNEL_2_6@

  USE_JOURNAL_CREATE_REPLACEMENT = @USE_JOURNAL_CREATE_REPLACEMENT@
Index: configure.in
===================================================================
--- configure.in	(revision 36)
+++ configure.in	(working copy)
@@ -83,6 +83,13 @@
    AC_MSG_ERROR(GCC is required)
  fi

+AC_ARG_ENABLE(kernel-2_6, AS_HELP_STRING([--enable-kernel-2_6], [(BROKEN!) Enable building on Linux kernel version 2.6.x (default=no)]),enable_kernel26=yes,enable_kernel26=no)
+OCFS_KERNEL_2_6=
+if test "x$enable_kernel26" = "xyes"; then
+  OCFS_KERNEL_2_6=yes
+fi
+AC_SUBST(OCFS_KERNEL_2_6)
+
  AC_ARG_ENABLE(debug, [  --enable-debug=[yes/no]         Turn on debugging [default=yes]],,enable_debug=yes)
  OCFS_DEBUG=
  if test "x$enable_debug" = "xyes"; then
@@ -178,6 +185,13 @@
  case "$kversion" in
    2.4.*)
      ;;
+  2.6.*)
+    if test "x$enable_kernel26" = "xyes"; then
+      AC_MSG_NOTICE([Support for kernel version 2.6 is BROKEN at this time!])
+    else
+      AC_MSG_ERROR([Support for kernel version 2.6 is BROKEN (System Hangs) at this time!  You must use --enable-kernel-2_6 to get past this point.])
+    fi
+    ;;
    *)
      AC_MSG_ERROR([This module only supports kernel version 2.4.x])
      ;;
@@ -304,6 +318,9 @@
  GCCINC=$gccdir
  AC_SUBST(GCCINC)

+OCFS_BUILD_DIR=`pwd`
+AC_SUBST(OCFS_BUILD_DIR)
+
  AC_OUTPUT([Config.make
  vendor/redhat/ocfs2-2.4.9-e.spec
  vendor/redhat/ocfs2-2.4.18-e.spec
@@ -314,4 +331,5 @@
  vendor/unitedlinux/ocfs2-2.4.21-107.spec
  vendor/unitedlinux/ocfs2-2.4.21-111.spec
  vendor/unitedlinux/ocfs2-2.4.21-138.spec
+src/Makefile-2.6
  ])
Index: src/Makefile
===================================================================
--- src/Makefile	(revision 36)
+++ src/Makefile	(working copy)
@@ -1,3 +1,8 @@
+# 2.6 Kernel stuff
+ifneq "$(KERNELRELEASE)" ""
+include $(obj)/Makefile-2.6
+else
+
  TOPDIR = ..

  include $(TOPDIR)/Preamble.make
@@ -2,2 +7,5 @@

+# Preliminary 2.6.x kernel support
+ifndef OCFS_KERNEL_2_6
+
  WARNINGS = -Wall -Wstrict-prototypes -Wno-format
@@ -199,4 +207,9 @@
  dist-subdircreate:
  	$(TOPDIR)/mkinstalldirs $(DIST_DIR)/inc

+else # OCFS_KERNEL_2_6
+# Preliminary 2.6.x kernel support
+include Makefile-2.6
+endif # OCFS_KERNEL_2_6
  include $(TOPDIR)/Postamble.make
+endif # ifneq ($(KERNELRELEASE),)
Index: src/Makefile-2.6.in
===================================================================
--- /dev/null	2004-02-23 13:02:56.000000000 -0800
+++ src/Makefile-2.6.in	2004-02-27 14:42:05.631311124 -0800
@@ -0,0 +1,24 @@
+ifneq ($(KERNELRELEASE),)
+
+OCFS_SRC_DIR	:= @OCFS_BUILD_DIR@/src
+EXTRA_CFLAGS += -D__ILP32__ -I$(OCFS_SRC_DIR)/inc -DDEBUG -DHAVE_NPTL \
+		-DTRACE -DALLOW_NO_HANDLE_SYNCING -DOCFS_PARANOID_ABORTS \
+		-Wno-format -DOCFS_BUILD_VERSION=\"x\" -DLINUX_2_5 \
+		-DOCFS_BUILD_DATE=\"y\" -DOCFS_BUILD_MD5=\"z\" -Werror
+
+obj-m += ocfs2.o
+
+ocfs2-objs := alloc.o divdi3.o hash.o ioctl.o oin.o super.o ver.o \
+              bitmap.o dlm.o heartbeat.o journal.o osb.o symlink.o volcfg.o \
+              dcache.o extmap.o inode.o namei.o proc.o sysfile.o vote.o \
+              dir.o file.o io.o nm.o sem.o util.o
+
+else
+
+KDIR	:= $(KERNELDIR)
+OCFS_SRC_DIR	:= @OCFS_BUILD_DIR@/src
+
+all:
+	$(MAKE) -C $(KDIR) V=1 SUBDIRS=$(OCFS_SRC_DIR) modules
+
+endif
-------------- next part --------------
Index: Config.make.in
===================================================================
--- Config.make.in	(revision 36)
+++ Config.make.in	(working copy)
@@ -58,5 +58,6 @@
 OCFS_MEMDEBUG = @OCFS_MEMDEBUG@
 OCFS_TRACE = @OCFS_TRACE@
 OCFS_PROCESSOR = @OCFS_PROCESSOR@
+OCFS_KERNEL_2_6 = @OCFS_KERNEL_2_6@
 
 USE_JOURNAL_CREATE_REPLACEMENT = @USE_JOURNAL_CREATE_REPLACEMENT@
Index: configure.in
===================================================================
--- configure.in	(revision 36)
+++ configure.in	(working copy)
@@ -83,6 +83,13 @@
   AC_MSG_ERROR(GCC is required)
 fi
 
+AC_ARG_ENABLE(kernel-2_6, AS_HELP_STRING([--enable-kernel-2_6], [(BROKEN!) Enable building on Linux kernel version 2.6.x (default=no)]),enable_kernel26=yes,enable_kernel26=no)
+OCFS_KERNEL_2_6=
+if test "x$enable_kernel26" = "xyes"; then
+  OCFS_KERNEL_2_6=yes
+fi
+AC_SUBST(OCFS_KERNEL_2_6)
+
 AC_ARG_ENABLE(debug, [  --enable-debug=[yes/no]         Turn on debugging [default=yes]],,enable_debug=yes)
 OCFS_DEBUG=
 if test "x$enable_debug" = "xyes"; then
@@ -178,6 +185,13 @@
 case "$kversion" in
   2.4.*)
     ;;
+  2.6.*)
+    if test "x$enable_kernel26" = "xyes"; then
+      AC_MSG_NOTICE([Support for kernel version 2.6 is BROKEN at this time!])
+    else
+      AC_MSG_ERROR([Support for kernel version 2.6 is BROKEN (System Hangs) at this time!  You must use --enable-kernel-2_6 to get past this point.])
+    fi
+    ;;
   *)
     AC_MSG_ERROR([This module only supports kernel version 2.4.x])
     ;;
@@ -304,6 +318,9 @@
 GCCINC=$gccdir
 AC_SUBST(GCCINC)
 
+OCFS_BUILD_DIR=`pwd`
+AC_SUBST(OCFS_BUILD_DIR)
+
 AC_OUTPUT([Config.make
 vendor/redhat/ocfs2-2.4.9-e.spec
 vendor/redhat/ocfs2-2.4.18-e.spec
@@ -314,4 +331,5 @@
 vendor/unitedlinux/ocfs2-2.4.21-107.spec
 vendor/unitedlinux/ocfs2-2.4.21-111.spec
 vendor/unitedlinux/ocfs2-2.4.21-138.spec
+src/Makefile-2.6
 ])
Index: src/Makefile
===================================================================
--- src/Makefile	(revision 36)
+++ src/Makefile	(working copy)
@@ -1,3 +1,8 @@
+# 2.6 Kernel stuff
+ifneq "$(KERNELRELEASE)" ""
+include $(obj)/Makefile-2.6
+else
+
 TOPDIR = ..
 
 include $(TOPDIR)/Preamble.make
@@ -2,2 +7,5 @@
 
+# Preliminary 2.6.x kernel support
+ifndef OCFS_KERNEL_2_6
+
 WARNINGS = -Wall -Wstrict-prototypes -Wno-format
@@ -199,4 +207,9 @@
 dist-subdircreate:
 	$(TOPDIR)/mkinstalldirs $(DIST_DIR)/inc
 
+else # OCFS_KERNEL_2_6
+# Preliminary 2.6.x kernel support
+include Makefile-2.6
+endif # OCFS_KERNEL_2_6
 include $(TOPDIR)/Postamble.make
+endif # ifneq ($(KERNELRELEASE),)
Index: src/Makefile-2.6.in
===================================================================
--- /dev/null	2004-02-23 13:02:56.000000000 -0800
+++ src/Makefile-2.6.in	2004-02-27 14:42:05.631311124 -0800
@@ -0,0 +1,24 @@
+ifneq ($(KERNELRELEASE),)
+
+OCFS_SRC_DIR	:= @OCFS_BUILD_DIR@/src
+EXTRA_CFLAGS += -D__ILP32__ -I$(OCFS_SRC_DIR)/inc -DDEBUG -DHAVE_NPTL \
+		-DTRACE -DALLOW_NO_HANDLE_SYNCING -DOCFS_PARANOID_ABORTS \
+		-Wno-format -DOCFS_BUILD_VERSION=\"x\" -DLINUX_2_5 \
+		-DOCFS_BUILD_DATE=\"y\" -DOCFS_BUILD_MD5=\"z\" -Werror
+
+obj-m += ocfs2.o
+
+ocfs2-objs := alloc.o divdi3.o hash.o ioctl.o oin.o super.o ver.o \
+              bitmap.o dlm.o heartbeat.o journal.o osb.o symlink.o volcfg.o \
+              dcache.o extmap.o inode.o namei.o proc.o sysfile.o vote.o \
+              dir.o file.o io.o nm.o sem.o util.o
+
+else
+
+KDIR	:= $(KERNELDIR)
+OCFS_SRC_DIR	:= @OCFS_BUILD_DIR@/src
+
+all:
+	$(MAKE) -C $(KDIR) V=1 SUBDIRS=$(OCFS_SRC_DIR) modules
+
+endif


More information about the Ocfs2-devel mailing list