From 69da1f1cb2b916f457d5fdd26439c7cac427abc9 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Tue, 16 Feb 2010 15:08:54 +0100 Subject: [PATCH] Improved handling and installation of the modules' symbol versions. --- Makefile.am | 20 +++++++++++--------- NEWS | 3 +-- configure.ac | 21 +++++++++++++++++++++ devices/Kbuild.in | 4 ++-- devices/e1000/Kbuild.in | 4 ++-- examples/dc_rtai/Kbuild.in | 4 ++-- examples/mini/Kbuild.in | 4 ++-- examples/rtai/Kbuild.in | 4 ++-- examples/tty/Kbuild.in | 4 ++-- master/Makefile.am | 14 -------------- tty/Makefile.am | 9 --------- 11 files changed, 45 insertions(+), 46 deletions(-) diff --git a/Makefile.am b/Makefile.am index bc794073..b591ec01 100644 --- a/Makefile.am +++ b/Makefile.am @@ -84,9 +84,11 @@ if ENABLE_TTY $(MAKE) -C tty modules_install endif +dist_pkgdata_DATA = $(LINUX_SYMVERS) + clean-local: $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean - @rm -f Modules.symvers + @rm -f $(LINUX_SYMVERS) mydist: hg log --style=changelog $(srcdir) > ChangeLog @@ -100,25 +102,25 @@ dist-hook: mrproper: clean cleandoc rm -rf \ + $(LINUX_SYMVERS) \ *~ \ + ChangeLog \ + Doxyfile \ + Kbuild \ + Makefile \ + Makefile.in \ + TAGS \ aclocal.m4 \ autoconf \ autom4te.cache \ - ChangeLog \ config.h \ config.h.in \ config.log \ config.status \ configure \ configure.in \ - Doxyfile \ - Kbuild \ libtool \ - Makefile \ - Makefile.in \ - Module.symvers \ - stamp-h1 \ - TAGS + stamp-h1 doc: doxygen Doxyfile diff --git a/NEWS b/NEWS index d43ccb62..87cd5b3b 100644 --- a/NEWS +++ b/NEWS @@ -59,8 +59,7 @@ Changes since 1.4.0: * Changed EC_MAX_SII_SIZE to 4096. * 'ethercat xml' creates valid XML for more than one slave (thanks to E. Burgstaller). -* Module symbol versions file for ec_master.ko is installed to - prefix/modules/ec_master.symvers. +* Module symbol versions file is installed to $prefix/share/ethercat. * Added 'ethercat eoe' command to display Ethernet over EtherCAT statistics. * Added 'ethercat cstruct' command to output PDO information in C language. * Significantly improved EoE bandwidth by running EoE processing in a kthread. diff --git a/configure.ac b/configure.ac index d61e345d..19e6d7dd 100644 --- a/configure.ac +++ b/configure.ac @@ -101,6 +101,27 @@ AC_SUBST(LINUX_KERNEL_VERSION,[$linuxversion]) AC_SUBST(LINUX_MOD_PATH,[/lib/modules/$kernelrelease/ethercat]) AC_MSG_RESULT([$LINUX_SOURCE_DIR (Kernel $LINUX_KERNEL_RELEASE)]) +#------------------------------------------------------------------------------ +# Determine the name of the symbol version file +#------------------------------------------------------------------------------ + +AC_MSG_CHECKING([for Linux symbol version file]) + +symvers= +for file in Module.symvers Modules.symvers; do + if test -f "$LINUX_SOURCE_DIR/$file"; then + symvers=$file + break + fi +done + +AC_SUBST(LINUX_SYMVERS,[$symvers]) +if test -n "$symvers"; then + AC_MSG_RESULT([$LINUX_SYMVERS]) +else + AC_MSG_RESULT(["(none)"]) +fi + #------------------------------------------------------------------------------ # Generic Ethernet driver #------------------------------------------------------------------------------ diff --git a/devices/Kbuild.in b/devices/Kbuild.in index 17cc93dd..041caf2d 100644 --- a/devices/Kbuild.in +++ b/devices/Kbuild.in @@ -70,7 +70,7 @@ ifeq (@ENABLE_R8169@,1) endif KBUILD_EXTRA_SYMBOLS := \ - @abs_top_builddir@/Module.symvers \ - @abs_top_builddir@/master/Module.symvers + @abs_top_builddir@/$(LINUX_SYMVERS) \ + @abs_top_builddir@/master/$(LINUX_SYMVERS) #------------------------------------------------------------------------------ diff --git a/devices/e1000/Kbuild.in b/devices/e1000/Kbuild.in index 7bd25e84..1a81a83c 100644 --- a/devices/e1000/Kbuild.in +++ b/devices/e1000/Kbuild.in @@ -51,7 +51,7 @@ ifeq (@ENABLE_E1000@,1) endif KBUILD_EXTRA_SYMBOLS := \ - @abs_top_builddir@/Module.symvers \ - @abs_top_builddir@/master/Module.symvers + @abs_top_builddir@/$(LINUX_SYMVERS) \ + @abs_top_builddir@/master/$(LINUX_SYMVERS) #------------------------------------------------------------------------------ diff --git a/examples/dc_rtai/Kbuild.in b/examples/dc_rtai/Kbuild.in index b7c118a9..c24ad848 100644 --- a/examples/dc_rtai/Kbuild.in +++ b/examples/dc_rtai/Kbuild.in @@ -38,7 +38,7 @@ ec_dc_rtai_sample-objs := dc_rtai_sample.o EXTRA_CFLAGS := -I@RTAI_DIR@/include KBUILD_EXTRA_SYMBOLS := \ - @abs_top_builddir@/Module.symvers \ - @abs_top_builddir@/master/Module.symvers + @abs_top_builddir@/$(LINUX_SYMVERS) \ + @abs_top_builddir@/master/$(LINUX_SYMVERS) #------------------------------------------------------------------------------ diff --git a/examples/mini/Kbuild.in b/examples/mini/Kbuild.in index 157b5b1e..82ced839 100644 --- a/examples/mini/Kbuild.in +++ b/examples/mini/Kbuild.in @@ -36,7 +36,7 @@ obj-m := ec_mini.o ec_mini-objs := mini.o KBUILD_EXTRA_SYMBOLS := \ - @abs_top_builddir@/Module.symvers \ - @abs_top_builddir@/master/Module.symvers + @abs_top_builddir@/$(LINUX_SYMVERS) \ + @abs_top_builddir@/master/$(LINUX_SYMVERS) #------------------------------------------------------------------------------ diff --git a/examples/rtai/Kbuild.in b/examples/rtai/Kbuild.in index 4d263100..72ea6cb5 100644 --- a/examples/rtai/Kbuild.in +++ b/examples/rtai/Kbuild.in @@ -38,7 +38,7 @@ ec_rtai_sample-objs := rtai_sample.o EXTRA_CFLAGS := -I@RTAI_DIR@/include KBUILD_EXTRA_SYMBOLS := \ - @abs_top_builddir@/Module.symvers \ - @abs_top_builddir@/master/Module.symvers + @abs_top_builddir@/$(LINUX_SYMVERS) \ + @abs_top_builddir@/master/$(LINUX_SYMVERS) #------------------------------------------------------------------------------ diff --git a/examples/tty/Kbuild.in b/examples/tty/Kbuild.in index 85944b24..213fcb28 100644 --- a/examples/tty/Kbuild.in +++ b/examples/tty/Kbuild.in @@ -40,7 +40,7 @@ ec_tty_example-objs := \ CFLAGS_tty.o := -I$(src) KBUILD_EXTRA_SYMBOLS := \ - @abs_top_builddir@/Module.symvers \ - @abs_top_builddir@/master/Module.symvers + @abs_top_builddir@/$(LINUX_SYMVERS) \ + @abs_top_builddir@/master/$(LINUX_SYMVERS) #------------------------------------------------------------------------------ diff --git a/master/Makefile.am b/master/Makefile.am index 8f5ee405..64fecf27 100644 --- a/master/Makefile.am +++ b/master/Makefile.am @@ -82,18 +82,4 @@ modules_install: clean-local: $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean -modulesdir=@prefix@/modules -SYMVERS=$(top_builddir)/Module.symvers -SYMVERSS=$(top_builddir)/Modules.symvers - -install-data-local: - for symvers in $(SYMVERS) $(SYMVERSS); do \ - if test -f $$symvers; then \ - mkdir -p $(DESTDIR)$(modulesdir) && \ - cp -vf $$symvers \ - $(DESTDIR)$(modulesdir)/ec_master.symvers; \ - break; \ - fi; \ - done - #------------------------------------------------------------------------------ diff --git a/tty/Makefile.am b/tty/Makefile.am index 4f963d19..d10a9a68 100644 --- a/tty/Makefile.am +++ b/tty/Makefile.am @@ -48,13 +48,4 @@ modules_install: clean-local: $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean -modulesdir=@prefix@/modules -SYMVERS=`echo $(top_builddir)/Module*.symvers` - -install-data-local: - @test -n "$(SYMVERS)" && \ - mkdir -p $(DESTDIR)$(modulesdir) && \ - cp -vf $(SYMVERS) \ - $(DESTDIR)$(modulesdir)/ec_tty.symvers - #------------------------------------------------------------------------------