harness: enable empty harness creation and refactor around this
[platform/upstream/gstreamer.git] / libs / gst / check / Makefile.am
1 lib_LTLIBRARIES = libgstcheck-@GST_API_VERSION@.la
2
3 SYMBOLS_FILE = exports.sym
4
5 libgstcheck_@GST_API_VERSION@_la_DEPENDENCIES = \
6         $(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la \
7         $(SYMBOLS_FILE)
8 libgstcheck_@GST_API_VERSION@_la_SOURCES =      \
9         gstbufferstraw.c                        \
10         gstcheck.c                              \
11         gstconsistencychecker.c                 \
12         gstharness.c                            \
13         gsttestclock.c
14
15 libgstcheck_@GST_API_VERSION@_la_CFLAGS = $(GST_OBJ_CFLAGS) \
16         -UG_DISABLE_ASSERT \
17         -I$(top_builddir)/libs \
18         -I$(top_builddir)/libs/gst/check \
19         -I$(top_builddir)/libs/gst/check/libcheck
20 libgstcheck_@GST_API_VERSION@_la_LIBADD = $(GST_OBJ_LIBS) \
21         $(top_builddir)/libs/gst/check/libcheck/libcheckinternal.la \
22         $(LIBM)
23 libgstcheck_@GST_API_VERSION@_la_LDFLAGS = \
24         -export-symbols $(SYMBOLS_FILE) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
25
26 libgstcheck_@GST_API_VERSION@includedir =               \
27         $(includedir)/gstreamer-@GST_API_VERSION@/gst/check
28
29 libgstcheck_@GST_API_VERSION@include_HEADERS =  \
30         check.h                                 \
31         gstbufferstraw.h                        \
32         gstcheck.h                              \
33         gstconsistencychecker.h                 \
34         gstharness.h                            \
35         gsttestclock.h
36
37 nodist_libgstcheck_@GST_API_VERSION@include_HEADERS =   \
38         internal-check.h
39
40 CLEANFILES = *.gcno *.gcda *.gcov $(SYMBOLS_FILE)
41
42 %.c.gcov: .libs/libgstcheck_@GST_API_VERSION@_la-%.gcda %.c
43         $(GCOV) -b -f -o $^ > $@.out
44
45 gcov: $(libgstcheck_@GST_API_VERSION@_la_SOURCES:=.gcov)
46
47 SUBDIRS = libcheck
48
49 LIBGSTCHECK_EXPORTED_VARS = \
50         _gst_check_threads_running \
51         _gst_check_raised_critical \
52         _gst_check_raised_warning \
53         _gst_check_expecting_log \
54         buffers \
55         check_cond \
56         check_debug \
57         check_mutex \
58         mutex \
59         start_cond \
60         sync_cond \
61         thread_list
62
63 LIBGSTCHECK_EXPORTED_FUNCS = \
64         _gst_check_run_test_func \
65         gst_buffer_straw_get_buffer \
66         gst_buffer_straw_start_pipeline \
67         gst_buffer_straw_stop_pipeline \
68         gst_check_abi_list \
69         gst_check_caps_equal \
70         gst_check_buffer_data \
71         gst_check_chain_func \
72         gst_check_drop_buffers \
73         gst_check_element_push_buffer \
74         gst_check_element_push_buffer_list \
75         gst_check_init \
76         gst_check_message_error \
77         gst_check_run_suite \
78         gst_check_setup_element \
79         gst_check_setup_events \
80         gst_check_setup_events_with_stream_id \
81         gst_check_setup_sink_pad \
82         gst_check_setup_sink_pad_from_template \
83         gst_check_setup_sink_pad_by_name \
84         gst_check_setup_sink_pad_by_name_from_template \
85         gst_check_setup_src_pad \
86         gst_check_setup_src_pad_from_template \
87         gst_check_setup_src_pad_by_name \
88         gst_check_setup_src_pad_by_name_from_template \
89         gst_check_teardown_element \
90         gst_check_teardown_pad_by_name \
91         gst_check_teardown_sink_pad \
92         gst_check_teardown_src_pad \
93         gst_check_objects_destroyed_on_unref \
94         gst_check_object_destroyed_on_unref \
95         gst_consistency_checker_add_pad \
96         gst_consistency_checker_new \
97         gst_consistency_checker_reset \
98         gst_consistency_checker_free \
99         gst_harness_add_element_full \
100         gst_harness_add_element_src_pad \
101         gst_harness_add_parse \
102         gst_harness_add_probe \
103         gst_harness_add_sink \
104         gst_harness_add_sink_harness \
105         gst_harness_add_sink_parse \
106         gst_harness_add_src \
107         gst_harness_add_src_harness \
108         gst_harness_add_src_parse \
109         gst_harness_buffers_received \
110         gst_harness_buffers_in_queue \
111         gst_harness_crank_multiple_clock_waits \
112         gst_harness_crank_single_clock_wait \
113         gst_harness_create_buffer \
114         gst_harness_dump_to_file \
115         gst_harness_events_received \
116         gst_harness_events_in_queue \
117         gst_harness_find_element \
118         gst_harness_get \
119         gst_harness_get_allocator \
120         gst_harness_get_last_pushed_timestamp \
121         gst_harness_get_testclock \
122         gst_harness_new \
123         gst_harness_new_empty \
124         gst_harness_new_full \
125         gst_harness_new_parse \
126         gst_harness_new_with_element \
127         gst_harness_new_with_padnames \
128         gst_harness_new_with_templates \
129         gst_harness_play \
130         gst_harness_pull \
131         gst_harness_pull_event \
132         gst_harness_pull_upstream_event \
133         gst_harness_push \
134         gst_harness_push_and_pull \
135         gst_harness_push_event \
136         gst_harness_push_from_src \
137         gst_harness_push_to_sink \
138         gst_harness_query_latency \
139         gst_harness_push_upstream_event \
140         gst_harness_set \
141         gst_harness_set_caps \
142         gst_harness_set_caps_str \
143         gst_harness_set_drop_buffers \
144         gst_harness_set_blocking_push_mode \
145         gst_harness_set_forwarding \
146         gst_harness_set_propose_allocator \
147         gst_harness_set_sink_caps \
148         gst_harness_set_src_caps \
149         gst_harness_set_src_caps_str \
150         gst_harness_set_sink_caps_str \
151         gst_harness_set_time \
152         gst_harness_set_upstream_latency \
153         gst_harness_sink_push_many \
154         gst_harness_src_crank_and_push_many \
155         gst_harness_src_push_event \
156         gst_harness_stress_custom_start \
157         gst_harness_stress_property_start_full \
158         gst_harness_stress_push_buffer_start_full \
159         gst_harness_stress_push_buffer_with_cb_start_full \
160         gst_harness_stress_push_event_start_full \
161         gst_harness_stress_push_upstream_event_start_full \
162         gst_harness_stress_requestpad_start_full \
163         gst_harness_stress_statechange_start_full \
164         gst_harness_stress_thread_stop \
165         gst_harness_teardown \
166         gst_harness_try_pull \
167         gst_harness_try_pull_event \
168         gst_harness_try_pull_upstream_event \
169         gst_harness_upstream_events_received \
170         gst_harness_upstream_events_in_queue \
171         gst_harness_use_systemclock \
172         gst_harness_use_testclock \
173         gst_harness_wait_for_clock_id_waits \
174         gst_test_clock_get_type \
175         gst_test_clock_new \
176         gst_test_clock_new_with_start_time \
177         gst_test_clock_set_time \
178         gst_test_clock_advance_time \
179         gst_test_clock_peek_id_count \
180         gst_test_clock_has_id \
181         gst_test_clock_peek_next_pending_id \
182         gst_test_clock_wait_for_next_pending_id \
183         gst_test_clock_wait_for_pending_id_count \
184         gst_test_clock_process_next_clock_id \
185         gst_test_clock_get_next_entry_time \
186         gst_test_clock_wait_for_multiple_pending_ids \
187         gst_test_clock_process_id_list \
188         gst_test_clock_id_list_get_latest_time
189
190 # For backwards compatibility with GStreamer < 1.5
191 LIBGSTCHECK_EXPORTED_COMPAT_FUNCS = \
192         _fail_unless
193
194 LIBGSTCHECK_EXPORTED_SYMBOLS = \
195         $(LIBGSTCHECK_EXPORTED_VARS) \
196         $(LIBGSTCHECK_EXPORTED_FUNCS) \
197         $(LIBGSTCHECK_EXPORTED_COMPAT_FUNCS)
198
199 # Please do not even think about changing the alphabet below into A-Za-z.
200 # It is there for purpose. (Bug #602093)
201 CHECK_SYMS=`$(SED) -n -e 's/^..*CK_EXPORT[ ]\{1,\}\([_0-9ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]\{1,\}\)..*$$/\1/p' @top_srcdir@/libs/gst/check/libcheck/check.h.in`
202 print-check-symbols:
203         @for s in $(CHECK_SYMS); do \
204           echo $$s; \
205         done;
206
207 $(SYMBOLS_FILE): $(libgstcheck_@GST_API_VERSION@include_HEADERS) internal-check.h
208         $(AM_V_GEN)rm -f $(SYMBOLS_FILE) 2>/dev/null; \
209         for s in $(LIBGSTCHECK_EXPORTED_SYMBOLS) $(CHECK_SYMS); do \
210           echo $$s >> $(SYMBOLS_FILE); \
211         done
212
213 if HAVE_INTROSPECTION
214 BUILT_GIRSOURCES = GstCheck-@GST_API_VERSION@.gir
215
216 gir_headers=$(patsubst %,$(srcdir)/%, $(libgstcheck_@GST_API_VERSION@include_HEADERS))
217 gir_sources=$(patsubst %,$(srcdir)/%, $(libgstcheck_@GST_API_VERSION@_la_SOURCES))
218
219 GstCheck-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstcheck-@GST_API_VERSION@.la
220         $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
221                 GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
222                 $(INTROSPECTION_SCANNER) -v --namespace GstCheck \
223                 --nsversion=@GST_API_VERSION@ \
224                 --identifier-prefix=Gst \
225                 --symbol-prefix=gst \
226                 --warn-all \
227                 -I$(top_srcdir) \
228                 -I$(top_srcdir)/libs \
229                 -I$(top_builddir) \
230                 -I$(top_builddir)/libs \
231                 --c-include "gst/check/check.h" \
232                 --add-include-path=$(top_builddir)/gst \
233                 --library-path=$(top_builddir)/gst \
234                 --library=libgstcheck-@GST_API_VERSION@.la \
235                 --include=Gst-@GST_API_VERSION@ \
236                 --libtool="${LIBTOOL}" \
237                 --pkg gstreamer-@GST_API_VERSION@ \
238                 --pkg-export gstreamer-check-@GST_API_VERSION@ \
239                 --add-init-section="$(INTROSPECTION_INIT)" \
240                 --output $@ \
241                 $(gir_headers) \
242                 $(gir_sources)
243
244 # INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
245 # install anything - we need to install inside our prefix.
246 girdir = $(datadir)/gir-1.0
247 gir_DATA = $(BUILT_GIRSOURCES)
248
249 typelibsdir = $(libdir)/girepository-1.0/
250
251 typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
252
253 %.typelib: %.gir $(INTROSPECTION_COMPILER)
254         $(AM_V_GEN)$(INTROSPECTION_COMPILER) --includedir=$(srcdir) --includedir=$(builddir) --includedir=$(top_builddir)/gst $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
255
256 CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
257 endif