Make distcheck work. Add LINUX_MODULE_STYLE to indicate module
authorDavid Schleef <ds@schleef.org>
Fri, 1 Apr 2005 03:00:52 +0000 (03:00 +0000)
committerDavid Schleef <ds@schleef.org>
Fri, 1 Apr 2005 03:00:52 +0000 (03:00 +0000)
building style.

Makefile.am
comedi/Makefile.am
comedi/drivers/Makefile.am
comedi/kcomedilib/Makefile.am
configure.ac
m4/as-linux.m4
m4/as-modtool.m4

index 275c9958b7b902b2cf13f2b2030cd089c17f41d4..357927859155d9dab040ac3c19e053bbf2cf7af6 100644 (file)
@@ -1,7 +1,11 @@
 
 SUBDIRS = comedi
 
-EXTRA_DIST = Documentation include m4 scripts autogen.sh
+EXTRA_DIST = Documentation include scripts autogen.sh \
+       m4/as-linux.m4 \
+       m4/as-modtool.m4 \
+       m4/rtai.m4 \
+       m4/rtlinux.m4
 
 ACLOCAL_AMFLAGS = -I m4
 
@@ -19,8 +23,5 @@ moo:
        (cd comedi/drivers;for each in *.c;do ../../scripts/check_driver $$each;done >../../drivers.check)
        (grep '^.:' drivers.check >drivers.summary)
        
-install-data-hook:
-       if [ -z "$(DESTDIR)" ] ; then \
-               $(DEPMOD) -ae $(LINUX_KERNELRELEASE); \
-       fi
+DISTCLEANFILES = modtool
 
index 9464b678bfaa4d9513111f500ced35fc2a9495ae..3b146e9f7be2ddc4f57b274e4c51245a5128b370 100644 (file)
@@ -26,3 +26,7 @@ comedi_ko_LINK = $(top_builddir)/modtool --link -o $@
 #comedi_ksyms.o: comedi_ksyms.c
 #      $(CC) -o $@ comedi_ksyms.c $(CFLAGS) $(COMEDI_CFLAGS) $(LINUX_CFLAGS) -DEXPORT_SYMTAB
 
+clean-modulePROGRAMS:
+       -test -z "$(module_PROGRAMS)" || rm -f $(module_PROGRAMS)
+       -rm -rf .mods
+
index d6095a2e980c8006fe127591c36013c842498d90..110127a892cc806e726eb06bed23527fcd642403 100644 (file)
@@ -232,3 +232,8 @@ ssv_dnp_ko_SOURCES = ssv_dnp.c
 comedi_test_ko_SOURCES = comedi_test.c
 usbdux_ko_SOURCES = usbdux.c
 usbduxfast_ko_SOURCES = usbduxfast.c
+
+clean-modulePROGRAMS:
+       -test -z "$(module_PROGRAMS)" || rm -f $(module_PROGRAMS)
+       -rm -rf .mods
+
index 108da7e26d3b8411551159070484fbc0075d7dcb..aceb23595b8cb3133454508b42432f4a58bce2a8 100644 (file)
@@ -8,4 +8,7 @@ kcomedilib_ko_LINK = $(top_builddir)/modtool --link -o $@ -i ../.mods/comedi.o.s
 #ksyms.o: ksyms.c
 #      $(CC) -o $@ ksyms.c $(CFLAGS) $(COMEDI_CFLAGS) $(LINUX_CFLAGS) -DEXPORT_SYMTAB
 
+clean-modulePROGRAMS:
+       -test -z "$(module_PROGRAMS)" || rm -f $(module_PROGRAMS)
+       -rm -rf .mods
 
index e5f173ad5ea128aa24b3d50ab448fc6556e7bbef..62cf1dc69ed505cf8598fc3d0ec430c4fee7d47b 100644 (file)
@@ -74,6 +74,9 @@ AS_LINUX_CONFIG_OPTION_MODULE(CONFIG_USB)
 AC_DEFINE(CONFIG_COMEDI_DEBUG, true, [Define if debugging is enabled])
 AC_DEFINE(CONFIG_COMEDI_8255, true, [Define if 8255 support is enabled])
 
