introduce --with-rootlibdir=DIR
Support the installation of the shared library in the rootfs --rootlibdir=,
while the development symlink stays in --libdir=.
diff --git a/Makefile.am b/Makefile.am
index 9d2ac56..05cbb7e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -68,6 +68,18 @@
EXTRA_DIST += libkmod/libkmod.pc.in
CLEANFILES += libkmod/libkmod.pc
+install-exec-hook:
+ if test "$(libdir)" != "$(rootlibdir)"; then \
+ mkdir -p $(DESTDIR)$(rootlibdir) && \
+ so_img_name=$$(readlink $(DESTDIR)$(libdir)/libkmod.so) && \
+ so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
+ ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libkmod.so && \
+ mv $(DESTDIR)$(libdir)/libkmod.so.* $(DESTDIR)$(rootlibdir); \
+ fi
+
+uninstall-hook:
+ rm -f $(DESTDIR)$(rootlibdir)/libkmod.so*
+
if BUILD_TOOLS
bin_PROGRAMS = tools/kmod-insmod tools/kmod-rmmod tools/kmod-lsmod \
tools/kmod-modprobe tools/kmod-modinfo
diff --git a/configure.ac b/configure.ac
index a0ed6c2..6a6ce75 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,6 +35,11 @@
[], [with_rootprefix=""])
AC_SUBST([rootprefix], [$with_rootprefix])
+AC_ARG_WITH([rootlibdir],
+ AS_HELP_STRING([--with-rootlibdir=DIR], [rootfs directory to install shared libraries]),
+ [], [with_rootlibdir=$libdir])
+AC_SUBST([rootlibdir], [$with_rootlibdir])
+
AC_ARG_ENABLE([tools],
AS_HELP_STRING([--disable-tools], [disable building tools that provide same functionality as module-init-tools @<:@default=enabled@:>@]),
[], enable_tools=yes)
@@ -135,6 +140,7 @@
rootprefix: ${rootprefix}
sysconfdir: ${sysconfdir}
libdir: ${libdir}
+ rootlibdir: ${rootlibdir}
includedir: ${includedir}
bindir: ${bindir}