16 'gstcontrolbinding.c',
21 'gstdeviceprovider.c',
22 'gstdeviceproviderfactory.c',
24 'gstelementfactory.c',
50 'gstregistrychunks.c',
53 'gststreamcollection.c',
68 'gsttypefindfactory.c',
91 'gstcontrolbinding.h',
96 'gstelementmetadata.h',
98 'gstdeviceprovider.h',
99 'gstdeviceproviderfactory.h',
100 'gstelementfactory.h',
105 'gstdevicemonitor.h',
119 'gstpluginfeature.h',
126 'gststreamcollection.h',
137 'gsttracerfactory.h',
140 'gsttypefindfactory.h',
148 install_headers(gst_headers, subdir : 'gstreamer-1.0/gst')
150 if not get_option('disable_registry')
151 gst_registry = ['gstregistrybinary.c']
156 configure_file(input : 'gstconfig.h.in',
157 output : 'gstconfig.h',
158 install_dir : 'include/gstreamer-1.0/gst',
159 configuration : cdata)
160 configure_file(input : 'gstversion.h.in',
161 output : 'gstversion.h',
162 install_dir : 'include/gstreamer-1.0/gst',
163 configuration : cdata)
165 mkenums = find_program('build_mkenum.py')
166 glib_mkenums = find_program('glib-mkenums')
168 gstenum_h = custom_target('gstenum_h',
169 output : 'gstenumtypes.h',
172 install_dir : 'include/gstreamer-1.0/gst',
173 command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
175 gstenum_c = custom_target('gstenum_c',
176 output : 'gstenumtypes.c',
178 depends : [gstenum_h],
179 command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
184 libgst_c_args = gst_c_args + [
187 '-DG_LOG_DOMAIN=g_log_domain_gstreamer',
188 '-DGST_DISABLE_DEPRECATED',
191 # Make it possible to build both static and shared versions
192 # at the same time. By default use shared for unit tests etc.
193 # This choice is arbitrary.
194 if libtype != 'shared'
195 libgst_static = static_library('gstreamer-1.0', gst_sources,
196 gstenum_h, gstenum_c, grammar, parser, gst_registry,
197 c_args : [libgst_c_args],
198 include_directories : [configinc,
199 # HACK, change include paths in .y and .l in final version.
200 include_directories('parse')],
202 link_with : printf_lib,
203 dependencies : [gobject_dep, gmodule_dep, glib_dep, mathlib] + platform_deps,
205 libgst = libgst_static
208 if libtype != 'static'
209 libgst_shared = shared_library('gstreamer-1.0', gst_sources,
210 gstenum_h, gstenum_c, grammar, parser, gst_registry,
211 version : libversion,
212 soversion : soversion,
213 c_args : libgst_c_args,
214 include_directories : [configinc,
215 # HACK, change include paths in .y and .l in final version.
216 include_directories('parse')],
217 link_with : printf_lib,
219 dependencies : [gobject_dep, gmodule_dep, glib_dep, mathlib] + platform_deps,
220 vs_module_defs: vs_module_defs_dir + 'libgstreamer.def',
222 libgst = libgst_shared
224 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/gst.h' ]
225 if meson.is_subproject()
226 # FIXME: There must be a better way to do this
227 # Need to pass the include path to find gst/gst.h and gst/gstenumtypes.h (built)
228 gst_gir_extra_args += ['--cflags-begin',
229 '-I' + meson.current_source_dir() + '/..',
230 '-I' + meson.current_build_dir() + '/..',
233 gnome.generate_gir(libgst_shared,
234 sources : gst_sources + gst_headers,
236 nsversion : apiversion,
237 identifier_prefix : 'Gst',
238 symbol_prefix : 'gst',
239 export_packages : 'gstreamer-1.0',
240 includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0' ],
242 extra_args : gst_gir_extra_args,
247 gst_dep = declare_dependency(link_with : libgst,
248 include_directories : [configinc],
249 dependencies : [glib_dep, gobject_dep, gmodule_dep],
250 # Everything that uses libgst needs this built to compile
251 sources : [gstenum_h],