module: Support for loading of modules

A module is a shared library existing in, or a subdirectory of, the
module directory. The directory is by default
${libdir}/pinos-$(MAJORMINOR)/modules, but can be specified with
--with-module-dir=PATH when running configure. It is also possible to
override the module directory runtime with the environment variable
PINOS_MODULE_DIR, which is a list of directories separated with ":".
This commit is contained in:
Linus Svensson 2016-08-29 12:34:24 +02:00 committed by Wim Taymans
parent 2c0f592ff4
commit ba45aad1a2
6 changed files with 418 additions and 6 deletions

View file

@ -90,6 +90,14 @@ USE_NLS=no
AC_SUBST(USE_NLS)
fi
AC_ARG_WITH([module-dir],
AS_HELP_STRING([--with-module-dir=PATH],
[Directory where modules are located (default is ${libdir}/pinos/modules]),
[moduledir=$withval],
[moduledir="${libdir}/pinos-${PINOS_MAJORMINOR}/modules"])
AC_SUBST(moduledir)
AX_DEFINE_DIR(MODULEDIR, moduledir, [Directory where modules are located])
#### Compiler flags ####
AX_APPEND_COMPILE_FLAGS(
@ -193,6 +201,11 @@ PKG_CHECK_MODULES(GIOUNIX, gio-unix-2.0 >= 2.32, dummy=yes,
GLIB_CFLAGS="$GLIB_CFLAGS $GIOUNIX_CFLAGS"
GLIB_LIBS="$GLIB_LIBS $GIOUNIX_LIBS"
PKG_CHECK_MODULES(GMODULE, gmodule-no-export-2.0 >= 2.32, dummy=yes,
AC_MSG_ERROR(GModule >= 2.32 is required))
GLIB_CFLAGS="$GLIB_CFLAGS $GMODULE_CFLAGS"
GLIB_LIBS="$GLIB_LIBS $GMODULE_LIBS"
AC_MSG_CHECKING([for glib-mkenums script])
GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
AS_IF([test "x$GLIB_MKENUMS" = "x"],
@ -263,6 +276,7 @@ Configuration
Version : ${VERSION}
Source code location : ${srcdir}
Prefix : ${prefix}
Moduledir : ${moduledir}
Compiler : ${CC}
pinos configured. Type 'make' to build.