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}