Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gst-plugins-good.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2016-09-19 15:06:05 +0300
committerTim-Philipp Müller <tim@centricular.com>2020-07-10 18:45:46 +0300
commit0a3864221426663f1c3be8e07e632c7a62d1d2bb (patch)
treec6d07c40fe0681a6a6a27652151a332ac7b744ad /sys
parent39afecac324d48af210327d0ad47ca8a96871ddb (diff)
rpicamsrc: Add experimental build using the Meson build system
Builds in about 10 seconds vs. 77 seconds with autotools.
Diffstat (limited to 'sys')
-rw-r--r--sys/rpicamsrc/gstplugin.map3
-rw-r--r--sys/rpicamsrc/meson.build36
2 files changed, 39 insertions, 0 deletions
diff --git a/sys/rpicamsrc/gstplugin.map b/sys/rpicamsrc/gstplugin.map
new file mode 100644
index 000000000..08d854102
--- /dev/null
+++ b/sys/rpicamsrc/gstplugin.map
@@ -0,0 +1,3 @@
+{ global:
+gst_plugin_desc;
+local: *; };
diff --git a/sys/rpicamsrc/meson.build b/sys/rpicamsrc/meson.build
new file mode 100644
index 000000000..62c21451c
--- /dev/null
+++ b/sys/rpicamsrc/meson.build
@@ -0,0 +1,36 @@
+rpicamsrc_sources = [
+ 'gstrpicamsrc.c',
+ 'gstrpicamsrcdeviceprovider.c',
+ 'RaspiCapture.c',
+ 'RaspiCamControl.c',
+ 'RaspiPreview.c',
+ 'RaspiCLI.c',
+]
+
+# This can be simplified once meson gets native support for glib-mkenums (soon)
+glib_mkenums = find_program('glib-mkenums')
+
+gstrpicam_enum_types_h = custom_target('gstrpicam-enum-types.h',
+ output : 'gstrpicam-enum-types.h',
+ input : files('gstrpicam_types.h'),
+ command : [glib_mkenums, '--template', meson.current_source_dir() + '/gstrpicam-enums-template.h', '@INPUT@'],
+ capture : true)
+
+gstrpicam_enum_types_c = custom_target('gstrpicam-enum-types.c',
+ output : 'gstrpicam-enum-types.c',
+ input : files('gstrpicam_types.h'),
+ depends : [gstrpicam_enum_types_h],
+ command : [glib_mkenums, '--template', meson.current_source_dir() + '/gstrpicam-enums-template.c', '@INPUT@'],
+ capture : true)
+
+mapfile = 'gstplugin.map'
+
+library('gstrpicamsrc',
+ rpicamsrc_sources, gstrpicam_enum_types_h, gstrpicam_enum_types_c,
+ c_args : gst_rpicamsrc_args,
+ include_directories : config_inc,
+ link_args : '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile),
+ link_depends : mapfile,
+ dependencies : [gst_dep, gstbase_dep, gstvideo_dep] + mmal_deps,
+ install : true,
+ install_dir : plugins_install_dir)