build: Make missing gtk-doc non-fatal
[profile/ivi/rygel.git] / configure.ac
index 6a50543..04ff924 100644 (file)
@@ -31,19 +31,19 @@ dnl Required versions of library packages
 dnl Not all of these are actually used, depending on the configure options.
 GLIB_REQUIRED=2.31.13
 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_DLNA_REQUIRED=0.7.0
+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
+GTK_REQUIRED=3.0
 
 dnl Additional requirements for media-export plugin
 GSTREAMER_TAG_REQUIRED=1.0
@@ -55,14 +55,14 @@ TRACKER_SPARQL_REQUIRED_MIN=0.14.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"
 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])
@@ -75,7 +75,7 @@ PKG_CHECK_MODULES([RYGEL_DEPS], [$RYGEL_COMMON_MODULES gio-2.0 >= $GIO_REQUIRED
 
 # Not all tests use all of these dependencies,
 # but having one set of dependencies keeps things simple.
-PKG_CHECK_MODULES([TEST_DEPS], [$RYGEL_COMMON_MODULES gio-2.0 >= $GIO_REQUIRED gssdp-1.0 >= $GSSDP_REQUIRED libsoup-2.4 >= $LIBSOUP_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED])
+PKG_CHECK_MODULES([TEST_DEPS], [$RYGEL_COMMON_MODULES uuid >= $UUID_REQUIRED gio-2.0 >= $GIO_REQUIRED gssdp-1.0 >= $GSSDP_REQUIRED libsoup-2.4 >= $LIBSOUP_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED])
 TEST_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gio-2.0 --pkg gssdp-1.0 --pkg libsoup-2.4 --pkg libxml-2.0 --pkg gmodule-2.0"
 AC_SUBST([TEST_DEPS_VALAFLAGS])
 
@@ -100,11 +100,16 @@ AS_IF([test "x$with_media_engine" = "xgstreamer"],
         enable_gstreamer="yes"
         BUILT_ENGINES="$BUILT_ENGINES;librygel-media-engine-gst"
 
-        PKG_CHECK_MODULES([RYGEL_MEDIA_ENGINE_GSTREAMER_DEPS], [$RYGEL_COMMON_MODULES gstreamer-pbutils-1.0 >= $GSTPBU_REQUIRED gupnp-dlna-1.1 >= $GUPNP_DLNA_REQUIRED])
-        RYGEL_MEDIA_ENGINE_GSTREAMER_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gstreamer-base-1.0 --pkg gstreamer-pbutils-1.0 --pkg gupnp-dlna-1.1"
+        PKG_CHECK_MODULES([RYGEL_MEDIA_ENGINE_GSTREAMER_DEPS],
+                          [$RYGEL_COMMON_MODULES
+                           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])
+        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])
       ],
@@ -128,7 +133,11 @@ AS_IF([test "x$enable_mpris_plugin" = "xyes"],
 RYGEL_ADD_PLUGIN([mediathek],[ZDF Mediathek],[no])
 AS_IF([test "x$enable_mediathek_plugin" = "xyes"],
   [
-    PKG_CHECK_MODULES([RYGEL_PLUGIN_MEDIATHEK_DEPS], [$RYGEL_COMMON_MODULES gio-2.0 >= $GIO_REQUIRED libsoup-2.4 >= $LIBSOUP_REQUIRED])
+    PKG_CHECK_MODULES([RYGEL_PLUGIN_MEDIATHEK_DEPS],
+                      [$RYGEL_COMMON_MODULES
+                       gio-2.0 >= $GIO_REQUIRED
+                       libsoup-2.4 >= $LIBSOUP_REQUIRED
+                       libxml-2.0 >= $LIBXML_REQUIRED])
   ])
 
 AS_IF([test "x$with_media_engine" = "xgstreamer"],
@@ -142,16 +151,25 @@ AS_IF([test "x$with_media_engine" = "xgstreamer"],
         RYGEL_ADD_PLUGIN([media-export],[MediaExport],[yes])
         AS_IF([test "x$enable_media_export_plugin" = "xyes"],
           [
-            PKG_CHECK_MODULES([RYGEL_PLUGIN_MEDIA_EXPORT_DEPS], [$RYGEL_COMMON_MODULES gio-2.0 >= $GIO_REQUIRED gupnp-dlna-1.1 >= $GUPNP_DLNA_REQUIRED gstreamer-tag-1.0 >= $GSTREAMER_TAG_REQUIRED gstreamer-app-1.0 >= $GSTREAMER_TAG_REQUIRED sqlite3 >= $LIBSQLITE3_REQUIRED])
-            RYGEL_PLUGIN_MEDIA_EXPORT_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gupnp-dlna-1.1 --pkg gstreamer-tag-1.0 --pkg gstreamer-app-1.0 --pkg sqlite3"
+            PKG_CHECK_MODULES([RYGEL_PLUGIN_MEDIA_EXPORT_DEPS],
+                              [$RYGEL_COMMON_MODULES gio-2.0 >= $GIO_REQUIRED
+                               gupnp-dlna-2.0 >= $GUPNP_DLNA_REQUIRED
+                               gupnp-dlna-gst-2.0 >= $GUPNP_DLNA_REQUIRED
+                               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"
             AC_SUBST([RYGEL_PLUGIN_MEDIA_EXPORT_DEPS_VALAFLAGS])
           ])
 
         RYGEL_ADD_PLUGIN([gst-launch],[GStreamer launchline],[no])
         AS_IF([test "x$enable_gst_launch_plugin" = "xyes"],
           [
-            PKG_CHECK_MODULES([RYGEL_PLUGIN_GST_LAUNCH_DEPS], [$RYGEL_COMMON_MODULES gstreamer-1.0 >= $GSTREAMER_REQUIRED])
-            RYGEL_PLUGIN_GST_LAUNCH_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gstreamer-1.0"
+            PKG_CHECK_MODULES([RYGEL_PLUGIN_GST_LAUNCH_DEPS], [$RYGEL_COMMON_MODULES])
+            RYGEL_PLUGIN_GST_LAUNCH_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS"
             AC_SUBST([RYGEL_PLUGIN_GST_LAUNCH_DEPS_VALAFLAGS])
           ])
 
@@ -180,7 +198,7 @@ RYGEL_ADD_STAMP([src/media-engines/simple/librygel_media_engine_simple_la_vala.s
 
 AS_IF([test "x$with_media_engine" = "xgstreamer"],
       [
-        RYGEL_CHECK_PACKAGES([gupnp-dlna-1.1 gstreamer-1.0
+        RYGEL_CHECK_PACKAGES([gupnp-dlna-2.0 gstreamer-1.0
                               gstreamer-pbutils-1.0])
       ])
 
@@ -278,10 +296,7 @@ then
                                  [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
 
@@ -346,7 +361,7 @@ 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])
+    [enable_valadoc=auto])
 
 found_valadoc=no
 AS_IF([test "x$enable_valadoc" != "xno"], [
@@ -354,7 +369,11 @@ AS_IF([test "x$enable_valadoc" != "xno"], [
     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_valadoc" == "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]))
     ])
@@ -362,6 +381,13 @@ AS_IF([test "x$enable_valadoc" != "xno"], [
 
 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.0/plugins])
+AC_SUBST([RYGEL_MEDIA_ENGINE_DIR],
+         [${libdir}/rygel-2.0/engines])
+
 AC_CONFIG_FILES([
 Makefile
 src/Makefile
@@ -373,7 +399,9 @@ src/rygel/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
@@ -402,10 +430,14 @@ 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