[rygel/wip/meson: 3/34] WIP
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel/wip/meson: 3/34] WIP
- Date: Wed, 19 Sep 2018 19:57:00 +0000 (UTC)
commit eae011b8094990211ed3ccf85b4f2acac623ab48
Author: Jens Georg <mail jensge org>
Date: Sat May 20 12:43:19 2017 +0200
WIP
meson.build | 21 ++++++
src/librygel-core/meson.build | 34 ++++++++-
src/librygel-renderer/meson.build | 49 ++++++++++++
src/librygel-server/meson.build | 130 ++++++++++++++++++++++++++++++++
src/media-engines/gstreamer/meson.build | 22 ++++++
src/media-engines/meson.build | 2 +
src/meson.build | 3 +
7 files changed, 259 insertions(+), 2 deletions(-)
---
diff --git a/meson.build b/meson.build
index ca006ff9..7c63da0e 100644
--- a/meson.build
+++ b/meson.build
@@ -4,6 +4,9 @@ project('rygel', ['vala', 'c'],
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_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')
@@ -11,12 +14,16 @@ conf = configuration_data()
conf.set('GETTEXT_PACKAGE', '"rygel"')
conf.set('PACKAGE_NAME', '"Rygel"')
conf.set('PACKAGE_STRING', '"Rygel @0@"'.format(meson.project_version()))
+conf.set('PACKAGE_VERSION', '"@0@"'.format(meson.project_version()))
+conf.set('ENGINE_DIR', '"@0@"'.format(rygel_enginedir))
+conf.set('PRESET_DIR', '"@0@"'.format(rygel_presetdir))
conf.set('DATA_DIR', '"@0@"'.format(rygel_datadir))
conf.set('PLUGIN_DIR', '"@0@"'.format(rygel_plugindir))
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))
configure_file(output: 'config.h', configuration: conf)
+config_include = include_directories('.')
add_global_arguments(['-include','config.h'], language : 'c')
@@ -27,9 +34,21 @@ gssdp = dependency('gssdp-1.0', version : '>= 0.13.0')
gio = dependency('gio-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')
+soup = dependency('libsoup-2.4', version : '>= 2.44.0')
+mediaart = dependency('libmediaart-2.0', version : '>= 0.7.0')
+
+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')
+
posix = vala.find_library('posix')
sed = find_program('sed')
+g_ir_compiler = find_program('g-ir-compiler')
+gir_dir = join_paths(get_option('datadir'), 'gir-1.0')
+typelib_dir = join_paths(get_option('libdir'), 'girepository-1.0')
cc = meson.get_compiler('c')
math = cc.find_library('m', required: false)
@@ -37,5 +56,7 @@ math = cc.find_library('m', required: false)
common_deps = [gupnp, gee]
core_deps = common_deps + [gssdp, gio, gmodule, libxml, posix, math]
+renderer_deps = common_deps + [gupnp_av, soup]
+server_deps = common_deps + [gssdp, gupnp_av, soup, mediaart, gmodule, libxml]
subdir('src')
diff --git a/src/librygel-core/meson.build b/src/librygel-core/meson.build
index 446d8cf5..90c8a6b4 100644
--- a/src/librygel-core/meson.build
+++ b/src/librygel-core/meson.build
@@ -31,11 +31,41 @@ core_sources = [
'rygel-energy-management-helper.c',
'rygel-build-config.vapi']
+build_config = declare_dependency(include_directories : config_include,
+ sources : 'rygel-build-config.vapi')
+
+
core_lib = library('rygel-core-2.6', core_sources,
dependencies : core_deps,
- include_directories: include_directories('../..'),
+ include_directories: [config_include, include_directories('.')],
version: '2.0.4',
vala_gir : 'Rygel-2.6.gir',
vala_header : 'rygel-core.h',
install: true,
- install_dirs : [true, true, true, true])
+ install_dir : [true, true, true, false])
+
+custom_target('RygelCore-2.6.typelib',
+ command: [g_ir_compiler, '--output', '@OUTPUT@', '@INPUT@'],
+ output: 'RygelCore-2.6.typelib',
+ input: 'RygelCore-2.6.gir',
+ depends: core_lib,
+ install: true,
+ install_dir: gir_dir)
+
+custom_target('RygelCore-2.6.gir',
+ command: [sed, '-e', 's,Rygel[.],RygelCore.,g',
+ '-e', 's,namespace name="Rygel",namespace name="RygelCore",g',
+ '@INPUT@'],
+ input: 'Rygel-2.6.gir',
+ output: 'RygelCore-2.6.gir',
+ capture: true,
+ install: true,
+ install_dir: typelib_dir)
+
+# need to add to get the current build dir as include dir
+rygel_core = declare_dependency(include_directories: include_directories('.'),
+ dependencies: core_deps,
+ link_with: core_lib)
+
+# necessary to be able to pass it to g-ir-compiler in other libs
+core_girdir = meson.current_build_dir()
diff --git a/src/librygel-renderer/meson.build b/src/librygel-renderer/meson.build
new file mode 100644
index 00000000..656e20e8
--- /dev/null
+++ b/src/librygel-renderer/meson.build
@@ -0,0 +1,49 @@
+renderer_sources = [
+ 'rygel-media-renderer-plugin.vala',
+ 'rygel-media-player.vala',
+ 'rygel-media-renderer.vala',
+ 'rygel-player-controller.vala',
+ 'rygel-av-transport.vala',
+ 'rygel-default-player-controller.vala',
+ 'rygel-rendering-control.vala',
+ 'rygel-sink-connection-manager.vala',
+ 'rygel-time-utils.vala',
+ 'rygel-changelog.vala',
+ 'rygel-volume.vala']
+
+renderer_lib = library('rygel-renderer-2.6', renderer_sources,
+ dependencies : renderer_deps + [build_config, rygel_core],
+ version: '2.0.4',
+ vala_gir : 'Rygel-2.6.gir',
+ vala_header : 'rygel-renderer.h',
+ install: true,
+ install_dir : [true, true, true, false])
+
+custom_target('RygelRenderer-2.6.typelib',
+ command: [g_ir_compiler,
+ '--output', '@OUTPUT@',
+ '--includedir', core_girdir,
+ '@INPUT@'],
+ output: 'RygelRenderer-2.6.typelib',
+ input: 'RygelRenderer-2.6.gir',
+ depends: renderer_lib,
+ install: true,
+ install_dir: typelib_dir)
+
+custom_target('RygelRenderer-2.6.gir',
+ command: [sed, '-e', 's,Rygel[.],RygelRenderer.,g',
+ '-e', 's,namespace name="Rygel",namespace name="RygelRenderer",g',
+ '-e', 's,RygelRenderer[.]Plugin,RygelCore.Plugin,g',
+ '-e', 's,RygelRenderer[.]MediaDevice,RygelCore.MediaDevice,g',
+ '-e', 's|<package name="rygel-renderer-2.6"/>|<include
name="RygelCore" version="2.6"/><package name="rygel-renderer-2.6"/>|',
+ '@INPUT@'],
+ input: 'Rygel-2.6.gir',
+ output: 'RygelRenderer-2.6.gir',
+ capture: true,
+ install: true,
+ install_dir: join_paths(get_option('datadir'),'gir-1.0'))
+rygel_renderer = declare_dependency(include_directories : include_directories('.'),
+ dependencies : renderer_deps,
+ link_with: renderer_lib)
+
+renderer_girdir = meson.current_build_dir()
diff --git a/src/librygel-server/meson.build b/src/librygel-server/meson.build
new file mode 100644
index 00000000..579be060
--- /dev/null
+++ b/src/librygel-server/meson.build
@@ -0,0 +1,130 @@
+server_sources = [
+ 'rygel-audio-item.vala',
+ 'rygel-image-item.vala',
+ 'rygel-logical-expression.vala',
+ 'rygel-media-art-store.vala',
+ 'rygel-media-objects.vala',
+ 'rygel-music-item.vala',
+ 'rygel-photo-item.vala',
+ 'rygel-relational-expression.vala',
+ 'rygel-simple-container.vala',
+ 'rygel-subtitle.vala',
+ 'rygel-thumbnail.vala',
+ 'rygel-video-item.vala',
+ 'rygel-media-container.vala',
+ 'rygel-media-item.vala',
+ 'rygel-media-file-item.vala',
+ 'rygel-media-object.vala',
+ 'rygel-media-resource.vala',
+ 'rygel-media-server-plugin.vala',
+ 'rygel-search-expression.vala',
+ 'rygel-searchable-container.vala',
+ 'rygel-trackable-container.vala',
+ 'rygel-trackable-item.vala',
+ 'rygel-visual-item.vala',
+ 'rygel-writable-container.vala',
+ 'rygel-media-server.vala',
+ 'rygel-media-engine.vala',
+ 'rygel-http-seek.vala',
+ 'rygel-data-source.vala',
+ 'rygel-updatable-object.vala',
+ 'rygel-playlist-item.vala',
+ 'rygel-browse.vala',
+ 'rygel-client-hacks.vala',
+ 'rygel-content-directory.vala',
+ 'rygel-dbus-thumbnailer.vala',
+ 'rygel-engine-loader.vala',
+ 'rygel-http-byte-seek-request.vala',
+ 'rygel-http-byte-seek-response.vala',
+ 'rygel-free-desktop-interfaces.vala',
+ 'rygel-http-get-handler.vala',
+ 'rygel-http-get.vala',
+ 'rygel-http-thumbnail-handler.vala',
+ 'rygel-http-subtitle-handler.vala',
+ 'rygel-http-item-uri.vala',
+ 'rygel-http-post.vala',
+ 'rygel-http-request.vala',
+ 'rygel-http-response.vala',
+ 'rygel-http-response-element.vala',
+ 'rygel-http-server.vala',
+ 'rygel-http-time-seek-request.vala',
+ 'rygel-http-time-seek-response.vala',
+ 'rygel-http-resource-handler.vala',
+ 'rygel-import-resource.vala',
+ 'rygel-object-creator.vala',
+ 'rygel-reference-creator.vala',
+ 'rygel-item-destroyer.vala',
+ 'rygel-item-updater.vala',
+ 'rygel-object-removal-queue.vala',
+ 'rygel-last-change-entry.vala',
+ 'rygel-last-change-obj-add.vala',
+ 'rygel-last-change-obj-del.vala',
+ 'rygel-last-change-obj-mod.vala',
+ 'rygel-last-change-st-done.vala',
+ 'rygel-last-change.vala',
+ 'rygel-lg-tv-hacks.vala',
+ 'rygel-m3u-playlist.vala',
+ 'rygel-media-query-action.vala',
+ 'rygel-media-receiver-registrar.vala',
+ 'rygel-panasonic-hacks.vala',
+ 'rygel-samsung-tv-hacks.vala',
+ 'rygel-seek-hacks.vala',
+ 'rygel-search-criteria-parser.vala',
+ 'rygel-search.vala',
+ 'rygel-serializer.vala',
+ 'rygel-source-connection-manager.vala',
+ 'rygel-subtitle-manager.vala',
+ 'rygel-thumbnailer.vala',
+ 'rygel-wmp-hacks.vala',
+ 'rygel-xbmc-hacks.vala',
+ 'rygel-xbmc4xbox-hacks.vala',
+ 'rygel-xbox-hacks.vala',
+ 'rygel-phillips-hacks.vala',
+ 'rygel-data-sink.vala',
+ 'rygel-playspeed.vala',
+ 'rygel-playspeed-request.vala',
+ 'rygel-playspeed-response.vala',
+ 'rygel-dtcp-cleartext-request.vala',
+ 'rygel-dtcp-cleartext-response.vala',
+ 'rygel-dlna-available-seek-request.vala',
+ 'rygel-dlna-available-seek-response.vala']
+
+server_lib = library('rygel-server-2.6', server_sources,
+ dependencies : server_deps + [build_config, rygel_core],
+ version: '2.0.4',
+ vala_gir : 'Rygel-2.6.gir',
+ vala_header : 'rygel-server.h',
+ install: true,
+ install_dir : [true, true, true, false])
+
+custom_target('RygelServer-2.6.typelib',
+ command: [g_ir_compiler,
+ '--output', '@OUTPUT@',
+ '--includedir', core_girdir,
+ '@INPUT@'],
+ output: 'RygelServer-2.6.typelib',
+ input: 'RygelServer-2.6.gir',
+ depends: server_lib,
+ install: true,
+ install_dir: typelib_dir)
+
+custom_target('RygelServer-2.6.gir',
+ command: [sed, '-e', 's,Rygel\.,RygelServer.,g',
+ '-e', 's,namespace name="Rygel",namespace name="RygelServer",g',
+ '-e', 's,RygelServer[.]Plugin,RygelCore.Plugin,g',
+ '-e', 's,RygelServer[.]MediaDevice,RygelCore.MediaDevice,g',
+ '-e', 's|<package name="rygel-server-2.6"/>|<include
name="RygelCore" version="2.6"/><package name="rygel-server-2.6"/>|',
+ '@INPUT@'],
+ input: 'Rygel-2.6.gir',
+ output: 'RygelServer-2.6.gir',
+ capture: true,
+ install: true,
+ install_dir: join_paths(get_option('datadir'),'gir-1.0'))
+
+# need to add to get the current build dir as include dir
+rygel_server = declare_dependency(include_directories: include_directories('.'),
+ dependencies : server_deps,
+ link_with: server_lib)
+
+# necessary to be able to pass it to g-ir-compiler in other libs
+server_girdir = meson.current_build_dir()
diff --git a/src/media-engines/gstreamer/meson.build b/src/media-engines/gstreamer/meson.build
new file mode 100644
index 00000000..a6dbd387
--- /dev/null
+++ b/src/media-engines/gstreamer/meson.build
@@ -0,0 +1,22 @@
+media_engine_gst_sources = [
+ 'rygel-aac-transcoder.vala',
+ 'rygel-audio-transcoder.vala',
+ 'rygel-avc-transcoder.vala',
+ 'rygel-gst-data-source.vala',
+ 'rygel-gst-media-engine.vala',
+ 'rygel-gst-sink.vala',
+ 'rygel-gst-transcoder.vala',
+ 'rygel-gst-utils.vala',
+ 'rygel-l16-transcoder.vala',
+ 'rygel-mp2ts-transcoder.vala',
+ 'rygel-mp3-transcoder.vala',
+ 'rygel-video-transcoder.vala',
+ 'rygel-wmv-transcoder.vala'
+ ]
+
+
+library('rygel-media-engine-gst',
+ media_engine_gst_sources,
+ dependencies: [build_config, gee, gupnp_av, libxml, gio, rygel_core, rygel_server, gstreamer,
gstreamer_pbu, gstreamer_base, gupnp_dlna],
+ install: true,
+ install_dir : rygel_enginedir)
diff --git a/src/media-engines/meson.build b/src/media-engines/meson.build
new file mode 100644
index 00000000..e859166c
--- /dev/null
+++ b/src/media-engines/meson.build
@@ -0,0 +1,2 @@
+subdir('gstreamer')
+#subdir('simple')
diff --git a/src/meson.build b/src/meson.build
index 21b1bf5e..76e26a9b 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1 +1,4 @@
subdir('librygel-core')
+subdir('librygel-renderer')
+subdir('librygel-server')
+subdir('media-engines')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]