+DISTCHECK_CONFIGURE_FLAGS="--with-modulesdir=\\\$\$\(prefix\)/modules"
+AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
+
 AC_OUTPUT([
 Makefile
 comedi/Makefile
index d774476a4a4548e68e8264472295a26a0c12aabf..393d4a94995120f20e5bb186e8a656a5f0eef690 100644 (file)
@@ -48,6 +48,8 @@ dnl LINUX_LD
 dnl   Path to linker (possibly with options) used by Linux.
 dnl LINUX_AS
 dnl   Assembler used by Linux.
+dnl LINUX_MODULE_STYLE
+dnl   Style of module building (2.4.0, 2.6.0, 2.6.6)
 dnl LINUX_MODULE_EXT
 dnl   Module extension (.o or .ko)
 dnl LINUX_MODPOST
@@ -69,10 +71,10 @@ AC_DEFUN([AS_LINUX],
        AS_LINUX_MACHINE()       
        dnl check if the user supplied an rpm target arch
        dnl override the LINUX_MACHINE value if he did
-       AS_LINUX_RPM_TARGET($LINUX_KERNEL_RELEASE)       
+       AS_LINUX_RPM_TARGET()    
         
        dnl find the kernel source tree for the given uname -r   
-       AS_LINUX_DIR($LINUX_KERNEL_RELEASE)      
+       AS_LINUX_DIR()
        dnl check if user supplied an EXTRAVERSION, and if not get from uname -r
        AS_LINUX_EXTRAVERSION($LINUX_KERNEL_RELEASE)     
        dnl check if user supplied a config file; if not, guess a good one
@@ -119,7 +121,7 @@ AC_DEFUN([AS_LINUX_DIR],
        fi
 
        if test "${LINUX_DIR}" = "default" ; then
-               dir="/lib/modules/`uname -r`/build";
+               dir="/lib/modules/$LINUX_KERNEL_RELEASE/build";
                AS_TRY_LINUX_DIR([${dir}], [LINUX_DIR=${dir}], )
        fi
        if test "${LINUX_DIR}" = "default" ; then
@@ -198,7 +200,7 @@ dnl this macro possibly overrides LINUX_MACHINE
 dnl first argument is the kernel release building for
 AC_DEFUN([AS_LINUX_RPM_TARGET],
 [
-       RELEASE=$1
+       RELEASE=$LINUX_KERNEL_RELEASE
        AC_ARG_WITH([rpm-target],
                [AC_HELP_STRING([--with-rpm-target=TARGET],
                        [specify the target arch to build for])],
@@ -209,13 +211,22 @@ AC_DEFUN([AS_LINUX_RPM_TARGET],
                dnl if we have rpm, try to guess the target of the kernel
                dnl we want to build for using rpm
                AC_PATH_PROG(RPM, rpm, yes, no)
-               if test "x$RPM" = "xyes"
-               then
-                       if rpm -q kernel-$RELEASE > /dev/null
-                       then
-                               LINUX_RPM_TARGET=`rpm -q --queryformat %{arch} kernel-$RELEASE`
+               if test "x$RPM" != "xno" ; then
+                       AC_MSG_CHECKING([if rpm can be used to query packages])
+                       if rpm -qa >/dev/null 2>/dev/null ; then
+                         rpm_check=yes
                        else
-                               AC_MSG_NOTICE([Cannot guess target arch, consider setting it using --with-rpm-target])
+                         rpm_check=no
+                       fi
+                       AC_MSG_RESULT($rpm_check)
+
+                       if test "x$rpm_check" = yes ; then
+                         if rpm -q kernel-$RELEASE > /dev/null
+                         then
+                           LINUX_RPM_TARGET=`rpm -q --queryformat %{arch} kernel-$RELEASE`
+                         else
+                           AC_MSG_NOTICE([Cannot guess target arch, consider setting it using --with-rpm-target])
+                         fi
                        fi
                fi
        fi
@@ -494,6 +505,7 @@ EOF
        rm -rf ${tmpdir}
 
        LINUX_MODULE_EXT=".ko"
+       LINUX_MODULE_STYLE="2.6.6"
 
        LINUX_CFLAGS="$LINUX_CFLAGS $LINUX_CFLAGS_MODULE"
 
@@ -508,6 +520,8 @@ EOF
        AC_SUBST(LINUX_LD)
        AC_SUBST(LINUX_AS)
        AC_SUBST(LINUX_MODULE_EXT)
+       AC_SUBST(LINUX_MODULE_STYLE)
+       AC_SUBST(LINUX_MODPOST)
 
        AC_MSG_RESULT([$LINUX_CFLAGS])
        
@@ -566,6 +580,7 @@ EOF
        rm -rf ${tmpdir}
 
        LINUX_MODULE_EXT=".o"
+       LINUX_MODULE_STYLE="2.4.0"
 
        LINUX_CFLAGS="$LINUX_CFLAGS $LINUX_MODFLAGS"
 
@@ -585,6 +600,7 @@ EOF
        AC_SUBST(LINUX_LD)
        AC_SUBST(LINUX_AS)
        AC_SUBST(LINUX_MODULE_EXT)
+       AC_SUBST(LINUX_MODULE_STYLE)
 
        AC_MSG_RESULT([ok])
 
index 7d529671d99955eea87670b800c9dcae5da3bb36..8de3c4aefbe6b5e45c811afc520e7e85fbf2e1b5 100644 (file)
@@ -55,6 +55,9 @@ LINUX_MODULE_EXT="$LINUX_MODULE_EXT"
 STRIP="$STRIP"
 CFLAGS="$CFLAGS $LINUX_CFLAGS"
 LINUX_DIR="$LINUX_DIR"
+LINUX_MODULE_STYLE="$LINUX_MODULE_STYLE"
+DEPMOD="$DEPMOD"
+LINUX_KERNELRELEASE="$LINUX_KERNELRELEASE"
 
 mode=\$[1]
 shift
@@ -82,7 +85,8 @@ case \$mode in
                 esac
         done
 
-       if test "\$LINUX_MODULE_EXT" = .ko ; then
+       case "\$LINUX_MODULE_STYLE" in
+       2.6.6)
                set -x
                mkdir -p .mods
 
@@ -107,10 +111,15 @@ case \$mode in
                echo \$LINUX_LD -r -o \$target.ko .mods/\$target.mod.o .mods/\$target.o
                \$LINUX_LD -r -o \$target.ko .mods/\$target.mod.o .mods/\$target.o
                set +x
-       else
+
+               ;;
+       2.6.0)
+               ;;
+       2.4.0)
                echo \$LINUX_LD -r -o \$target.ko \$[*]
                \$LINUX_LD -r -o \$target.ko \$[*]
-       fi
+               ;;
+       esac
 
        ;;
 --install)
@@ -126,6 +135,12 @@ case \$mode in
        echo uninstall "\$module_src" "\$module_dest"
        rm -f "\$module_dest"
        ;;
+--finish)
+       # run depmod here
+       if [ "$prefix" = "/" ] ; then
+               \$DEPMOD -ae \$LINUX_KERNELRELEASE
+       fi
+       ;;
 *)
        echo Unknown mode \$mode >&2
        exit 1