[rygel/wip/meson: 20/52] meson: Add media-export



commit d9c630a05e91bd0a4da1bcf4d707767e89203b14
Author: Jens Georg <mail jensge org>
Date:   Sun May 21 13:04:15 2017 +0200

    meson: Add media-export

 meson.build                          | 16 +++++++++-
 src/plugins/media-export/meson.build | 58 ++++++++++++++++++++++++++++++++++++
 src/plugins/meson.build              |  1 +
 3 files changed, 74 insertions(+), 1 deletion(-)
---
diff --git a/meson.build b/meson.build
index 145c34c9..bcd74089 100644
--- a/meson.build
+++ b/meson.build
@@ -5,7 +5,9 @@ rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir'))
 rygel_datadir = join_paths(get_option('prefix'), get_option('datadir'))
 rygel_plugindir = join_paths(get_option('prefix'), get_option('libdir'), 'rygel-2.6', 'plugins')
 rygel_enginedir = join_paths(get_option('prefix'), get_option('libdir'),
-'rygel-2.6', 'engines')
+    'rygel-2.6', 'engines')
+rygel_libexecdir = join_paths(get_option('prefix'), get_option('libexecdir'),
+    'rygel')
 rygel_presetdir = join_paths(rygel_datadir, 'rygel', 'presets')
 rygel_bigicondir = join_paths(rygel_datadir, 'rygel', 'icons', '120x120')
 rygel_smallicondir = join_paths(rygel_datadir, 'rygel', 'icons', '48x48')
@@ -23,6 +25,7 @@ conf.set('BIG_ICON_DIR', '"@0@"'.format(rygel_bigicondir))
 conf.set('SMALL_ICON_DIR', '"@0@"'.format(rygel_smallicondir))
 conf.set('SYS_CONFIG_DIR', '"@0@"'.format(rygel_sysconfdir))
 conf.set('LOCALEDIR', '"@0@"'.format(join_paths(get_option('prefix'), get_option('localedir'))))
+conf.set('MX_EXTRACT_PATH', '"@0@"'.format(join_paths(rygel_libexecdir, 'mx-extract')))
 config_include = include_directories('.')
 
 add_global_arguments(['-include','config.h'], language : 'c')
@@ -31,11 +34,14 @@ vala = meson.get_compiler('vala')
 gupnp = dependency('gupnp-1.0', version : '>= 0.24.14')
 gee = dependency('gee-0.8', version: '>= 0.8.0')
 gssdp = dependency('gssdp-1.0', version : '>= 0.13.0')
+glib = dependency('glib-2.0', version : '>= 2.26')
 gio = dependency('gio-2.0', version : '>= 2.26')
+gio_unix = dependency('gio-unix-2.0', version : '>= 2.26')
 gmodule = dependency('gmodule-2.0')
 libxml = dependency('libxml-2.0', version: '>= 2.7')
 gupnp_av = dependency('gupnp-av-1.0', version: '>= 0.12.8')
 gupnp_dlna = dependency('gupnp-dlna-2.0', version: '>= 0.9.4')
+gupnp_dlna_gst = dependency('gupnp-dlna-gst-2.0', version: '>= 0.9.4')
 soup = dependency('libsoup-2.4', version : '>= 2.44.0')
 mediaart = dependency('libmediaart-2.0', version : '>= 0.7.0')
 sqlite = dependency('sqlite3', version : '>= 3.5')
@@ -44,6 +50,9 @@ gstreamer = dependency('gstreamer-1.0', version : '>= 1.0')
 gstreamer_pbu = dependency('gstreamer-pbutils-1.0', version : '>= 1.0')
 gstreamer_base = dependency('gstreamer-base-1.0', version : '>= 1.0')
 gstreamer_audio = dependency('gstreamer-audio-1.0', version : '>= 1.0')
+gstreamer_tag = dependency('gstreamer-tag-1.0', version : '>= 1.0')
+
+gdk_pixbuf = dependency('gdk-pixbuf-2.0')
 
 posix = vala.find_library('posix')
 
