basesrc: Removed unused private member qos_enabled
[platform/upstream/gstreamer.git] / gst / meson.build
1 gst_sources = [
2   'gst.c',
3   'gstobject.c',
4   'gstallocator.c',
5   'gstbin.c',
6   'gstbuffer.c',
7   'gstbufferlist.c',
8   'gstbufferpool.c',
9   'gstbus.c',
10   'gstcaps.c',
11   'gstcapsfeatures.c',
12   'gstchildproxy.c',
13   'gstclock.c',
14   'gstcontext.c',
15   'gstcontrolbinding.c',
16   'gstcontrolsource.c',
17   'gstdatetime.c',
18   'gstdebugutils.c',
19   'gstdevice.c',
20   'gstdeviceprovider.c',
21   'gstdeviceproviderfactory.c',
22   'gstdynamictypefactory.c',
23   'gstelement.c',
24   'gstelementfactory.c',
25   'gsterror.c',
26   'gstevent.c',
27   'gstformat.c',
28   'gstghostpad.c',
29   'gstdevicemonitor.c',
30   'gstinfo.c',
31   'gstiterator.c',
32   'gstatomicqueue.c',
33   'gstmessage.c',
34   'gstmeta.c',
35   'gstmemory.c',
36   'gstminiobject.c',
37   'gstpad.c',
38   'gstpadtemplate.c',
39   'gstparamspecs.c',
40   'gstpipeline.c',
41   'gstplugin.c',
42   'gstpluginfeature.c',
43   'gstpluginloader.c',
44   'gstpoll.c',
45   'gstpreset.c',
46   'gstprotection.c',
47   'gstquark.c',
48   'gstquery.c',
49   'gstregistry.c',
50   'gstregistrychunks.c',
51   'gstsample.c',
52   'gstsegment.c',
53   'gststreamcollection.c',
54   'gststreams.c',
55   'gststructure.c',
56   'gstsystemclock.c',
57   'gsttaglist.c',
58   'gsttagsetter.c',
59   'gsttask.c',
60   'gsttaskpool.c',
61   'gsttoc.c',
62   'gsttocsetter.c',
63   'gsttracer.c',
64   'gsttracerfactory.c',
65   'gsttracerrecord.c',
66   'gsttracerutils.c',
67   'gsttypefind.c',
68   'gsttypefindfactory.c',
69   'gsturi.c',
70   'gstutils.c',
71   'gstvalue.c',
72   'gstparse.c',
73 ]
74
75 gst_headers = [
76   'gst.h',
77   'glib-compat.h',
78   'gstobject.h',
79   'gstallocator.h',
80   'gstbin.h',
81   'gstbuffer.h',
82   'gstbufferlist.h',
83   'gstbufferpool.h',
84   'gstbus.h',
85   'gstcaps.h',
86   'gstcapsfeatures.h',
87   'gstchildproxy.h',
88   'gstclock.h',
89   'gstcompat.h',
90   'gstcontext.h',
91   'gstcontrolbinding.h',
92   'gstcontrolsource.h',
93   'gstdatetime.h',
94   'gstdebugutils.h',
95   'gstelement.h',
96   'gstelementmetadata.h',
97   'gstdevice.h',
98   'gstdeviceprovider.h',
99   'gstdeviceproviderfactory.h',
100   'gstdynamictypefactory.h',
101   'gstelementfactory.h',
102   'gsterror.h',
103   'gstevent.h',
104   'gstformat.h',
105   'gstghostpad.h',
106   'gstdevicemonitor.h',
107   'gstinfo.h',
108   'gstiterator.h',
109   'gstatomicqueue.h',
110   'gstmacros.h',
111   'gstmessage.h',
112   'gstmeta.h',
113   'gstmemory.h',
114   'gstminiobject.h',
115   'gstpad.h',
116   'gstpadtemplate.h',
117   'gstparamspecs.h',
118   'gstpipeline.h',
119   'gstplugin.h',
120   'gstpluginfeature.h',
121   'gstpoll.h',
122   'gstpreset.h',
123   'gstprotection.h',
124   'gstquery.h',
125   'gstsample.h',
126   'gstsegment.h',
127   'gststreamcollection.h',
128   'gststreams.h',
129   'gststructure.h',
130   'gstsystemclock.h',
131   'gsttaglist.h',
132   'gsttagsetter.h',
133   'gsttask.h',
134   'gsttaskpool.h',
135   'gsttoc.h',
136   'gsttocsetter.h',
137   'gsttracer.h',
138   'gsttracerfactory.h',
139   'gsttracerrecord.h',
140   'gsttypefind.h',
141   'gsttypefindfactory.h',
142   'gsturi.h',
143   'gstutils.h',
144   'gstvalue.h',
145   'gstregistry.h',
146   'gstparse.h',
147   'math-compat.h',
148 ]
149 install_headers(gst_headers, subdir : 'gstreamer-1.0/gst')
150
151 if not get_option('disable_registry')
152   gst_registry = ['gstregistrybinary.c']
153 else
154   gst_registry = []
155 endif
156
157 # Make copy so configure_file consumes the copy and we can
158 # still add to the original cdata later.
159 gst_cdata = cdata
160
161 configure_file(input : 'gstconfig.h.in',
162   output : 'gstconfig.h',
163   install_dir : 'include/gstreamer-1.0/gst',
164   configuration : gst_cdata)
165
166 version_cdata = configuration_data()
167 version_cdata.set('GST_VERSION_MAJOR', gst_version_major)
168 version_cdata.set('GST_VERSION_MINOR', gst_version_minor)
169 version_cdata.set('GST_VERSION_MICRO', gst_version_micro)
170 version_cdata.set('GST_VERSION_NANO', gst_version_nano)
171
172 gst_version_h = configure_file(input : 'gstversion.h.in',
173   output : 'gstversion.h',
174   install_dir : 'include/gstreamer-1.0/gst',
175   configuration : version_cdata)
176
177 gst_enums = gnome.mkenums('gstenumtypes',
178   sources : gst_headers,
179   h_template : 'gstenumtypes.h.template',
180   c_template : 'gstenumtypes.c.template',
181   install_header : true,
182   install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst'))
183
184 gstenum_h = gst_enums[1]
185 gstenum_c = gst_enums[0]
186
187
188 subdir('parse')
189 subdir('printf')
190
191 libgst_c_args = gst_c_args + [
192   '-D_GNU_SOURCE',
193   '-DGST_EXPORTS',
194   '-DG_LOG_DOMAIN=g_log_domain_gstreamer',
195   '-DGST_DISABLE_DEPRECATED',
196 ]
197
198 # Make it possible to build both static and shared versions
199 # at the same time. By default use shared for unit tests etc.
200 # This choice is arbitrary.
201 if libtype != 'shared'
202   libgst_static = static_library('gstreamer-1.0', gst_sources,
203     gstenum_h, gstenum_c, grammar, parser, gst_registry,
204     c_args : [libgst_c_args],
205     include_directories : [configinc,
206       # HACK, change include paths in .y and .l in final version.
207       include_directories('parse')],
208     install : true,
209     link_with : printf_lib,
210     dependencies : [gobject_dep, gmodule_dep, glib_dep, mathlib] + backtrace_deps  + platform_deps,
211   )
212   libgst = libgst_static
213 endif
214
215 # Make sure that subproject building gir files work
216 gst_incdirs = [configinc]
217 gst_gen_sources = [gstenum_h]
218 if libtype != 'static'
219   libgst_shared = shared_library('gstreamer-1.0', gst_sources,
220     gstenum_h, gstenum_c, grammar, parser, gst_registry,
221     version : libversion,
222     soversion : soversion,
223     c_args : libgst_c_args,
224     include_directories : [configinc,
225       # HACK, change include paths in .y and .l in final version.
226       include_directories('parse')],
227     link_with : printf_lib,
228     install : true,
229     dependencies : [gobject_dep, gmodule_dep, glib_dep, mathlib, dl_dep] + backtrace_deps
230                      + platform_deps,
231     vs_module_defs: vs_module_defs_dir + 'libgstreamer.def',
232   )
233   libgst = libgst_shared
234   if build_gir
235     gst_gir_extra_args = gir_init_section + [ '--c-include=gst/gst.h' ]
236     if meson.is_subproject()
237       # FIXME: There must be a better way to do this
238       # Need to pass the include path to find gst/gst.h and gst/gstenumtypes.h (built)
239       gst_gir_extra_args += ['--cflags-begin',
240           '-I' + meson.current_source_dir() + '/..',
241           '-I' + meson.current_build_dir() + '/..',
242           '--cflags-end']
243     endif
244
245     gst_incdirs += [configinc]
246     gst_gen_sources += [gnome.generate_gir(libgst_shared,
247       sources : gst_sources + gst_headers + gst_enums + [gst_version_h],
248       namespace : 'Gst',
249       nsversion : apiversion,
250       identifier_prefix : 'Gst',
251       symbol_prefix : 'gst',
252       export_packages : 'gstreamer-1.0',
253       includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0' ],
254       install : true,
255       extra_args : gst_gir_extra_args,
256     )]
257   endif
258 endif
259
260 gst_dep = declare_dependency(link_with : libgst,
261   include_directories : gst_incdirs,
262   dependencies : [glib_dep, gobject_dep, gmodule_dep],
263   # Everything that uses libgst needs this built to compile
264   sources : gst_gen_sources,
265 )