spec: remove pkg_initdb in post script
[profile/ivi/rygel.git] / configure.ac
index 11a341a..86bca18 100644 (file)
@@ -27,23 +27,25 @@ dnl Disable generation of static libraries
 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
@@ -55,10 +57,10 @@ 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'
+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"
@@ -140,6 +142,18 @@ AS_IF([test "x$enable_mediathek_plugin" = "xyes"],
                        libxml-2.0 >= $LIBXML_REQUIRED])
   ])
 
+
+RYGEL_ADD_PLUGIN([lms],[LightMediaScanner],[yes])
+AS_IF([test "x$enable_lms_plugin" = "xyes"],
+  [
+    PKG_CHECK_MODULES([RYGEL_PLUGIN_LMS_DEPS],
+                      [$RYGEL_COMMON_MODULES
+                       gio-2.0 >= $GIO_REQUIRED
+                       sqlite3 >= $LIBSQLITE3_REQUIRED])
+    RYGEL_PLUGIN_LMS_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gio-2.0 --pkg gee-0.8 --pkg sqlite3"
+    AC_SUBST([RYGEL_PLUGIN_LMS_DEPS_VALAFLAGS])
+  ])
+
 AS_IF([test "x$with_media_engine" = "xgstreamer"],
       [
         RYGEL_ADD_PLUGIN([playbin],[GStreamer playbin],[yes])
@@ -158,6 +172,7 @@ AS_IF([test "x$with_media_engine" = "xgstreamer"],
                                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"
@@ -173,7 +188,7 @@ AS_IF([test "x$with_media_engine" = "xgstreamer"],
           ])
 
         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])
@@ -188,9 +203,9 @@ AC_ARG_ENABLE([example-plugins],
 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])
@@ -295,13 +310,15 @@ 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
 
+dnl Check additional requirements for LMS plugin
+if test "x$enable_lms_plugin" = "xyes";
+then
+    RYGEL_CHECK_PACKAGES([sqlite3])
+fi
 
 RYGEL_ADD_PLUGIN([tracker],[Tracker],[yes])
 AS_IF([test "x$enable_tracker_plugin" = "xyes"],
@@ -325,8 +342,22 @@ AS_IF([test "x$enable_tracker_plugin" = "xyes"],
             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"],
+                              [tracker_api_version=""])
           ])
+     AS_IF([test "x$[]tracker_api_version" = "x"],
+         [
+            PKG_CHECK_MODULES(TRACKER_SPARQL,
+                              tracker-sparql-1.0 >=  $TRACKER_SPARQL_REQUIRED_MIN,
+                              [tracker_api_version="1.0"],
+                             [])
+         ])
     AS_IF([test "x$enable_vala" = "xyes"],
           [VALA_CHECK_PACKAGES([tracker-sparql-$tracker_api_version])])
 
@@ -358,27 +389,39 @@ dnl documenation
 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
@@ -390,7 +433,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
@@ -411,18 +456,22 @@ doc/reference/librygel-renderer/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
 
@@ -440,12 +489,14 @@ echo "
         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}
             version:            ${tracker_api_version}
         mediathek:              ${enable_mediathek_plugin}
         media-export            ${enable_media_export_plugin}
+        lightmediascanner       ${enable_lms_plugin}
         external:               ${enable_external_plugin}
         MPRIS2:                 ${enable_mpris_plugin}
         gst-launch:             ${enable_gst_launch_plugin}