@@ -75,6 +84,11 @@ rygel_deps = common_deps
 external_plugin_deps = [gio]
 gst_launch_plugin_deps = [gstreamer]
 lms_deps = [sqlite]
+mx_export_deps = common_deps + [gio, gio_unix, gstreamer, gstreamer_pbu,
+                                gupnp_dlna, gupnp_av, mediaart, gdk_pixbuf,
+                                posix, gupnp_dlna_gst, gstreamer_tag, libxml,
+                                soup]
+mx_plugin_deps = common_deps + [gstreamer, gstreamer_pbu, gio_unix, gupnp_dlna]
 
 configure_file(output: 'config.h', configuration: conf)
 
diff --git a/src/plugins/media-export/meson.build b/src/plugins/media-export/meson.build
new file mode 100644
index 00000000..007297a3
--- /dev/null
+++ b/src/plugins/media-export/meson.build
@@ -0,0 +1,58 @@
+constants = static_library('mx-constants',
+                           'constants.vala',
+                           dependencies : glib,
+                           vala_vapi: 'mx-constants.vapi',
+                           install : false)
+
+mx_extract_sources = [
+    'rygel-media-export-extract.vala',
+    'rygel-media-export-dvd-parser.vala',
+    'rygel-media-export-playlist-extractor.vala',
+    'rygel-media-export-image-extractor.vala',
+    'rygel-media-export-extractor.vala',
+    'rygel-media-export-generic-extractor.vala']
+
+mx_extract = executable('mx-extract',
+                        mx_extract_sources,
+                        dependencies : mx_export_deps,
+                        link_with: constants,
+                        install: true,
+                        install_dir: rygel_libexecdir)
+
+mx_sources = [
+    'rygel-media-export-plugin.vala',
+    'rygel-media-export-db-container.vala',
+    'rygel-media-export-sql-factory.vala',
+    'rygel-media-export-media-cache.vala',
+    'rygel-media-export-media-cache-upgrader.vala',
+    'rygel-media-export-metadata-extractor.vala',
+    'rygel-media-export-null-container.vala',
+    'rygel-media-export-dummy-container.vala',
+    'rygel-media-export-root-container.vala',
+    'rygel-media-export-query-container.vala',
+    'rygel-media-export-query-container-factory.vala',
+    'rygel-media-export-node-query-container.vala',
+    'rygel-media-export-leaf-query-container.vala',
+    'rygel-media-export-recursive-file-monitor.vala',
+    'rygel-media-export-harvester.vala',
+    'rygel-media-export-harvesting-task.vala',
+    'rygel-media-export-item-factory.vala',
+    'rygel-media-export-object-factory.vala',
+    'rygel-media-export-writable-db-container.vala',
+    'rygel-media-export-playlist-root-container.vala',
+    'rygel-media-export-playlist-container.vala',
+    'rygel-media-export-music-item.vala',
+    'rygel-media-export-video-item.vala',
+    'rygel-media-export-photo-item.vala',
+    'rygel-media-export-playlist-item.vala',
+    'rygel-media-export-trackable-db-container.vala',
+    'rygel-media-export-updatable-object.vala',
+    'rygel-media-export-dvd-container.vala',
+    'rygel-media-export-dvd-track.vala']
+
+mx_plugin = library('rygel-media-export',
+                    mx_sources,
+                    dependencies : mx_plugin_deps + [rygel_core, rygel_server, rygel_db],
+                    link_with : constants,
+                    install: true,
+                    install_dir : rygel_plugindir)
diff --git a/src/plugins/meson.build b/src/plugins/meson.build
index b4bb0803..68f8f33d 100644
--- a/src/plugins/meson.build
+++ b/src/plugins/meson.build
@@ -1,3 +1,4 @@
 subdir('external')
 subdir('gst-launch')
 subdir('lms')
+subdir('media-export')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]