summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2017-05-21 13:04:15 +0200
committerJens Georg <mail@jensge.org>2017-05-21 20:16:33 +0200
commit56e5782828a6a00f0c15f7c56b682e843bd7b69e (patch)
tree67b020ab9d4a556838d26f06d6f1da4bd0f0ea94
parent506ffc6e7b393aaa00b8e81102dea92bf898fd3b (diff)
downloadrygel-56e5782828a6a00f0c15f7c56b682e843bd7b69e.tar.gz
meson: Add media-export
-rw-r--r--meson.build16
-rw-r--r--src/plugins/media-export/meson.build58
-rw-r--r--src/plugins/meson.build1
3 files changed, 74 insertions, 1 deletions
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')