LT_PREREQ([2.2.6])
LT_INIT([dlopen disable-static])
+AC_SYS_LARGEFILE
+
dnl Required versions of library packages
dnl Not all of these are actually used, depending on the configure options.
-GLIB_REQUIRED=2.31.13
+GLIB_REQUIRED=2.34.0
LIBXML_REQUIRED=2.7
-VALA_REQUIRED=0.18.0
+VALA_REQUIRED=0.22.0
VALADOC_REQUIRED=0.2
GSSDP_REQUIRED=0.13.0
GUPNP_REQUIRED=0.19.0
-GUPNP_AV_REQUIRED=0.11.4
+GUPNP_AV_REQUIRED=0.12.4
GUPNP_DLNA_REQUIRED=0.9.4
GSTREAMER_REQUIRED=1.0
GSTPBU_REQUIRED=1.0
GIO_REQUIRED=2.26
GEE_REQUIRED=0.8.0
UUID_REQUIRED=1.41.3
-LIBSOUP_REQUIRED=2.34.0
-GTK_REQUIRED=2.90.3
+LIBSOUP_REQUIRED=2.42.0
+GTK_REQUIRED=3.0
dnl Additional requirements for media-export plugin
GSTREAMER_TAG_REQUIRED=1.0
VALAFLAGS="--target-glib=2.32 $VALAFLAGS"
-RYGEL_BASE_MODULES='gupnp-1.0 >= $GUPNP_REQUIRED gee-0.8 >= $GEE_REQUIRED'
-PKG_CHECK_MODULES([LIBRYGEL_CORE_DEPS], [$RYGEL_BASE_MODULES uuid >= $UUID_REQUIRED gssdp-1.0 >= $GSSDP_REQUIRED gio-2.0 >= $GIO_REQUIRED])
+RYGEL_BASE_MODULES="gupnp-1.0 >= $GUPNP_REQUIRED gee-0.8 >= $GEE_REQUIRED"
+PKG_CHECK_MODULES([LIBRYGEL_CORE_DEPS], [$RYGEL_BASE_MODULES uuid >= $UUID_REQUIRED gssdp-1.0 >= $GSSDP_REQUIRED gio-2.0 >= $GIO_REQUIRED gmodule-2.0 libxml-2.0 >= $LIBXML_REQUIRED])
RYGEL_BASE_MODULES_VALAFLAGS='--pkg gupnp-1.0 --pkg gee-0.8'
-LIBRYGEL_CORE_DEPS_VALAFLAGS="$RYGEL_BASE_MODULES_VALAFLAGS --pkg gssdp-1.0 --pkg gio-2.0 --pkg gmodule-2.0"
+LIBRYGEL_CORE_DEPS_VALAFLAGS="$RYGEL_BASE_MODULES_VALAFLAGS --pkg gssdp-1.0 --pkg gio-2.0 --pkg gmodule-2.0 --pkg posix"
AC_SUBST([LIBRYGEL_CORE_DEPS_VALAFLAGS])
RYGEL_COMMON_MODULES="$RYGEL_BASE_MODULES gupnp-av-1.0 >= $GUPNP_AV_REQUIRED"
-PKG_CHECK_MODULES([LIBRYGEL_SERVER_DEPS], [$RYGEL_COMMON_MODULES uuid >= $UUID_REQUIRED gssdp-1.0 >= $GSSDP_REQUIRED gio-2.0 >= $GIO_REQUIRED libsoup-2.4 >= $LIBSOUP_REQUIRED])
+PKG_CHECK_MODULES([LIBRYGEL_SERVER_DEPS], [$RYGEL_COMMON_MODULES uuid >= $UUID_REQUIRED gssdp-1.0 >= $GSSDP_REQUIRED gio-2.0 >= $GIO_REQUIRED gmodule-2.0 libxml-2.0 >= $LIBXML_REQUIRED libsoup-2.4 >= $LIBSOUP_REQUIRED])
RYGEL_COMMON_MODULES_VALAFLAGS="$RYGEL_BASE_MODULES_VALAFLAGS --pkg gupnp-av-1.0"
LIBRYGEL_SERVER_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gssdp-1.0 --pkg gio-2.0 --pkg libsoup-2.4 --pkg gmodule-2.0"
AC_SUBST([LIBRYGEL_SERVER_DEPS_VALAFLAGS])
gstreamer-pbutils-1.0 >= $GSTPBU_REQUIRED
gstreamer-app-1.0 >= $GSTREAMER_APP_REQUIRED
gupnp-dlna-2.0 >= $GUPNP_DLNA_REQUIRED
- gio-2.0 >= GIO_REQUIRED])
+ gio-2.0 >= $GIO_REQUIRED])
RYGEL_MEDIA_ENGINE_GSTREAMER_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gstreamer-base-1.0 --pkg gstreamer-pbutils-1.0 --pkg gupnp-dlna-2.0"
AC_SUBST([RYGEL_MEDIA_ENGINE_GSTREAMER_DEPS_VALAFLAGS])
- PKG_CHECK_MODULES([LIBRYGEL_RENDERER_GST_DEPS], [$RYGEL_COMMON_MODULES gstreamer-1.0 >= $GSTREAMER_REQUIRED])
+ PKG_CHECK_MODULES([LIBRYGEL_RENDERER_GST_DEPS], [$RYGEL_COMMON_MODULES gstreamer-1.0 >= $GSTREAMER_REQUIRED gio-2.0 >= $GIO_REQUIRED])
LIBRYGEL_RENDERER_GST_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gstreamer-1.0"
AC_SUBST([LIBRYGEL_RENDERER_GST_DEPS_VALAFLAGS])
],
gstreamer-app-1.0 >= $GSTREAMER_APP_REQUIRED
gstreamer-tag-1.0 >= $GSTREAMER_TAG_REQUIRED
gstreamer-pbutils-1.0 >= $GSTPBU_REQUIRED
+ libsoup-2.4 >= $LIBSOUP_REQUIRED
sqlite3 >= $LIBSQLITE3_REQUIRED
uuid])
RYGEL_PLUGIN_MEDIA_EXPORT_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gupnp-dlna-2.0 --pkg gupnp-dlna-gst-2.0 --pkg gstreamer-tag-1.0 --pkg gstreamer-app-1.0 --pkg gstreamer-pbutils-1.0 --pkg sqlite3"
])
RYGEL_ADD_STAMP([src/media-engines/gstreamer/librygel_media_engine_gst_la_vala.stamp])
- RYGEL_ADD_STAMP([src/librygel-renderer-gst/librygel_renderer_gst_2_0_la_vala.stamp])
+ RYGEL_ADD_STAMP([src/librygel-renderer-gst/librygel_renderer_gst_2_2_la_vala.stamp])
],
[
RYGEL_DISABLE_PLUGIN([playbin])
AM_CONDITIONAL([BUILD_EXAMPLE_PLUGINS], [test "x$[]enable_example_plugins" = "xyes"])
dnl Explicitly add stamp files for targets that are not plugins
-RYGEL_ADD_STAMP([src/librygel-core/librygel_core_2_0_la_vala.stamp])
-RYGEL_ADD_STAMP([src/librygel-server/librygel_server_2_0_la_vala.stamp])
-RYGEL_ADD_STAMP([src/librygel-renderer/librygel_renderer_2_0_la_vala.stamp])
+RYGEL_ADD_STAMP([src/librygel-core/librygel_core_2_2_la_vala.stamp])
+RYGEL_ADD_STAMP([src/librygel-server/librygel_server_2_2_la_vala.stamp])
+RYGEL_ADD_STAMP([src/librygel-renderer/librygel_renderer_2_2_la_vala.stamp])
RYGEL_ADD_STAMP([src/rygel/rygel_vala.stamp])
RYGEL_ADD_STAMP([src/ui/rygel_preferences_vala.stamp])
RYGEL_ADD_STAMP([src/media-engines/simple/librygel_media_engine_simple_la_vala.stamp])
[have_unistring=yes],[have_unistring=no]))
if test "x$have_unistring" = "xyes"; then
AC_DEFINE([HAVE_UNISTRING],[1],[Use libunistring for collation])
- COLLATION_CFLAGS=
- COLLATION_LIBS=-lunistring
- AC_SUBST([COLLATION_CFLAGS])
- AC_SUBST([COLLATION_LIBS])
+ RYGEL_PLUGIN_MEDIA_EXPORT_DEPS_LIBS="$RYGEL_PLUGIN_MEDIA_EXPORT_DEPS_LIBS -lunistring"
fi
fi
PKG_CHECK_MODULES(TRACKER_SPARQL,
tracker-sparql-0.16 >= $TRACKER_SPARQL_REQUIRED_MIN,
[tracker_api_version="0.16"],
+ [tracker_api_version=""])
+ ])
+ AS_IF([test "x$[]tracker_api_version" = "x"],
+ [
+ PKG_CHECK_MODULES(TRACKER_SPARQL,
+ tracker-sparql-0.18 >= $TRACKER_SPARQL_REQUIRED_MIN,
+ [tracker_api_version="0.18"],
[])
])
AS_IF([test "x$enable_vala" = "xyes"],
AC_PATH_PROG([XSLTPROC], [xsltproc])
AM_CONDITIONAL([HAVE_XSLTPROC], [test x"$XSLTPROC" != x])
-dnl Use valadoc for API documentation:
+dnl Use valadoc and gtk-doc for API documentation:
dnl This is on by default when using autogen.sh
dnl (so it is not on by default when building from a tarball with configure.)
-AC_ARG_ENABLE(valadoc,
- AS_HELP_STRING([--enable-valadoc[=@<:@no/auto/yes@:>@]], [Enable valadoc support]),,
- [enable_valadoc=no])
+AC_ARG_ENABLE(apidocs,
+ AS_HELP_STRING([--enable-apidocs[=@<:@no/auto/yes@:>@]],
+ [Create API documentation using valadoc and GTK-Doc]),,
+ [enable_apidocs=auto])
found_valadoc=no
-AS_IF([test "x$enable_valadoc" != "xno"], [
+AS_IF([test "x$enable_apidocs" != "xno"], [
AC_PATH_PROG(VALADOC, valadoc, :)
AS_IF([test -x "$VALADOC"], [
found_valadoc=yes
AC_SUBST(VALADOC)
- PKG_CHECK_MODULES([GTKDOC],[gtk-doc >= 1.0])
+ PKG_CHECK_MODULES([GTKDOC],[gtk-doc >= 1.0],,
+ AS_IF([test "x$enable_apidocs" == "xyes"],
+ [AC_MSG_ERROR([Unable to find gtk-doc])],
+ [found_valadoc=no])
+ )
], [
- AS_IF([test "x$enable_valadoc" == "xyes"], AC_MSG_ERROR([Unable to find valadoc]))
+ AS_IF([test "x$enable_apidocs" == "xyes"], AC_MSG_ERROR([Unable to find valadoc]))
])
])
AM_CONDITIONAL(ENABLE_VALADOC, test x$found_valadoc = xyes)
+AC_SUBST([RYGEL_PLUGIN_LINKER_FLAGS],
+ ["-module -avoid-version -Wl,-z,defs"])
+AC_SUBST([RYGEL_PLUGIN_DIR],
+ [${libdir}/rygel-2.2/plugins])
+AC_SUBST([RYGEL_MEDIA_ENGINE_DIR],
+ [${libdir}/rygel-2.2/engines])
+
AC_CONFIG_FILES([
Makefile
src/Makefile
src/ui/Makefile
src/media-engines/Makefile
src/media-engines/gstreamer/Makefile
+src/media-engines/gstreamer/media-engine-gst.plugin
src/media-engines/simple/Makefile
+src/media-engines/simple/media-engine-simple.plugin
src/plugins/Makefile
data/Makefile
data/xml/Makefile
doc/reference/librygel-server/Makefile
doc/reference/librygel-renderer-gst/Makefile
po/Makefile.in
-rygel-core-2.0.pc
-rygel-renderer-2.0.pc
-rygel-server-2.0.pc
-rygel-renderer-gst-2.0.pc
+rygel-core-2.2.pc
+rygel-renderer-2.2.pc
+rygel-server-2.2.pc
+rygel-renderer-gst-2.2.pc
tests/Makefile
examples/Makefile
examples/renderer-plugins/Makefile
examples/renderer-plugins/vala/Makefile
+examples/renderer-plugins/vala/example-renderer-vala.plugin
examples/renderer-plugins/C/Makefile
+examples/renderer-plugins/C/example-renderer-c.plugin
examples/server-plugins/Makefile
examples/server-plugins/vala/Makefile
+examples/server-plugins/vala/example-server-vala.plugin
examples/server-plugins/C/Makefile
+examples/server-plugins/C/example-server-c.plugin
])
AC_OUTPUT
uninstalled: ${enable_uninstalled}
preferences ui: ${HAVE_GTK}
Media Engine: ${with_media_engine}
+ API documentation: ${found_valadoc}
Plugins:
examples: ${enable_example_plugins}
tracker: ${enable_tracker_plugin}