plugins = []
i18n = import('i18n')
+static_build = get_option('default_library') == 'static'
+libraries = []
+
python_mod = import('python')
python3 = python_mod.find_installation()
-
if not get_option('validate').disabled()
subdir('validate')
endif
dependencies : validate_deps)
plugins += gstvalidatetracer
+
+pkg_name = 'gst-validate-1.0'
+library_def = {'lib': gstvalidate}
pkgconfig.generate(gstvalidate,
libraries : [gst_dep],
subdirs : pkgconfig_subdirs,
- name : 'gst-validate-1.0',
+ name : pkg_name,
description : 'Gstreamer Validate',
)
validate_gen_sources = []
if build_gir
gst_validate_gir_extra_args = gir_init_section + [ '--c-include=gst/validate/validate.h' ]
- validate_gir = gnome.generate_gir(gstvalidate,
- sources : gstvalidate_sources + gstvalidate_headers + gst_validate_enums,
- nsversion : '1.0',
- namespace : 'GstValidate',
- symbol_prefix : 'gst_validate',
- identifier_prefix : 'GstValidate',
- export_packages : 'gst-validate-' + apiversion,
- includes : ['GObject-2.0',
+ gir = {
+ 'sources' : gstvalidate_sources + gstvalidate_headers + gst_validate_enums,
+ 'nsversion' : '1.0',
+ 'namespace' : 'GstValidate',
+ 'symbol_prefix' : 'gst_validate',
+ 'identifier_prefix' : 'GstValidate',
+ 'export_packages' : pkg_name,
+ 'includes' : ['GObject-2.0',
'GLib-2.0',
'Gio-2.0',
'GModule-2.0',
'Gst-' + apiversion,
'GstPbutils-' + apiversion],
- install : true,
- dependencies : validate_deps,
- extra_args : gst_validate_gir_extra_args,
- )
- validate_gen_sources += [validate_gir]
+ 'install' : true,
+ 'dependencies' : validate_deps,
+ 'extra_args' : gst_validate_gir_extra_args,
+ }
+ library_def += {'gir': [gir]}
+
+ if not static_build
+ validate_gir = gnome.generate_gir(gstvalidate, kwargs: gir)
+ validate_gen_sources += [validate_gir]
+ endif
endif
+libraries += [[pkg_name, library_def]]
validate_dep = declare_dependency(link_with : gstvalidate,
include_directories : [inc_dirs],
sources : validate_gen_sources
)
-meson.override_dependency('gst-validate-1.0', validate_dep)
+meson.override_dependency(pkg_name, validate_dep)
pkgconfig.generate(gstvalidatetracer, install_dir : plugins_pkgconfig_install_dir)
endif
endforeach
-if not build_gir
+if not build_gir or static_build
if get_option('doc').enabled()
error('Documentation enabled but introspection not built.')
endif
'ges-audio-source.h',
'ges-video-uri-source.h',
'ges-audio-uri-source.h',
- 'ges-image-source.h',
'ges-multi-file-source.h',
'ges-transition.h',
'ges-audio-transition.h',
install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/ges'),
configuration : version_data)]
-install_headers(ges_headers, subdir : 'gstreamer-1.0/ges')
-
flex = find_program('flex', required : false)
if not flex.found()
flex = find_program('win_flex', required : false)
install : true,
dependencies : libges_deps)
+pkg_name = 'gst-editing-services-1.0'
pkgconfig.generate(libges,
libraries : [gst_dep, gstbase_dep, gstpbutils_dep, gstcontroller_dep],
subdirs : pkgconfig_subdirs,
- name : 'gst-editing-services-1.0',
+ name : pkg_name,
description : 'GStreamer Editing Services',
)
+library_def = {'lib': libges}
+pkg_name = 'gst-editing-services-1.0'
ges_gen_sources = []
if build_gir
ges_gir_extra_args = gir_init_section + [ '--c-include=ges/ges.h' ]
'-I' + meson.current_build_dir() + '/..',
'--cflags-end']
endif
- ges_gir = gnome.generate_gir(libges,
- sources : ges_sources + ges_headers,
- namespace : 'GES',
- nsversion : apiversion,
- identifier_prefix : 'GES',
- symbol_prefix : 'ges',
- export_packages : 'gst-editing-services-1.0',
- includes : ['Gst-1.0', 'GstPbutils-1.0', 'GstVideo-1.0', 'Gio-2.0', 'GObject-2.0'],
- install : true,
- dependencies : libges_deps,
- extra_args : ges_gir_extra_args
- )
- ges_gen_sources += [ges_gir]
+ gir = {
+ 'sources' : ges_sources + ges_headers,
+ 'namespace' : 'GES',
+ 'nsversion' : apiversion,
+ 'identifier_prefix' : 'GES',
+ 'symbol_prefix' : 'ges',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstPbutils-1.0', 'GstVideo-1.0', 'Gio-2.0', 'GObject-2.0'],
+ 'install' : true,
+ 'dependencies' : libges_deps,
+ 'extra_args' : ges_gir_extra_args
+ }
+ library_def = {'gir': gir}
+ if not static_build
+ ges_gir = gnome.generate_gir(libges, kwargs: gir)
+ ges_gen_sources += [ges_gir]
+ endif
endif
+# GESImageSource is unused and is internal only so it gets stripped out when we statically
+# link GES. We keep the header for backward compatibility reasons.
+install_headers(ges_headers + files('ges-image-source.h'), subdir : 'gstreamer-1.0/ges')
+libraries += [[pkg_name, library_def]]
+
ges_dep = declare_dependency(link_with : libges,
include_directories : [configinc],
sources : ges_gen_sources,
dependencies : libges_deps,
)
-
-meson.override_dependency('gst-editing-services-1.0', ges_dep)
+meson.override_dependency(pkg_name, ges_dep)
pkgconfig_subdirs = ['gstreamer-1.0']
configinc = include_directories('.')
+static_build = get_option('default_library') == 'static'
+libraries = []
+
subdir('ges')
subdir('plugins')
if not get_option('tools').disabled()
endif
endforeach
+if static_build
+ if get_option('doc').enabled()
+ error('Documentation enabled but not supported when building statically.')
+ endif
+
+ message('Building statically, can\'t build the documentation')
+ subdir_done()
+endif
+
if not build_gir
if get_option('doc').enabled()
error('Documentation enabled but introspection not built.')
adaptivedemux_sources = files('gstadaptivedemux.c')
adaptivedemux_headers = files('gstadaptivedemux.h')
+pkg_name = 'gstreamer-adaptivedemux-1.0'
gstadaptivedemux = library('gstadaptivedemux-' + api_version,
adaptivedemux_sources,
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_ADAPTIVE_DEMUX'],
install : true,
dependencies : [gstbase_dep, gsturidownloader_dep],
)
+libraries += [[pkg_name, {'lib': gstadaptivedemux}]]
gstadaptivedemux_dep = declare_dependency(link_with : gstadaptivedemux,
include_directories : [libsinc],
dependencies : [gstbase_dep, gsturidownloader_dep])
+
+meson.override_dependency(pkg_name, gstadaptivedemux_dep)
\ No newline at end of file
dependencies : [gstaudio_dep, gstbase_dep],
)
+library_def = {'lib': gstbadaudio}
+pkg_name = 'gstreamer-bad-audio-1.0'
pkgconfig.generate(gstbadaudio,
libraries : [gst_dep, gstbase_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-bad-audio-1.0',
+ name : pkg_name,
description : 'Bad audio library for GStreamer elements',
)
gen_sources = []
+
if build_gir
- audio_gir = gnome.generate_gir(gstbadaudio,
- sources : badaudio_sources + badaudio_headers,
- namespace : 'GstBadAudio',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-bad-audio-1.0',
- includes : ['Gst-1.0', 'GstAudio-1.0', 'GstBase-1.0'],
- install : true,
- extra_args : gir_init_section + ['-DGST_USE_UNSTABLE_API'],
- dependencies : [gstbase_dep, gstaudio_dep]
- )
- gen_sources += audio_gir
+ gir = {
+ 'sources' : badaudio_sources + badaudio_headers,
+ 'namespace' : 'GstBadAudio',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstAudio-1.0', 'GstBase-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['-DGST_USE_UNSTABLE_API'],
+ 'dependencies' : [gstbase_dep, gstaudio_dep]
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ audio_gir = gnome.generate_gir(gstbadaudio, kwargs: gir)
+ gen_sources += audio_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
gstbadaudio_dep = declare_dependency(link_with : gstbadaudio,
include_directories : [libsinc],
dependencies : [gstapp_dep],
)
-_sources = []
-if build_gir
- basecamerabin_gir = gnome.generate_gir(gstbasecamerabin,
- sources : camerabin_sources + camerabin_headers,
- namespace : 'GstBadBaseCameraBin',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-bad-base-camerabinsrc-1.0',
- includes : ['Gst-1.0', 'GstApp-1.0'],
- install : false, # Only for the documentation
- extra_args : gir_init_section + ['-DGST_USE_UNSTABLE_API'],
- dependencies : [gstapp_dep],
- build_by_default : true,
- )
- _sources += [basecamerabin_gir]
+library_def = {'lib': gstbasecamerabin}
+pkg_name = 'gstreamer-bad-base-camerabinsrc-1.0'
+gen_sources = []
+if build_gir and not static_build
+ gir = {
+ 'sources' : camerabin_sources + camerabin_headers,
+ 'namespace' : 'GstBadBaseCameraBin',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstApp-1.0'],
+ 'install' : false, # Only for the documentation
+ 'extra_args' : gir_init_section + ['-DGST_USE_UNSTABLE_API'],
+ 'dependencies' : [gstapp_dep],
+ 'build_by_default' : true,
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ basecamerabin_gir = gnome.generate_gir(gstbasecamerabin, kwargs: gir)
+ gen_sources += basecamerabin_gir
+ endif
endif
gstbasecamerabin_dep = declare_dependency(link_with : gstbasecamerabin,
include_directories : [libsinc],
+ sources: gen_sources,
dependencies : [gstapp_dep])
+meson.override_dependency(pkg_name, gstbasecamerabin_dep)
dependencies : [gstbase_dep, libm],
)
+pkg_name = 'gstreamer-codecparsers-1.0'
pkgconfig.generate(gstcodecparsers,
libraries : [gst_dep, gstbase_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-codecparsers-1.0',
+ name : pkg_name,
description : 'Bitstream parsers for GStreamer elements',
)
include_directories : [libsinc],
dependencies : [gstbase_dep])
-meson.override_dependency('gstreamer-codecparsers-1.0', gstcodecparsers_dep)
+libraries += [[pkg_name, {'lib': gstcodecparsers}]]
+meson.override_dependency(pkg_name, gstcodecparsers_dep)
dependencies : [gstvideo_dep, gstcodecparsers_dep],
)
+library_def = {'lib': gstcodecs}
+pkg_name = 'gstreamer-codecs-1.0'
gen_sources = []
if build_gir
- codecs_gir = gnome.generate_gir(gstcodecs,
- sources : codecs_sources + codecs_headers,
- namespace : 'GstCodecs',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-codecs-1.0',
- includes : ['Gst-1.0', 'GstVideo-1.0'],
- install : true,
- extra_args : gir_init_section + ['-DGST_USE_UNSTABLE_API'] +
+ gir = {
+ 'sources' : codecs_sources + codecs_headers,
+ 'namespace' : 'GstCodecs',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstVideo-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['-DGST_USE_UNSTABLE_API'] +
['--c-include=gst/codecs/gsth264decoder.h',
'--c-include=gst/codecs/gsth265decoder.h',
'--c-include=gst/codecs/gstvp9decoder.h',
'--c-include=gst/codecs/gstvp8decoder.h',
'--c-include=gst/codecs/gstmpeg2decoder.h',
],
- dependencies : [gstvideo_dep, gstcodecparsers_dep]
- )
+ 'dependencies' : [gstvideo_dep, gstcodecparsers_dep]
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ codecs_gir = gnome.generate_gir(gstcodecs, kwargs: gir)
+ gen_sources += codecs_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
gstcodecs_dep = declare_dependency(link_with : gstcodecs,
include_directories : [libsinc],
sources: gen_sources,
dependencies : [gstvideo_dep, gstcodecparsers_dep])
+meson.override_dependency(pkg_name, gstcodecs_dep)
\ No newline at end of file
configuration: d3d11_conf,
)
+pkg_name = 'gstreamer-d3d11-' + api_version
gstd3d11 = library('gstd3d11-' + api_version,
d3d11_sources,
c_args : gst_plugins_bad_args + extra_c_args + extra_comm_args,
dependencies : [gstbase_dep, gstvideo_dep, gmodule_dep, d3d11_lib, dxgi_lib]
)
+library_def = {'lib': gstd3d11}
+libraries += [[pkg_name, library_def]]
+
# Still non-public api, should not install headers
gstd3d11_dep = declare_dependency(link_with : gstd3d11,
include_directories : [libsinc],
dependencies : [gst_dep],
)
+library_def = {'lib': gstinsertbin}
+pkg_name = 'gstreamer-insertbin-1.0'
pkgconfig.generate(gstinsertbin,
libraries : [gst_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-insertbin-1.0',
+ name : pkg_name,
description : 'Bin to automatically and insertally link elements',
)
gen_sources = []
if build_gir
- insertbin_gir = gnome.generate_gir(gstinsertbin,
- sources : insert_sources + insert_headers,
- namespace : 'GstInsertBin',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-insertbin-1.0',
- includes : ['Gst-1.0'],
- install : true,
- extra_args : gir_init_section + ['-DGST_USE_UNSTABLE_API'] + ['--c-include=gst/insertbin/gstinsertbin.h'],
- dependencies : [gst_dep]
- )
- gen_sources += insertbin_gir
+ gir = {
+ 'sources' : insert_sources + insert_headers,
+ 'namespace' : 'GstInsertBin',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['-DGST_USE_UNSTABLE_API'] + ['--c-include=gst/insertbin/gstinsertbin.h'],
+ 'dependencies' : [gst_dep]
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ insertbin_gir = gnome.generate_gir(gstinsertbin, kwargs: gir)
+ gen_sources += insertbin_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
gstinsertbin_dep = declare_dependency(link_with : gstinsertbin,
include_directories : [libsinc],
sources: gen_sources,
dependencies : [gst_dep])
-meson.override_dependency('gstreamer-insertbin-1.0', gstinsertbin_dep)
+meson.override_dependency(pkg_name, gstinsertbin_dep)
photoenum_c = photo_enums[0]
photoenum_h = photo_enums[1]
+pkg_name = 'gstreamer-photography-1.0'
gstphotography = library('gstphotography-' + api_version,
photography_sources, photoenum_h, photoenum_c,
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_PHOTOGRAPHY'],
libraries : [gst_dep, gstbase_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-photography-1.0',
+ name : pkg_name,
description : 'High level API for transcoding using GStreamer',
)
dependencies : [gst_dep],
sources : [photoenum_h])
-meson.override_dependency('gstreamer-photography-1.0', gstphotography_dep)
+libraries += [[pkg_name, {'lib': gstphotography}]]
+meson.override_dependency(pkg_name, gstphotography_dep)
dependencies : [gst_dep],
)
+library_def = {'lib': gstmpegts}
+pkg_name = 'gstreamer-mpegts-1.0'
pkgconfig.generate(gstmpegts,
libraries : [gst_dep, gstbase_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-mpegts-1.0',
+ name : pkg_name,
description : 'GStreamer MPEG-TS support',
)
if build_gir
- mpegts_gir = gnome.generate_gir(gstmpegts,
- sources : mpegts_sources + mpegts_headers,
- namespace : 'GstMpegts',
- nsversion : api_version,
- identifier_prefix : 'GstMpegts',
- symbol_prefix : ['gst_mpegts', 'gst'],
- export_packages : 'gstreamer-mpegts-1.0',
- includes : ['Gst-1.0'],
- install : true,
- extra_args : gir_init_section + ['-DGST_USE_UNSTABLE_API'] + ['--c-include=gst/mpegts/mpegts.h'],
- dependencies : [gst_dep]
- )
- gen_sources += mpegts_gir
+ gir = {
+ 'sources' : mpegts_sources + mpegts_headers,
+ 'namespace' : 'GstMpegts',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'GstMpegts',
+ 'symbol_prefix' : ['gst_mpegts', 'gst'],
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['-DGST_USE_UNSTABLE_API'] + ['--c-include=gst/mpegts/mpegts.h'],
+ 'dependencies' : [gst_dep]
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ mpegts_gir = gnome.generate_gir(gstmpegts, kwargs: gir)
+ gen_sources += mpegts_gir
+ endif
endif
-
+libraries += [[pkg_name, library_def]]
gstmpegts_dep = declare_dependency(link_with : gstmpegts,
include_directories : [libsinc],
dependencies : [gst_dep],
sources : gen_sources)
-
-meson.override_dependency('gstreamer-mpegts-1.0', gstmpegts_dep)
+meson.override_dependency(pkg_name, gstmpegts_dep)
# /usr/include/opencv4/opencv2/flann/logger.h:83:36: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
gstopencv_cargs = cxx.get_supported_arguments(['-Wno-missing-include-dirs', '-Wno-format-nonliteral'])
+ pkg_name = 'gstreamer-opencv-1.0'
gstopencv = library('gstopencv-' + api_version,
opencv_sources,
c_args : gst_plugins_bad_args + ['-DBUILDING_GST_OPENCV'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
- darwin_versions : osxversion,
+ darwin_versions : osxversion,
install : true,
dependencies : [gstbase_dep, gstvideo_dep, opencv_dep],
)
+ libraries += [[pkg_name, {'lib': gstopencv}]]
gstopencv_dep = declare_dependency(link_with: gstopencv,
include_directories : [libsinc],
dependencies : [gstvideo_dep, opencv_dep])
+ meson.override_dependency(pkg_name, gstopencv_dep)
install_headers(opencv_headers, subdir : 'gstreamer-1.0/gst/opencv')
elif get_option('opencv').enabled()
'gstplay-signal-adapter.c',
'gstplay-video-renderer.c',
'gstplay-media-info.c',
- 'gstplay-video-overlay-video-renderer.c',
'gstplay-visualization.c',
+ 'gstplay-video-overlay-video-renderer.c',
)
gstplay_headers = files(
gsttag_dep, gstpbutils_dep],
)
+pkg_name = 'gstreamer-play-1.0'
pkgconfig.generate(gstplay,
libraries : [gst_dep, gstvideo_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-play-1.0',
+ name : pkg_name,
description : 'GStreamer Player convenience library',
)
+library_def = {'lib': gstplay}
gen_sources = []
if build_gir
- play_gir = gnome.generate_gir(gstplay,
- sources : gstplay_sources + gstplay_headers,
- namespace : 'GstPlay',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-play-1.0',
- includes : ['Gst-1.0', 'GstPbutils-1.0', 'GstBase-1.0', 'GstVideo-1.0',
+ gir = {
+ 'sources' : gstplay_sources + gstplay_headers,
+ 'namespace' : 'GstPlay',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstPbutils-1.0', 'GstBase-1.0', 'GstVideo-1.0',
'GstAudio-1.0', 'GstTag-1.0'],
- install : true,
- extra_args : gir_init_section + ['-DGST_USE_UNSTABLE_API'] + ['--c-include=gst/play/play.h'],
- dependencies : [gstbase_dep, gstvideo_dep, gstaudio_dep,
- gsttag_dep, gstpbutils_dep]
- )
- gen_sources += play_gir
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['-DGST_USE_UNSTABLE_API'] + ['--c-include=gst/play/play.h'],
+ 'dependencies' : [gstbase_dep, gstvideo_dep, gstaudio_dep,
+ gsttag_dep, gstpbutils_dep]
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ play_gir = gnome.generate_gir(gstplay, kwargs: gir)
+ gen_sources += play_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
gstplay_dep = declare_dependency(link_with : gstplay,
include_directories : [libsinc],
dependencies : [gstbase_dep, gstvideo_dep, gstaudio_dep,
gsttag_dep, gstpbutils_dep])
-meson.override_dependency('gstreamer-play-1.0', gstplay_dep)
+meson.override_dependency(pkg_name, gstplay_dep)
gsttag_dep, gstpbutils_dep],
)
+library_def = {'lib': gstplayer}
+pkg_name = 'gstreamer-player-1.0'
pkgconfig.generate(gstplayer,
libraries : [gst_dep, gstvideo_dep],
variables : pkgconfig_variables,
gen_sources = []
if build_gir
- player_gir = gnome.generate_gir(gstplayer,
- sources : gstplayer_sources + gstplayer_headers,
- namespace : 'GstPlayer',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-player-1.0',
- includes : ['Gst-1.0', 'GstPbutils-1.0', 'GstBase-1.0', 'GstVideo-1.0',
+ gir = {
+ 'sources' : gstplayer_sources + gstplayer_headers,
+ 'namespace' : 'GstPlayer',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstPbutils-1.0', 'GstBase-1.0', 'GstVideo-1.0',
'GstAudio-1.0', 'GstTag-1.0'],
- install : true,
- extra_args : gir_init_section + ['-DGST_USE_UNSTABLE_API'] + ['--c-include=gst/player/player.h'],
- dependencies : [gstbase_dep, gstvideo_dep, gstaudio_dep, gstplay_dep,
- gsttag_dep, gstpbutils_dep]
- )
- gen_sources += player_gir
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['-DGST_USE_UNSTABLE_API'] + ['--c-include=gst/player/player.h'],
+ 'dependencies' : [gstbase_dep, gstvideo_dep, gstaudio_dep, gstplay_dep,
+ gsttag_dep, gstpbutils_dep]
+ }
+ library_def = {'lib': library_def['lib'], 'gir': [gir]}
+ if not static_build
+ player_gir = gnome.generate_gir(gstplayer, kwargs: gir)
+ gen_sources += player_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
gstplayer_dep = declare_dependency(link_with : gstplayer,
include_directories : [libsinc],
dependencies : [gstbase_dep, gstvideo_dep, gstaudio_dep, gstplay_dep,
gsttag_dep, gstpbutils_dep])
-meson.override_dependency('gstreamer-player-1.0', gstplayer_dep)
+meson.override_dependency(pkg_name, gstplayer_dep)
dependencies : [gstbase_dep],
)
+pkg_name = 'gstreamer-sctp-1.0'
+libraries += [[pkg_name, {'lib': libgstsctp}]]
pkgconfig.generate(libgstsctp,
libraries : [gst_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-sctp-1.0',
+ name : pkg_name,
description : 'SCTP helper functions',
)
include_directories : [libsinc],
dependencies : [gstbase_dep])
-meson.override_dependency('gstreamer-sctp-1.0', gstsctp_dep)
+meson.override_dependency(pkg_name, gstsctp_dep)
soversion : soversion,
)
+library_def = {'lib': gst_transcoder}
+pkg_name = 'gstreamer-transcoder-1.0'
pkgconfig.generate(gst_transcoder,
libraries : [gst_dep, gstbase_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-transcoder-1.0',
+ name : pkg_name,
description : 'High level API for transcoding using GStreamer',
)
if build_gir
- transcoder_gir = gnome.generate_gir(gst_transcoder,
- sources : sources + headers + [gsttranscoder_h],
- nsversion : api_version,
- namespace : 'GstTranscoder',
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst_',
- includes : ['GObject-2.0',
+ gir = {
+ 'sources' : sources + headers + [gsttranscoder_h],
+ 'nsversion' : api_version,
+ 'namespace' : 'GstTranscoder',
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst_',
+ 'includes' : ['GObject-2.0',
'Gst-' + api_version,
'GstPbutils-' + api_version],
- dependencies: [gst_dep, gstpbutils_dep],
- install : true,
- extra_args : gir_init_section
- )
- transcoder_gen_sources += transcoder_gir
+ 'dependencies' : [gst_dep, gstpbutils_dep],
+ 'export_packages' : pkg_name,
+ 'install' : true,
+ 'extra_args' : gir_init_section
+ }
+ library_def += { 'gir': [gir]}
+ if not static_build
+ transcoder_gir = gnome.generate_gir(gst_transcoder, kwargs: gir)
+ transcoder_gen_sources += transcoder_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
gst_transcoder_dep = declare_dependency(link_with: gst_transcoder,
dependencies : [gst_dep, gstpbutils_dep],
- include_directories : [libsinc],
sources: transcoder_gen_sources,
+ include_directories : [libsinc]
)
-
-meson.override_dependency('gstreamer-transcoder-1.0', gst_transcoder_dep)
+meson.override_dependency(pkg_name, gst_transcoder_dep)
]
install_headers(urid_headers, subdir : 'gstreamer-1.0/gst/uridownloader')
+pkg_name = 'gstreamer-downloader-1.0'
gsturidownloader = library('gsturidownloader-' + api_version,
urid_sources,
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_URI_DOWNLOADER'],
gsturidownloader_dep = declare_dependency(link_with : gsturidownloader,
include_directories : [libsinc],
dependencies : [gstbase_dep])
+
+libraries += [[pkg_name, {'lib': gsturidownloader}]]
+meson.override_dependency(pkg_name, gsturidownloader_dep)
\ No newline at end of file
dependencies : [gst_dep, libva_dep, libva_drm_dep, libdrm_dep],
)
+pkg_name = 'gstreamer-va-1.0'
+libraries += [[pkg_name, {'lib': gstva}]]
pkgconfig.generate(gstva,
libraries : gst_dep,
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-va-1.0',
+ name : pkg_name,
description : 'GStreamer VA support',
)
gstva_dep = declare_dependency(link_with : gstva,
include_directories : [libsinc],
dependencies : [gst_dep, libva_dep, libva_drm_dep, libdrm_dep])
-meson.override_dependency('gstreamer-va-1.0', gstva_dep)
+meson.override_dependency(pkg_name, gstva_dep)
# don't confuse gst/vulkan/xcb/xcb.h with xcb/xcb.h
implicit_include_directories : false)
+library_def = {'lib': gstvulkan}
+pkg_name = 'gstreamer-vulkan-1.0'
pkgconfig.generate(gstvulkan,
libraries : [gst_dep, gstbase_dep, gstvideo_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-vulkan-1.0',
+ name : pkg_name,
description : 'GStreamer Vulkan support',
)
extra_gir_includes += ['Vulkan-1.0']
endif
- vulkan_gir = gnome.generate_gir(gstvulkan,
- sources : vulkan_sources + vulkan_headers + [vulkan_enumtypes_h, vulkan_enumtypes_c],
- namespace : 'GstVulkan',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-vulkan-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'] + extra_gir_includes,
- install : true,
- extra_args : gir_init_section + ['--c-include=gst/vulkan/vulkan.h'],
- dependencies : [gstvideo_dep, gst_dep, gstbase_dep] + optional_deps
- )
- gen_sources += vulkan_gir
+ gir = {
+ 'sources' : vulkan_sources + vulkan_headers + [vulkan_enumtypes_h, vulkan_enumtypes_c],
+ 'namespace' : 'GstVulkan',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'] + extra_gir_includes,
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['--c-include=gst/vulkan/vulkan.h'],
+ 'dependencies' : [gstvideo_dep, gst_dep, gstbase_dep] + optional_deps
+ }
+
+ library_def += {'gir': [gir]}
+ if not static_build
+ vulkan_gir = gnome.generate_gir(gstvulkan, kwargs: gir)
+ gen_sources += vulkan_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
gstvulkan_dep = declare_dependency(link_with : gstvulkan,
include_directories : [libsinc],
sources: gen_sources,
dependencies : [gstvideo_dep, gstbase_dep, vulkan_dep] + optional_deps)
-meson.override_dependency('gstreamer-vulkan-1.0', gstvulkan_dep)
+meson.override_dependency(pkg_name, gstvulkan_dep)
if enabled_vulkan_winsys.contains('xcb')
install_headers(vulkan_xcb_headers, subdir : 'gstreamer-1.0/gst/vulkan/xcb')
)
vulkan_xcb_gir = []
if build_gir
- vulkan_xcb_gir = gnome.generate_gir(gstvulkan,
- sources : vulkan_xcb_sources + vulkan_xcb_headers,
- namespace : 'GstVulkanXCB',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-vulkan-xcb-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0', vulkan_gir[0]] + extra_gir_includes,
- install : true,
- extra_args : gir_init_section + ['--c-include=gst/vulkan/xcb/xcb.h'],
- dependencies : [gstvideo_dep, gst_dep, gstbase_dep] + optional_deps
- )
+ gir = {
+ 'sources' : vulkan_xcb_sources + vulkan_xcb_headers,
+ 'namespace' : 'GstVulkanXCB',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : 'gstreamer-vulkan-xcb-1.0',
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['--c-include=gst/vulkan/xcb/xcb.h'],
+ 'dependencies' : [gstvideo_dep, gst_dep, gstbase_dep] + optional_deps
+ }
+
+ if not static_build
+ gir += {'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0', vulkan_gir[0]] + extra_gir_includes}
+ vulkan_xcb_gir = gnome.generate_gir(gstvulkan, kwargs: gir)
+ endif
+
+ gir += {'includes' :['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0', 'GstVulkan-1.0'] + extra_gir_includes}
+ library_def += {'gir': library_def['gir'] + [gir]}
endif
gstvulkanxcb_dep = declare_dependency(dependencies : [gstvulkan_dep],
sources : vulkan_xcb_gir)
)
vulkan_wayland_gir = []
if build_gir
- vulkan_wayland_gir = gnome.generate_gir(gstvulkan,
- sources : vulkan_wayland_sources + vulkan_wayland_headers,
- namespace : 'GstVulkanWayland',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-vulkan-wayland-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0', vulkan_gir[0]] + extra_gir_includes,
- install : true,
- extra_args : gir_init_section + ['--c-include=gst/vulkan/wayland/wayland.h'],
- dependencies : [gstvideo_dep, gst_dep, gstbase_dep] + optional_deps
- )
+ gir = {
+ 'sources' : vulkan_wayland_sources + vulkan_wayland_headers,
+ 'namespace' : 'GstVulkanWayland',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : 'gstreamer-vulkan-wayland-1.0',
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['--c-include=gst/vulkan/wayland/wayland.h'],
+ 'dependencies' : [gstvideo_dep, gst_dep, gstbase_dep] + optional_deps
+ }
+ if not static_build
+ gir += {'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0', vulkan_gir[0]] + extra_gir_includes}
+ vulkan_wayland_gir += gnome.generate_gir(gstvulkan, kwargs: gir)
+ endif
+ gir += {'includes' :['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0', 'GstVulkan-1.0'] + extra_gir_includes}
+ library_def += {'gir': library_def['gir'] + [gir]}
endif
gstvulkanwayland_dep = declare_dependency(dependencies : [gstvulkan_dep],
sources : vulkan_wayland_gir)
meson.override_dependency('gstreamer-vulkan-wayland-1.0', gstvulkanwayland_dep)
endif
+
dependencies : [gst_dep, gstvideo_dep, wl_client_dep]
)
+ pkg_name = 'gstreamer-wayland-1.0'
+ libraries += [[pkg_name, {'lib': gstwayland}]]
pkgconfig.generate(gstwayland,
libraries : [gst_dep, gstvideo_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-wayland-1.0',
+ name : pkg_name,
description : 'GStreamer Wayland support',
)
include_directories : [libsinc],
dependencies : [gst_dep, gstvideo_dep])
- meson.override_dependency('gstreamer-wayland-1.0', gstwayland_dep)
install_headers('wayland.h', subdir: 'gstreamer-1.0/gst/wayland')
+ meson.override_dependency(pkg_name, gstwayland_dep)
endif
dependencies : gstwebrtc_dependencies,
)
+library_def = {'lib': gstwebrtc}
+pkg_name = 'gstreamer-webrtc-1.0'
pkgconfig.generate(gstwebrtc,
libraries : [gst_dep, gstbase_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-webrtc-1.0',
+ name : pkg_name,
description : 'GStreamer WebRTC support',
)
if build_gir
- webrtc_gir = gnome.generate_gir(gstwebrtc,
- sources : webrtc_sources + webrtc_headers + [gstwebrtc_h],
- namespace : 'GstWebRTC',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-webrtc-1.0',
- includes : ['Gst-1.0', 'GstSdp-1.0'],
- install : true,
- extra_args : gir_init_section + ['-DGST_USE_UNSTABLE_API'] + ['--c-include=gst/webrtc/webrtc.h'],
- dependencies : [gstbase_dep, gstsdp_dep]
- )
- webrtc_gen_sources += webrtc_gir
+ gir = {
+ 'sources' : webrtc_sources + webrtc_headers + [gstwebrtc_h],
+ 'namespace' : 'GstWebRTC',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstSdp-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['-DGST_USE_UNSTABLE_API'] + ['--c-include=gst/webrtc/webrtc.h'],
+ 'dependencies' : gstwebrtc_dependencies,
+ }
+ library_def = {'lib': library_def['lib'], 'gir': [gir]}
+ if not static_build
+ webrtc_gir = gnome.generate_gir(gstwebrtc, kwargs: gir)
+ webrtc_gen_sources += webrtc_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
install_headers(webrtc_headers, subdir : 'gstreamer-1.0/gst/webrtc')
sources: webrtc_gen_sources,
dependencies: gstwebrtc_dependencies)
-meson.override_dependency('gstreamer-webrtc-1.0', gstwebrtc_dep)
+meson.override_dependency(pkg_name, gstwebrtc_dep)
osxversion = curversion + 1
plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
+static_build = get_option('default_library') == 'static'
plugins = []
+libraries = []
cc = meson.get_compiler('c')
cxx = meson.get_compiler('cpp')
endif
endforeach
-if not build_gir
+if not build_gir or static_build
if get_option('doc').enabled()
error('Documentation enabled but introspection not built.')
endif
dependencies : [gst_dep],
)
+pkg_name = 'gstreamer-allocators-1.0'
pkgconfig.generate(gstallocators,
libraries : [gst_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-allocators-1.0',
+ name : pkg_name,
description : 'Allocators implementation',
)
+library_def = {'lib': gstallocators}
allocators_gen_sources = []
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/allocators/allocators.h' ]
- allocators_gir = gnome.generate_gir(gstallocators,
- sources : gst_allocators_sources + gst_allocators_headers,
- namespace : 'GstAllocators',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-allocators-1.0',
- includes : ['Gst-1.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : [gst_dep]
- )
- allocators_gen_sources += allocators_gir
+ gir = {
+ 'sources' : gst_allocators_sources + gst_allocators_headers,
+ 'namespace' : 'GstAllocators',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ 'dependencies' : [gst_dep]
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ allocators_gir = gnome.generate_gir(gstallocators, kwargs: gir)
+ allocators_gen_sources += allocators_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
allocators_dep = declare_dependency(link_with: gstallocators,
include_directories : [libsinc],
dependencies : [gst_base_dep],
)
+pkg_name = 'gstreamer-app-1.0'
pkgconfig.generate(gstapp,
libraries : [gst_dep, gst_base_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-app-1.0',
+ name : pkg_name,
description : 'Helper functions and base classes for application integration',
)
+library_def = {'lib': gstapp}
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/app/app.h' ]
- app_gir = gnome.generate_gir(gstapp,
- sources : app_sources + app_headers + [gstapp_c] + [gstapp_h],
- namespace : 'GstApp',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-app-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : [gst_dep, gst_base_dep]
- )
-
- app_gen_sources += app_gir
+ gir = {
+ 'sources' : app_sources + app_headers + [gstapp_c] + [gstapp_h],
+ 'namespace' : 'GstApp',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstBase-1.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ 'dependencies' : [gst_dep, gst_base_dep]
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ app_gir = gnome.generate_gir(gstapp, kwargs: gir)
+ app_gen_sources += app_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
app_dep = declare_dependency(link_with: gstapp,
include_directories : [libsinc],
dependencies : [gst_base_dep],
sources : app_gen_sources)
-meson.override_dependency('gstreamer-app-1.0', app_dep)
+meson.override_dependency(pkg_name, app_dep)
install : true,
dependencies : gstaudio_deps,
)
-
+pkg_name = 'gstreamer-audio-1.0'
pkgconfig.generate(gstaudio,
libraries : [gst_dep, gst_base_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-audio-1.0',
+ name : pkg_name,
description : 'Audio helper functions and base classes',
)
+library_def = {'lib': gstaudio}
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/audio/audio.h' ]
- audio_gir = gnome.generate_gir(gstaudio,
- sources : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h],
- namespace : 'GstAudio',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-audio-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0', 'GLib-2.0', 'GObject-2.0', 'GModule-2.0' ],
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstaudio_deps
- )
- audio_gen_sources += [audio_gir]
+ gir = {
+ 'sources' : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h],
+ 'namespace' : 'GstAudio',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GLib-2.0', 'GObject-2.0', 'GModule-2.0' ],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ 'dependencies' : gstaudio_deps
+ }
+ library_def = {'lib': library_def['lib'], 'gir': [gir]}
+ if not static_build
+ audio_gir = gnome.generate_gir(gstaudio, kwargs: gir)
+ audio_gen_sources += [audio_gir]
+ endif
endif
+libraries += [[pkg_name, library_def]]
audio_dep = declare_dependency(link_with : gstaudio,
include_directories : [libsinc],
dependencies : gstaudio_deps,
sources : audio_gen_sources)
-meson.override_dependency('gstreamer-audio-1.0', audio_dep)
+meson.override_dependency(pkg_name, audio_dep)
install : true,
dependencies : [gst_dep, libm],
)
-
+pkg_name = 'gstreamer-fft-1.0'
pkgconfig.generate(gstfft,
libraries : [gst_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-fft-1.0',
+ name : pkg_name,
description : 'FFT implementation',
)
+libraries += [[pkg_name, {'lib': gstfft}]]
fft_dep = declare_dependency(link_with: gstfft,
include_directories : [libsinc],
dependencies : [gst_dep])
-meson.override_dependency('gstreamer-fft-1.0', fft_dep)
+meson.override_dependency(pkg_name, fft_dep)
'gstglwindow.c',
])
-gl_priv_sources = files([])
+gl_priv_sources = []
gir_gl_headers = files([
'gl.h',
gl_wayland_sources += files([
'wayland/gstgldisplay_wayland.c',
])
- gl_priv_sources += files([
+ gl_priv_sources += [
'wayland/gstglwindow_wayland_egl.c',
'wayland/wayland_event_source.c',
xdg_shell_header,
xdg_shell_code,
- ])
+ ]
gl_wayland_headers += files([
'wayland/wayland.h',
'wayland/gstgldisplay_wayland.h'
gl_x11_sources += files([
'x11/gstgldisplay_x11.c',
])
- gl_priv_sources += files([
+ gl_priv_sources += [
'x11/gstglwindow_x11.c',
'x11/xcb_event_source.c',
- ])
+ ]
gl_x11_headers += files([
'x11/x11.h',
'x11/gstgldisplay_x11.h',
if need_platform_glx != 'no' and glx_dep.found() and cc.has_function ('glXMakeCurrent', dependencies : glx_dep)
glconf.set('GST_GL_HAVE_PLATFORM_GLX', 1)
- gl_priv_sources += files([
+ gl_priv_sources += [
'x11/gstglcontext_glx.c',
- ])
+ ]
# GLX is in the opengl library on linux
gl_platform_deps += glx_dep
enabled_gl_platforms += 'glx'
error('dispmanx requires the use of egl')
endif
- gl_priv_sources += files([
+ gl_priv_sources += [
'dispmanx/gstglwindow_dispmanx_egl.c'
- ])
+ ]
glconf.set('GST_GL_HAVE_WINDOW_DISPMANX', 1)
gl_winsys_deps += bcm_host_dep
if have_wgl or have_egl_win32
gl_includes += [compat_includes]
gl_platform_deps += gdi_dep
- gl_priv_sources += files([
+ gl_priv_sources += [
'win32/gstglwindow_win32.c',
- ])
+ ]
enabled_gl_winsys += 'win32'
gl_winsys_deps += gdi_dep
glconf.set('GST_GL_HAVE_WINDOW_WIN32', 1)
endif
if have_wgl
- gl_priv_sources += files([
+ gl_priv_sources += [
'wgl/gstglcontext_wgl.c',
- ])
+ ]
enabled_gl_platforms += 'wgl'
glconf.set('GST_GL_HAVE_PLATFORM_WGL', 1)
endif
if windows_graphics_h and windows_app_dep.found() and runtimeobject_lib.found()
enabled_gl_winsys += 'winrt'
glconf.set10('GST_GL_HAVE_WINDOW_WINRT', 1)
- gl_priv_sources += files([
+ gl_priv_sources += [
'winrt/gstglwindow_winrt_egl.cpp'
- ])
+ ]
gl_winsys_deps += runtimeobject_lib
elif need_win_winrt == 'yes'
error('WinRT is enabled, but headers/libraries were not found')
if need_win_cocoa != 'no'
cocoa_dep = dependency('appleframeworks', modules : ['Cocoa'], required : false)
if cocoa_dep.found()
- gl_priv_sources += files([
+ gl_priv_sources += [
'cocoa/gstglcaopengllayer.m',
'cocoa/gstglcontext_cocoa.m',
'cocoa/gstgldisplay_cocoa.m',
'cocoa/gstglwindow_cocoa.m'
- ])
+ ]
gl_winsys_deps += cocoa_dep
enabled_gl_winsys += 'cocoa'
glconf.set10('GST_GL_HAVE_WINDOW_COCOA', 1)
quartzcore_dep,
uikit_dep,
]
- gl_priv_sources += files([
+ gl_priv_sources += [
'eagl/gstglcontext_eagl.m',
'eagl/gstglwindow_eagl.m',
- ])
+ ]
enabled_gl_winsys += 'eagl'
enabled_gl_platforms += 'eagl'
glconf.set('GST_GL_HAVE_WINDOW_EAGL', 1)
gbm_libdrm_dep = dependency('libdrm', version : '>= 2.4.55', required : false)
gbm_dep = dependency('gbm', required : false)
if egl_dep.found() and gbm_gudev_dep.found() and gbm_libdrm_dep.found() and gbm_dep.found()
- gl_priv_sources += files([
+ gl_priv_sources += [
'gbm/gstgldisplay_gbm.c',
'gbm/gstgl_gbm_utils.c',
'gbm/gstglwindow_gbm_egl.c',
- ])
+ ]
enabled_gl_winsys += 'gbm'
gl_winsys_deps += [gbm_gudev_dep, gbm_libdrm_dep, gbm_dep]
glconf.set('GST_GL_HAVE_WINDOW_GBM', 1)
enabled_gl_winsys += 'viv-fb'
glconf.set10('GST_GL_HAVE_WINDOW_VIV_FB', 1)
glconf.set10('GST_GL_HAVE_VIV_DIRECTVIV', 1)
- gl_priv_sources += files([
+ gl_priv_sources += [
'viv-fb/gstgldisplay_viv_fb.c',
'viv-fb/gstglwindow_viv_fb_egl.c',
- ])
+ ]
gl_cpp_args += ['-DEGL_API_FB']
endif
endif
if gles2_dep.found() and egl_dep.found()
enabled_gl_winsys += ['android']
glconf.set10('GST_GL_HAVE_WINDOW_ANDROID', 1)
- gl_priv_sources += files([
+ gl_priv_sources += [
'android/gstglwindow_android_egl.c'
- ])
+ ]
endif
endif
'gl_apis=' + ' '.join(enabled_gl_apis),
]
+ library_def = {'lib': pbutils}
+ pkg_name = 'gstreamer-gl-1.0'
pkgconfig.generate(gstgl,
libraries : [gstvideo, gst_base_dep, gst_dep],
variables : pkgconfig_variables + pkgconfig_gl_variables,
uninstalled_variables : pkgconfig_gl_variables,
subdirs : pkgconfig_subdirs,
extra_cflags : ['-I${libdir}/gstreamer-1.0/include'],
- name : 'gstreamer-gl-1.0',
+ name : pkg_name,
description : 'Streaming media framework, OpenGL plugins libraries',
)
)
if build_gir
- gl_gir = gnome.generate_gir(gstgl,
- sources : gl_sources + [gl_enumtypes_h] + [gl_enumtypes_c] + gir_gl_headers,
- namespace : 'GstGL',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-gl-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
- install : true,
- extra_args : gir_init_section + ['--c-include=gst/gl/gl.h'],
- dependencies : [video_dep, gst_dep, gst_base_dep]
- )
- gen_sources += gl_gir
+ gir = {
+ 'sources' : gl_sources + [gl_enumtypes_h] + [gl_enumtypes_c] + gir_gl_headers,
+ 'namespace' : 'GstGL',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['--c-include=gst/gl/gl.h'],
+ 'dependencies' : [video_dep, gst_dep, gst_base_dep],
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ gl_gir = gnome.generate_gir(gstgl, kwargs: gir)
+ gen_sources += [gl_gir]
+ endif
endif
-
+ libraries += [[pkg_name, library_def]]
gstgl_dep = declare_dependency(link_with : gstgl,
include_directories : [libsinc, compat_includes],
sources: gen_sources,
if gl_x11_headers.length() > 0
install_headers(gl_x11_headers, subdir : 'gstreamer-1.0/gst/gl/x11')
+ pkg_name = 'gstreamer-gl-x11-1.0'
pkgconfig.generate(
libraries : [gstgl],
requires: ['x11-xcb'],
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-gl-x11-1.0',
+ name : pkg_name,
description : 'Streaming media framework, OpenGL plugins libraries (X11 specifics)',
)
gl_x11_gir = []
if build_gir
- gl_x11_gir = gnome.generate_gir(gstgl,
- sources : gl_x11_sources + gl_x11_headers,
- namespace : 'GstGLX11',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-gl-x11-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0', gl_gir[0]],
- install : true,
- extra_args : gir_init_section + ['--c-include=gst/gl/x11/x11.h'],
- dependencies : [video_dep, gst_dep, gst_base_dep]
- )
+ gir = {
+ 'sources' : gl_x11_sources + gl_x11_headers,
+ 'namespace' : 'GstGLX11',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : 'gstreamer-gl-x11-1.0',
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['--c-include=gst/gl/x11/x11.h'],
+ 'dependencies' : [video_dep, gst_dep, gst_base_dep]
+ }
+ gir_dict = gir + {'includes': gir['includes'] + ['GstGL-1.0']}
+ libraries += [[pkg_name, {'gir': gir_dict}]]
+ if not static_build
+ gir += {'includes': gir['includes'] + [gl_gir[0]]}
+ gl_x11_gir = gnome.generate_gir(gstgl, kwargs: gir)
+ endif
endif
gstglx11_dep = declare_dependency(dependencies : [gstgl_dep],
sources : gl_x11_gir)
if gl_wayland_headers.length() > 0
install_headers(gl_wayland_headers, subdir : 'gstreamer-1.0/gst/gl/wayland')
+ pkg_name = 'gstreamer-gl-wayland-1.0'
pkgconfig.generate(
libraries : [gstgl],
requires: ['wayland-egl', 'wayland-client'],
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-gl-wayland-1.0',
+ name : pkg_name,
description : 'Streaming media framework, OpenGL plugins libraries (Wayland specifics)',
)
gl_wayland_gir = []
if build_gir
- gl_wayland_gir = gnome.generate_gir(gstgl,
- sources : gl_wayland_sources + gl_wayland_headers,
- namespace : 'GstGLWayland',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-gl-wayland-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0', gl_gir[0]],
- install : true,
- extra_args : gir_init_section + ['--c-include=gst/gl/wayland/wayland.h'],
- dependencies : [video_dep, gst_dep, gst_base_dep]
- )
+ gir = {
+ 'sources' : gl_wayland_sources + gl_wayland_headers,
+ 'namespace' : 'GstGLWayland',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : 'gstreamer-gl-wayland-1.0',
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['--c-include=gst/gl/wayland/wayland.h'],
+ 'dependencies' : [video_dep, gst_dep, gst_base_dep]
+ }
+
+ gir_dict = gir + {'includes': gir['includes'] + ['GstGL-1.0']}
+ libraries += [[pkg_name, {'gir': gir_dict}]]
+ if not static_build
+ gir += {'includes': gir['includes'] + [gl_gir[0]]}
+ gl_wayland_gir = gnome.generate_gir(gstgl, kwargs: gir)
+ endif
endif
gstglwayland_dep = declare_dependency(dependencies : [gstgl_dep],
sources : gl_wayland_gir)
- meson.override_dependency('gstreamer-gl-wayland-1.0', gstglwayland_dep)
+ meson.override_dependency(pkg_name, gstglwayland_dep)
endif
if gl_egl_headers.length() > 0
install_headers(gl_egl_headers, subdir : 'gstreamer-1.0/gst/gl/egl')
+ pkg_name = 'gstreamer-gl-egl-1.0'
pkgconfig.generate(
libraries : [gstgl, egl_dep],
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-gl-egl-1.0',
+ name : pkg_name,
description : 'Streaming media framework, OpenGL plugins libraries (EGL specifics)',
)
gl_egl_gir = []
if build_gir
- gl_egl_gir = gnome.generate_gir(gstgl,
- sources : gl_egl_sources + gl_egl_headers,
- namespace : 'GstGLEGL',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-gl-egl-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0', gl_gir[0]],
- install : true,
- extra_args : gir_init_section + ['--c-include=gst/gl/egl/egl.h'],
- dependencies : [video_dep, gst_dep, gst_base_dep]
- )
+ gir = {
+ 'sources' : gl_egl_sources + gl_egl_headers,
+ 'namespace' : 'GstGLEGL',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['--c-include=gst/gl/egl/egl.h'],
+ 'dependencies' : [video_dep, gst_dep, gst_base_dep]
+ }
+ if not static_build
+ gl_egl_gir = gnome.generate_gir(gstgl, kwargs: gir)
+ endif
+ libraries += [[pkg_name, {'gir': gir}]]
endif
gstglegl_dep = declare_dependency(dependencies : [gstgl_dep],
sources : gl_egl_gir)
- meson.override_dependency('gstreamer-gl-egl-1.0', gstglegl_dep)
+ meson.override_dependency(pkg_name, gstglegl_dep)
endif
elif get_option('gl').enabled()
dependencies : gstpbutils_deps,
)
+library_def = {'lib': pbutils}
+pkg_name = 'gstreamer-pbutils-1.0'
pkgconfig.generate(pbutils,
libraries : [gst_dep, video_dep, audio_dep, gst_base_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-pbutils-1.0',
+ name : pkg_name,
description : 'General utility functions',
)
pbutils_gen_sources = [gstpbutils_h, gst_pbutils_version_h]
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/pbutils/pbutils.h' ]
- pbutils_gir = gnome.generate_gir(pbutils,
- sources : pbutils_sources + pbutils_headers + [gstpbutils_h, gst_pbutils_version_h],
- namespace : 'GstPbutils',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-pbutils-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0', 'GstAudio-1.0', 'GstVideo-1.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstpbutils_deps
- )
- pbutils_gen_sources += [pbutils_gir]
+ gir = {
+ 'sources' : pbutils_sources + pbutils_headers + [gstpbutils_h, gst_pbutils_version_h],
+ 'namespace' : 'GstPbutils',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstAudio-1.0', 'GstVideo-1.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ 'dependencies' : gstpbutils_deps
+ }
+ library_def = {'lib': library_def['lib'], 'gir': [gir]}
+ if not static_build
+ pbutils_gir = gnome.generate_gir(pbutils, kwargs: gir)
+ pbutils_gen_sources += [pbutils_gir]
+ endif
endif
+libraries += [[pkg_name, library_def]]
pbutils_dep = declare_dependency(link_with : pbutils,
include_directories : [libsinc],
dependencies : gstpbutils_deps,
sources : pbutils_gen_sources)
+
+meson.override_dependency(pkg_name, pbutils_dep)
\ No newline at end of file
dependencies : riff_deps,
)
+pkg_name = 'gstreamer-riff-1.0'
pkgconfig.generate(gstriff,
libraries : [gst_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-riff-1.0',
+ name : pkg_name,
description : 'RIFF helper functions',
)
riff_gen_sources = []
+libraries += [[pkg_name, {'lib': gstriff}]]
# *** GIR DISABLED for this library ***
# This library does not respect the type naming conventions required to be
dependencies : riff_deps,
sources : riff_gen_sources )
-meson.override_dependency('gstreamer-riff-1.0', riff_dep)
+meson.override_dependency(pkg_name, riff_dep)
dependencies : gstrtp_deps,
)
+library_def = {'lib': gst_rtp}
+pkg_name = 'gstreamer-rtp-1.0'
pkgconfig.generate(gst_rtp,
libraries : [gst_dep, gst_base_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-rtp-1.0',
+ name : pkg_name,
description : 'RTP base classes and helper functions',
)
rtp_gen_sources = [gstrtp_enum_h]
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtp/rtp.h' ]
- rtp_gir = gnome.generate_gir(gst_rtp,
- sources : rtp_sources + rtp_headers + [gstrtp_enum_c] + [gstrtp_enum_h],
- namespace : 'GstRtp',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-rtp-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstrtp_deps
- )
-
- rtp_gen_sources += [rtp_gir]
+ gir = {
+ 'sources' : rtp_sources + rtp_headers + [gstrtp_enum_c] + [gstrtp_enum_h],
+ 'namespace' : 'GstRtp',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstBase-1.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ 'dependencies' : gstrtp_deps
+ }
+ library_def = {'lib': library_def['lib'], 'gir': [gir]}
+ if not static_build
+ rtp_gir = gnome.generate_gir(gst_rtp, kwargs: gir)
+ rtp_gen_sources += [rtp_gir]
+ endif
endif
-
+libraries += [[pkg_name, library_def]]
rtp_dep = declare_dependency(link_with : gst_rtp,
include_directories : [libsinc],
dependencies : gstrtp_deps,
sources : rtp_gen_sources)
-meson.override_dependency('gstreamer-rtp-1.0', rtp_dep)
+meson.override_dependency(pkg_name, rtp_dep)
dependencies : gstrtsp_deps,
)
+library_def = {'lib': gst_rtsp}
+pkg_name = 'gstreamer-rtsp-1.0'
pkgconfig.generate(gst_rtsp,
libraries : [gst_dep, sdp_dep, gio_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-rtsp-1.0',
+ name : pkg_name,
description : 'RTSP base classes and helper functions',
)
rtsp_gen_sources = [gstrtsp_h]
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtsp/rtsp.h' ]
- rtsp_gir = gnome.generate_gir(gst_rtsp,
- sources : rtsp_sources + rtsp_headers + [gstrtsp_c] + [gstrtsp_h],
- namespace : 'GstRtsp',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-rtsp-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0', 'GstSdp-1.0', 'Gio-2.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstrtsp_deps + [sdp_dep]
- )
- rtsp_gen_sources += [rtsp_gir]
+ gir = {
+ 'sources' : rtsp_sources + rtsp_headers + [gstrtsp_c] + [gstrtsp_h],
+ 'namespace' : 'GstRtsp',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstSdp-1.0', 'Gio-2.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ 'dependencies' : gstrtsp_deps + [sdp_dep]
+ }
+ library_def = {'lib': library_def['lib'], 'gir': [gir]}
+ if not static_build
+ rtsp_gir = gnome.generate_gir(gst_rtsp, kwargs: gir)
+ rtsp_gen_sources += [rtsp_gir]
+ endif
endif
+libraries += [[pkg_name, library_def]]
rtsp_dep = declare_dependency(link_with : gst_rtsp,
include_directories : [libsinc],
dependencies : gstrtsp_deps,
sources : rtsp_gen_sources)
-meson.override_dependency('gstreamer-rtsp-1.0', rtsp_dep)
+meson.override_dependency(pkg_name, rtsp_dep)
dependencies : sdp_deps,
)
+library_def = {'lib': gstsdp}
+pkg_name = 'gstreamer-sdp-1.0'
+sdp_gen_sources = []
pkgconfig.generate(gstsdp,
libraries : [glib_deps],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-sdp-1.0',
+ name : pkg_name,
description : 'SDP helper functions',
)
-sdp_gen_sources = []
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/sdp/sdp.h' ]
- sdp_gir = gnome.generate_gir(gstsdp,
- sources : gst_sdp_sources + gst_sdp_headers,
- namespace : 'GstSdp',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-sdp-1.0',
- includes : ['Gst-1.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : sdp_deps
- )
+ gir = {
+ 'sources' : gst_sdp_sources + gst_sdp_headers,
+ 'namespace' : 'GstSdp',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ 'dependencies' : sdp_deps
+ }
- sdp_gen_sources += [sdp_gir]
+ library_def = {'lib': library_def['lib'], 'gir': [gir]}
+ if not static_build
+ sdp_gir = gnome.generate_gir(gstsdp, kwargs: gir)
+ sdp_gen_sources += [sdp_gir]
+ endif
endif
+libraries += [[pkg_name, library_def]]
sdp_dep = declare_dependency(link_with: gstsdp,
include_directories : [libsinc],
dependencies : sdp_deps,
sources: sdp_gen_sources)
-meson.override_dependency('gstreamer-sdp-1.0', sdp_dep)
+meson.override_dependency(pkg_name, sdp_dep)
dependencies : tag_deps,
)
+library_def = {'lib': gsttag}
+pkg_name = 'gstreamer-tag-1.0'
pkgconfig.generate(gsttag,
libraries : [gst_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-tag-1.0',
+ name : pkg_name,
description : 'Tag base classes and helper functions',
)
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/tag/tag.h' ]
- tag_gir = gnome.generate_gir(gsttag,
- sources : tag_sources + tag_headers + [gsttag_h] + [gsttag_c],
- namespace : 'GstTag',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-tag-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : tag_deps
- )
- tag_gen_sources += [tag_gir]
+ gir = {
+ 'sources' : tag_sources + tag_headers + [gsttag_h] + [gsttag_c],
+ 'namespace' : 'GstTag',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0', 'GstBase-1.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ 'dependencies' : tag_deps,
+ }
+ library_def = {'lib': library_def['lib'], 'gir': [gir]}
+ if not static_build
+ tag_gir = gnome.generate_gir(gsttag, kwargs: gir)
+ tag_gen_sources += [tag_gir]
+ endif
endif
+libraries += [[pkg_name, library_def]]
tag_dep = declare_dependency(link_with: gsttag,
include_directories : [libsinc],
dependencies : tag_deps,
sources: tag_gen_sources)
-meson.override_dependency('gstreamer-tag-1.0', tag_dep)
+meson.override_dependency(pkg_name, tag_dep)
# Little program that reads iso_639.xml and outputs tables for us as fallback
# for when iso-codes are not available (and so we don't have to read the xml
dependencies : gstvideo_deps,
)
+library_def = {'lib': gstvideo}
+pkg_name = 'gstreamer-video-1.0'
pkgconfig.generate(gstvideo,
libraries : [gst_dep, gst_base_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-video-1.0',
+ name : pkg_name,
description : 'Video base classes and helper functions',
)
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ]
- video_gir = gnome.generate_gir(gstvideo,
- sources : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
- namespace : 'GstVideo',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-video-1.0',
- includes : ['Gst-1.0', 'GstBase-1.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstvideo_deps
- )
- video_gen_sources += [video_gir]
+ gir = {
+ 'sources' : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
+ 'namespace' : 'GstVideo',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['Gst-1.0','GstBase-1.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ 'dependencies' : gstvideo_deps
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ video_gir = gnome.generate_gir(gstvideo, kwargs: gir)
+ video_gen_sources += [video_gir]
+ endif
endif
+libraries += [[pkg_name, library_def]]
video_dep = declare_dependency(link_with : gstvideo,
include_directories : [libsinc],
dependencies : gstvideo_deps,
sources : video_gen_sources)
-meson.override_dependency('gstreamer-video-1.0', video_dep)
+meson.override_dependency(pkg_name, video_dep)
plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
static_build = get_option('default_library') == 'static'
plugins = []
-libraries = {}
+libraries = []
cc = meson.get_compiler('c')
endif
endforeach
+if static_build
+ if get_option('doc').enabled()
+ error('Documentation enabled but not supported when building statically.')
+ endif
+
+ message('Building statically, can\'t build the documentation')
+ subdir_done()
+endif
+
if not build_gir
if get_option('doc').enabled()
error('Documentation enabled but introspection not built.')
install : true,
dependencies : gst_rtsp_server_deps)
+library_def = {'lib': gst_rtsp_server}
+pkg_name = 'gstreamer-rtsp-server-' + api_version
pkgconfig.generate(gst_rtsp_server,
libraries : [gst_dep],
subdirs : pkgconfig_subdirs,
rtsp_server_gen_sources = []
if build_gir
gst_gir_extra_args = gir_init_section + ['--c-include=gst/rtsp-server/rtsp-server.h']
- rtsp_server_gir = gnome.generate_gir(gst_rtsp_server,
- sources : rtsp_server_headers + rtsp_server_sources,
- namespace : 'GstRtspServer',
- nsversion : api_version,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-rtsp-server-' + api_version,
- install : true,
- extra_args : gst_gir_extra_args,
- includes : ['Gst-1.0', 'GstRtsp-1.0', 'GstNet-1.0'],
- dependencies : gst_rtsp_server_deps,
- )
- rtsp_server_gen_sources += [rtsp_server_gir]
+ gir = {
+ 'sources' : rtsp_server_headers + rtsp_server_sources,
+ 'namespace' : 'GstRtspServer',
+ 'nsversion' : api_version,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ 'includes' : ['Gst-1.0', 'GstRtsp-1.0', 'GstNet-1.0'],
+ 'dependencies' : gst_rtsp_server_deps,
+ }
+ # FIXME: Expose gir for use in gstreamer-full
+ # Disabled for now as we get `undefined reference` to many symbols
+ # library_def = {'gir': [gir]}
+ if not static_build
+ rtsp_server_gir = gnome.generate_gir(gst_rtsp_server, kwargs: gir)
+ rtsp_server_gen_sources += [rtsp_server_gir]
+ endif
endif
+libraries += [[pkg_name, library_def]]
gst_rtsp_server_dep = declare_dependency(link_with : gst_rtsp_server,
include_directories : rtspserver_incs,
sources : rtsp_server_gen_sources,
dependencies : [gstrtsp_dep, gstrtp_dep, gstsdp_dep, gstnet_dep, gstapp_dep])
-meson.override_dependency('gstreamer-rtsp-server-1.0', gst_rtsp_server_dep)
+meson.override_dependency(pkg_name, gst_rtsp_server_dep)
plugins = []
pkgconfig_subdirs = ['gstreamer-1.0']
+static_build = get_option('default_library') == 'static'
+libraries = []
subdir('gst')
if not get_option('tests').disabled()
endif
endforeach
+if static_build
+ if get_option('doc').enabled()
+ error('Documentation enabled but not supported when building statically.')
+ endif
+
+ message('Building statically, can\'t build the documentation')
+ subdir_done()
+endif
if not build_gir
if get_option('doc').enabled()
-gst_sources = files([
+gst_sources = files(
'gst.c',
'gstobject.c',
'gstallocator.c',
'gstutils.c',
'gstvalue.c',
'gstparse.c',
-])
+)
-gst_headers = files([
+gst_headers = files(
'gst.h',
'glib-compat.h',
'gstobject.h',
'gstregistry.h',
'gstparse.h',
'math-compat.h',
-])
+)
install_headers(gst_headers, subdir : 'gstreamer-1.0/gst')
gst_registry = get_option('registry')
if gst_registry
- gst_registry_sources = files(['gstregistrybinary.c'])
+ gst_registry_sources = files('gstregistrybinary.c')
else
gst_registry_sources = []
endif
+ platform_deps,
)
+pkg_name = 'gstreamer-1.0'
+library_def = {'lib': libgst}
pkgconfig.generate(libgst,
libraries : [glib_dep, gobject_dep],
variables : pkgconfig_variables,
uninstalled_variables: pkgconfig_uninstalled_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-1.0',
+ name : pkg_name,
description : 'Streaming media framework',
)
endif
gst_incdirs += [configinc]
- gst_gir = gnome.generate_gir(libgst,
- sources : gst_sources + gst_headers + gst_enums + [gst_version_h],
- namespace : 'Gst',
- nsversion : apiversion,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-1.0',
- includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0' ],
- install : true,
- extra_args : gst_gir_extra_args,
- )
- gst_gen_sources += gst_gir
+ gir = {
+ 'sources' : gst_sources + gst_headers + gst_enums + [gst_version_h],
+ 'namespace' : 'Gst',
+ 'nsversion' : apiversion,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0' ],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ }
+ library_def += {'gir': [gir]}
+ # When building statically the information about the gir is going to be
+ # consumed by `gst-build` to generate gir files linked against
+ # `libgstreamer-full-1.0.so`. We do not build it here as it is currently
+ # broken. Once that is fixed we could build it here, even though we would keep
+ # creating another gir which links against gst-full.
+ if not static_build
+ gst_gir = gnome.generate_gir(libgst, kwargs: gir)
+ gst_gen_sources += gst_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
gst_compile_args = []
if get_option('default_library') == 'static'
sources : gst_gen_sources,
)
-meson.override_dependency('gstreamer-1.0', gst_dep)
+meson.override_dependency(pkg_name, gst_dep)
-gst_base_sources = files([
+gst_base_sources = files(
'gstadapter.c',
'gstaggregator.c',
'gstbaseparse.c',
'gstpushsrc.c',
'gstqueuearray.c',
'gsttypefindhelper.c',
-])
+)
-gst_base_headers = files([
+gst_base_headers = files(
'base.h',
'base-prelude.h',
'gstadapter.h',
'gstpushsrc.h',
'gstqueuearray.h',
'gsttypefindhelper.h',
-])
+)
gst_base = library('gstbase-@0@'.format(apiversion),
gst_base_sources,
dependencies : [gobject_dep, glib_dep, gst_dep],
)
+library_def = {'lib': gst_base}
+pkg_name = 'gstreamer-base-1.0'
+gst_base_gen_sources = []
pkgconfig.generate(gst_base,
libraries : [libgst],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-base-1.0',
+ name : pkg_name,
description : 'Base classes for GStreamer elements',
)
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/base/base.h' ]
- gst_base_gir = gnome.generate_gir(gst_base,
- sources : gst_base_sources + gst_base_headers,
- namespace : 'GstBase',
- nsversion : apiversion,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-base-1.0',
- dependencies : [gst_dep],
- include_directories : [configinc, libsinc, privinc],
- includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- )
+ gir = {
+ 'sources' : gst_base_sources + gst_base_headers,
+ 'namespace' : 'GstBase',
+ 'nsversion' : apiversion,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'dependencies' : [gst_dep],
+ 'include_directories' : [configinc, libsinc, privinc],
+ 'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ }
- gst_base_gen_sources += [gst_base_gir]
+ library_def += {'gir': [gir]}
+ if not static_build
+ gst_base_gir = gnome.generate_gir(gst_base, kwargs: gir)
+ gst_base_gen_sources += [gst_base_gir]
+ endif
endif
+libraries += [[pkg_name, library_def]]
gst_base_dep = declare_dependency(link_with : gst_base,
include_directories : [libsinc],
dependencies : [gst_dep],
sources : gst_base_gen_sources)
-meson.override_dependency('gstreamer-base-1.0', gst_base_dep)
+meson.override_dependency(pkg_name, gst_base_dep)
install_headers('base.h',
'base-prelude.h',
-libcheck_files = files([
+libcheck_files = files(
'check.c',
'check_error.c',
'check_list.c',
'check_run.c',
'check_str.c',
'libcompat/libcompat.c'
-])
+)
if not cdata.has('HAVE_ALARM')
libcheck_files += ['libcompat/alarm.c']
# FIXME: check that timer_create, timer_settime, timer_delete are in rt_lib
if not rt_lib.found()
- libcheck_files += files([
+ libcheck_files += files(
'libcompat/timer_create.c',
'libcompat/timer_settime.c',
'libcompat/timer_delete.c'
- ])
+ )
endif
configure_file(input : 'check.h.in',
-gst_check_sources = files([
+gst_check_sources = files(
'gstbufferstraw.c',
'gstcheck.c',
'gstconsistencychecker.c',
'gstharness.c',
'gsttestclock.c',
-])
-gst_check_headers = files([
+)
+gst_check_headers = files(
'check.h',
'check-prelude.h',
'gstbufferstraw.h',
'gstconsistencychecker.h',
'gstharness.h',
'gsttestclock.h',
-])
+)
install_headers(gst_check_headers, subdir : 'gstreamer-1.0/gst/check/')
dependencies : [gobject_dep, glib_dep, gst_dep],
)
+library_def = {'lib': gst_check}
+pkg_name = 'gstreamer-check-1.0'
pkgconfig.generate(gst_check,
libraries : [libgst],
# FIXME: Add manually libcheck's dependencies because it's an uninstalled static
libraries_private: [rt_lib, mathlib],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-check-1.0',
+ name : pkg_name,
description : 'Unit testing helper library for GStreamer modules',
)
gst_check_gen_sources = []
-
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/check/check.h' ]
- gst_check_gir = gnome.generate_gir(gst_check,
- sources : gst_check_sources + gst_check_headers,
- namespace : 'GstCheck',
- nsversion : apiversion,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-check-1.0',
- dependencies : [gst_dep],
- include_directories : [configinc, libsinc, privinc],
- includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- )
- gst_check_gen_sources += gst_check_gir
+ gir = {
+ 'sources' : gst_check_sources + gst_check_headers,
+ 'namespace' : 'GstCheck',
+ 'nsversion' : apiversion,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'dependencies' : [gst_dep],
+ 'include_directories' : [configinc, libsinc, privinc],
+ 'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ gst_check_gir = gnome.generate_gir(gst_check, kwargs: gir)
+ gst_check_gen_sources += gst_check_gir
+ endif
endif
+libraries += [[pkg_name, library_def]]
gst_check_dep = declare_dependency(link_with : gst_check,
include_directories : [libsinc],
dependencies : [gst_dep],
sources : gst_check_gen_sources)
-meson.override_dependency('gstreamer-check-1.0', gst_check_dep)
+meson.override_dependency(pkg_name, gst_check_dep)
-gst_controller_sources = files([
+gst_controller_sources = files(
'gstargbcontrolbinding.c',
'gstdirectcontrolbinding.c',
'gsttimedvaluecontrolsource.c',
'gstproxycontrolbinding.c',
'gsttriggercontrolsource.c',
'gstlfocontrolsource.c',
-])
+)
-controller_mkenum_headers = files([
+controller_mkenum_headers = files(
'gstinterpolationcontrolsource.h',
'gstlfocontrolsource.h',
-])
+)
-gst_controller_headers = controller_mkenum_headers + files([
+gst_controller_headers = controller_mkenum_headers + files(
'gstargbcontrolbinding.h',
'gstdirectcontrolbinding.h',
'gsttimedvaluecontrolsource.h',
'gstlfocontrolsource.h',
'controller-prelude.h',
'controller.h',
-])
+)
install_headers(gst_controller_headers, subdir : 'gstreamer-1.0/gst/controller/')
controller_enums = gnome.mkenums_simple('controller-enumtypes',
dependencies : [gobject_dep, glib_dep, mathlib, gst_dep],
)
+library_def = {'lib': gst_controller}
+pkg_name = 'gstreamer-controller-1.0'
pkgconfig.generate(gst_controller,
libraries : [libgst],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-controller-1.0',
+ name : pkg_name,
description : 'Dynamic parameter control for GStreamer elements',
)
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/controller/controller.h' ]
- gst_controller_gir = gnome.generate_gir(gst_controller,
- sources : gst_controller_sources + gst_controller_headers + [gstcontroller_h] + [gstcontroller_c],
- namespace : 'GstController',
- nsversion : apiversion,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-controller-1.0',
- dependencies : [gst_dep],
- include_directories : [configinc, libsinc, privinc],
- includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- )
- gst_controller_gen_sources += [gst_controller_gir]
+ gir = {
+ 'sources' : gst_controller_sources + gst_controller_headers + [gstcontroller_h] + [gstcontroller_c],
+ 'namespace': 'GstController',
+ 'nsversion': apiversion,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'dependencies' : [gst_dep],
+ 'include_directories' : [configinc, libsinc, privinc],
+ 'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ gst_controller_gir = gnome.generate_gir(gst_controller, kwargs: gir)
+ gst_controller_gen_sources += [gst_controller_gir]
+ endif
endif
+libraries += [[pkg_name, library_def]]
gst_controller_dep = declare_dependency(link_with : gst_controller,
include_directories : [libsinc],
sources: gst_controller_gen_sources,
dependencies : [gst_dep])
-meson.override_dependency('gstreamer-controller-1.0', gst_controller_dep)
+meson.override_dependency(pkg_name, gst_controller_dep)
-gst_net_sources = files([
+gst_net_sources = files(
'gstnetaddressmeta.c',
'gstnetclientclock.c',
'gstnetcontrolmessagemeta.c',
'gstptpclock.c',
'gstntppacket.c',
'gstnetutils.c',
-])
+)
-gst_net_headers = files([
+gst_net_headers = files(
'gstnet.h',
'gstnetaddressmeta.h',
'gstnetclientclock.h',
'gstptpclock.h',
'net-prelude.h',
'net.h',
-])
+)
install_headers(gst_net_headers, subdir : 'gstreamer-1.0/gst/net/')
gst_net_gen_sources = []
dependencies : [gio_dep, gst_base_dep],
)
+library_def = {'lib': gst_net}
+pkg_name = 'gstreamer-net-1.0'
pkgconfig.generate(gst_net,
libraries : [libgst],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
- name : 'gstreamer-net-1.0',
+ name : pkg_name,
description : 'Network-enabled GStreamer plug-ins and clocking',
)
if build_gir
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/net/net.h' ]
- gst_net_gir = gnome.generate_gir(gst_net,
- sources : gst_net_sources + gst_net_headers,
- namespace : 'GstNet',
- nsversion : apiversion,
- identifier_prefix : 'Gst',
- symbol_prefix : 'gst',
- export_packages : 'gstreamer-net-1.0',
- dependencies : [gst_base_dep],
- include_directories : [configinc, libsinc],
- includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gio-2.0', 'Gst-1.0'],
- install : true,
- extra_args : gst_gir_extra_args,
- )
- gst_net_gen_sources += [gst_net_gir]
+ gir = {
+ 'sources' : gst_net_sources + gst_net_headers,
+ 'namespace' : 'GstNet',
+ 'nsversion' : apiversion,
+ 'identifier_prefix' : 'Gst',
+ 'symbol_prefix' : 'gst',
+ 'export_packages' : pkg_name,
+ 'dependencies' : [gst_base_dep],
+ 'include_directories' : [configinc, libsinc],
+ 'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gio-2.0', 'Gst-1.0'],
+ 'install' : true,
+ 'extra_args' : gst_gir_extra_args,
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+ gst_net_gir = gnome.generate_gir(gst_net, kwargs: gir)
+ gst_net_gen_sources += [gst_net_gir]
+ endif
endif
+libraries += [[pkg_name, library_def]]
gst_net_dep = declare_dependency(link_with : gst_net,
include_directories : [libsinc],
sources: gst_net_gen_sources,
dependencies : [gst_base_dep])
-meson.override_dependency('gstreamer-net-1.0', gst_net_dep)
+meson.override_dependency(pkg_name, gst_net_dep)
'helpersdir=${gstreamerdir}/libs/gst/helpers']
pkgconfig_subdirs = ['gstreamer-1.0']
+static_build = get_option('default_library') == 'static'
+libraries = []
subdir('gst')
subdir('libs')
subdir('plugins')