mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 13:06:23 +00:00
meson: Build GIR files
This commit is contained in:
parent
2ea086e97d
commit
cea4346d84
6 changed files with 86 additions and 5 deletions
|
@ -595,9 +595,27 @@ if build_gstgl
|
||||||
# Don't need vs_module_defs for gstgl because we do symbol exporting in the
|
# Don't need vs_module_defs for gstgl because we do symbol exporting in the
|
||||||
# function definitions via __declspec(dllexport/import)
|
# function definitions via __declspec(dllexport/import)
|
||||||
)
|
)
|
||||||
# TODO: generate gir
|
gen_sources = []
|
||||||
|
if build_gir
|
||||||
|
gl_gir = gnome.generate_gir(gstgl,
|
||||||
|
sources : gl_sources + 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 + ['-DGST_USE_UNSTABLE_API',
|
||||||
|
'--c-include=gst/gl/gl.h'],
|
||||||
|
dependencies : [gst_dep, gstbase_dep, gstvideo_dep]
|
||||||
|
)
|
||||||
|
gen_sources += gl_gir
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
gstgl_dep = declare_dependency(link_with : gstgl,
|
gstgl_dep = declare_dependency(link_with : gstgl,
|
||||||
include_directories : [libsinc],
|
include_directories : [libsinc],
|
||||||
|
sources: gen_sources,
|
||||||
dependencies : [gstbase_dep, gstvideo_dep] + gl_winsys_deps)
|
dependencies : [gstbase_dep, gstvideo_dep] + gl_winsys_deps)
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -12,8 +12,25 @@ gstinsertbin = library('gstinsertbin-' + api_version,
|
||||||
dependencies : [gst_dep],
|
dependencies : [gst_dep],
|
||||||
vs_module_defs: vs_module_defs_dir + 'libgstinsertbin.def',
|
vs_module_defs: vs_module_defs_dir + 'libgstinsertbin.def',
|
||||||
)
|
)
|
||||||
# TODO: generate gir
|
|
||||||
|
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'],
|
||||||
|
dependencies : [gst_dep]
|
||||||
|
)
|
||||||
|
gen_sources += insertbin_gir
|
||||||
|
endif
|
||||||
|
|
||||||
gstinsertbin_dep = declare_dependency(link_with : gstinsertbin,
|
gstinsertbin_dep = declare_dependency(link_with : gstinsertbin,
|
||||||
include_directories : [libsinc],
|
include_directories : [libsinc],
|
||||||
|
sources: gen_sources,
|
||||||
dependencies : [gst_dep])
|
dependencies : [gst_dep])
|
||||||
|
|
|
@ -25,6 +25,7 @@ mpegts_h = custom_target('mpegtsenum_h',
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : 'include/gstreamer-1.0/gst/mpegts',
|
install_dir : 'include/gstreamer-1.0/gst/mpegts',
|
||||||
command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
|
command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
|
||||||
|
gen_sources = [mpegts_h]
|
||||||
|
|
||||||
mpegts_c = custom_target('mpegtsenum_c',
|
mpegts_c = custom_target('mpegtsenum_c',
|
||||||
output : 'gstmpegts-enumtypes.c',
|
output : 'gstmpegts-enumtypes.c',
|
||||||
|
@ -41,9 +42,24 @@ gstmpegts = library('gstmpegts-' + api_version,
|
||||||
dependencies : [gst_dep],
|
dependencies : [gst_dep],
|
||||||
vs_module_defs: vs_module_defs_dir + 'libgstmpegts.def',
|
vs_module_defs: vs_module_defs_dir + 'libgstmpegts.def',
|
||||||
)
|
)
|
||||||
# TODO: generate gir
|
if build_gir
|
||||||
|
mpegts_gir = gnome.generate_gir(gstmpegts,
|
||||||
|
sources : mpegts_sources + mpegts_headers,
|
||||||
|
namespace : 'GstMpegts',
|
||||||
|
nsversion : api_version,
|
||||||
|
identifier_prefix : 'Gst',
|
||||||
|
symbol_prefix : 'gst',
|
||||||
|
export_packages : 'gstreamer-mpegts-1.0',
|
||||||
|
includes : ['Gst-1.0'],
|
||||||
|
install : true,
|
||||||
|
extra_args : gir_init_section + ['-DGST_USE_UNSTABLE_API'],
|
||||||
|
dependencies : [gst_dep]
|
||||||
|
)
|
||||||
|
gen_sources += mpegts_gir
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
gstmpegts_dep = declare_dependency(link_with : gstmpegts,
|
gstmpegts_dep = declare_dependency(link_with : gstmpegts,
|
||||||
include_directories : [libsinc],
|
include_directories : [libsinc],
|
||||||
dependencies : [gst_dep],
|
dependencies : [gst_dep],
|
||||||
sources : [mpegts_h])
|
sources : gen_sources)
|
||||||
|
|
|
@ -33,9 +33,28 @@ gstplayer = library('gstplayer-' + api_version,
|
||||||
gsttag_dep, gstpbutils_dep],
|
gsttag_dep, gstpbutils_dep],
|
||||||
vs_module_defs: vs_module_defs_dir + 'libgstplayer.def',
|
vs_module_defs: vs_module_defs_dir + 'libgstplayer.def',
|
||||||
)
|
)
|
||||||
# TODO: gir
|
|
||||||
|
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',
|
||||||
|
'GstAudio-1.0', 'GstTag-1.0'],
|
||||||
|
install : true,
|
||||||
|
extra_args : gir_init_section + ['-DGST_USE_UNSTABLE_API'],
|
||||||
|
dependencies : [gstbase_dep, gstvideo_dep, gstaudio_dep,
|
||||||
|
gsttag_dep, gstpbutils_dep]
|
||||||
|
)
|
||||||
|
gen_sources += player_gir
|
||||||
|
endif
|
||||||
|
|
||||||
gstplayer_dep = declare_dependency(link_with : gstplayer,
|
gstplayer_dep = declare_dependency(link_with : gstplayer,
|
||||||
include_directories : [libsinc],
|
include_directories : [libsinc],
|
||||||
|
sources: gen_sources,
|
||||||
dependencies : [gstbase_dep, gstvideo_dep, gstaudio_dep,
|
dependencies : [gstbase_dep, gstvideo_dep, gstaudio_dep,
|
||||||
gsttag_dep, gstpbutils_dep])
|
gsttag_dep, gstpbutils_dep])
|
||||||
|
|
|
@ -373,6 +373,14 @@ vs_module_defs_dir = meson.current_source_dir() + '/win32/common/'
|
||||||
# Used by the *_mkenum.py helper scripts
|
# Used by the *_mkenum.py helper scripts
|
||||||
glib_mkenums = find_program('glib-mkenums')
|
glib_mkenums = find_program('glib-mkenums')
|
||||||
|
|
||||||
|
gir = find_program('g-ir-scanner', required : false)
|
||||||
|
gnome = import('gnome')
|
||||||
|
build_gir = gir.found() and not meson.is_cross_build() and not get_option('disable_introspection')
|
||||||
|
gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
|
||||||
|
'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
|
||||||
|
'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
|
||||||
|
'g_setenv("GST_PLUGIN_SYSTEM_PATH_1_0", "", TRUE);' + \
|
||||||
|
'gst_init(NULL,NULL);' ]
|
||||||
subdir('gst-libs')
|
subdir('gst-libs')
|
||||||
subdir('gst')
|
subdir('gst')
|
||||||
subdir('sys')
|
subdir('sys')
|
||||||
|
|
|
@ -5,3 +5,6 @@ option('with_gl_winsys', type : 'string', value : 'auto', description : 'A comma
|
||||||
option('with_egl_module_name', type : 'string', value : '', description : 'The file to pass to g_module_open to open the libEGL.so library (default: libEGL.so)')
|
option('with_egl_module_name', type : 'string', value : '', description : 'The file to pass to g_module_open to open the libEGL.so library (default: libEGL.so)')
|
||||||
option('with_opengl_module_name', type : 'string', value : '', description : 'The file to pass to g_module_open to open the libGL.so library (default: libGL.so)')
|
option('with_opengl_module_name', type : 'string', value : '', description : 'The file to pass to g_module_open to open the libGL.so library (default: libGL.so)')
|
||||||
option('with_gles2_module_name', type : 'string', value : '', description : 'The file to pass to g_module_open to open the libGLESv2.so library (default: libGLESv2.so)')
|
option('with_gles2_module_name', type : 'string', value : '', description : 'The file to pass to g_module_open to open the libGLESv2.so library (default: libGLESv2.so)')
|
||||||
|
option('disable_introspection',
|
||||||
|
type : 'boolean', value : false,
|
||||||
|
description : 'Whether to disable the introspection generation')
|
||||||
|
|
Loading…
Reference in a new issue