Makefile.am 8.76 KB
Newer Older
1 2
include $(top_srcdir)/common/check.mak

3
CHECK_REGISTRY = $(top_builddir)/tests/check/test-registry.reg
4
TEST_FILES_DIRECTORY = $(top_srcdir)/tests/files
5 6 7 8 9 10

REGISTRY_ENVIRONMENT = \
	GST_REGISTRY=$(CHECK_REGISTRY)

TESTS_ENVIRONMENT = \
	$(REGISTRY_ENVIRONMENT)					\
11
	GST_PLUGIN_SYSTEM_PATH=					\
12
	GST_PLUGIN_PATH=$(top_builddir)/gst:$(top_builddir)/ext:$(top_builddir)/sys:$(GSTPB_PLUGINS_DIR):$(GST_PLUGINS_DIR)			\
13
	GST_PLUGIN_LOADING_WHITELIST="gstreamer@$(GST_PLUGINS_DIR):gst-plugins-base@$(GSTPB_PLUGINS_DIR):gst-plugins-good@$(top_builddir)"	\
14
	GST_STATE_IGNORE_ELEMENTS="aasink autoaudiosrc autoaudiosink autovideosrc autovideosink \
15
		cacasink cairotextoverlay gconfaudiosrc gconfvideosrc gconfaudiosink gconfvideosink \
16 17 18
		halaudiosrc halaudiosink jackaudiosrc jackaudiosink \
		osssrc osssink osxaudiosink osxaudiosrc osxvideosrc osxvideosink \
		pulsesink pulsesrc pulsemixer v4l2src"
19

20 21 22 23 24 25 26 27 28 29 30 31 32 33
# fake device drivers: we could run hardware element tests against dummy drivers
# v4l2: vivo (part of normal kernel)
#   modprobe vivo;
#   gst-launch v4l2src device="/dev/video1" ! xvimagesink;
#   rmmod vivo
#
# alsa: snd-dummy (part of normal alsa, not removable)
#   modprobe snd-dummy;
#   gst-launch alsasrc device="hw:2" ! fakesink
#   gst-launch fakesrc ! alsasink device="hw:2"
#
# need a way to figure out value for the device property

# the core dumps of some machines have PIDs appended
34
CLEANFILES = core.* test-registry.*
35

36
clean-local: clean-local-check clean-local-orc
37

38 39 40 41 42
if USE_ANNODEX
check_annodex = \
	elements/cmmldec \
	elements/cmmlenc
else
43
check_annodex =
44 45
endif

46 47 48 49 50 51
if USE_FLAC
check_flac = pipelines/flacdec
else
check_flac =
endif

52 53 54
if USE_GDK_PIXBUF
check_gdkpixbuf = elements/gdkpixbufsink
else
55
check_gdkpixbuf =
56 57
endif

58 59 60 61 62 63
if USE_JPEG
check_jpeg = elements/jpegenc
else
check_jpeg =
endif

64 65 66 67 68 69
if USE_SOUP
check_soup = elements/souphttpsrc
else
check_soup =
endif

70 71 72
if USE_SUNAUDIO
check_sunaudio = elements/sunaudio
else
73
check_sunaudio =
74 75
endif

76
if USE_TAGLIB
77 78 79
check_taglib = \
	elements/id3v2mux \
	elements/apev2mux
80 81 82
else
check_taglib =
endif
83

84 85 86 87
if USE_WAVPACK
check_wavpack = \
       elements/wavpackparse \
       elements/wavpackdec \
88 89
       elements/wavpackenc \
       pipelines/wavpack
90 91 92 93
else
check_wavpack =
endif

94 95 96 97 98 99 100
if HAVE_ORC
check_orc = orc/deinterlace orc/videomixer orc/videobox
else
check_orc =
endif


101
check_PROGRAMS = \
102
	generic/index \
103
	generic/states \
104 105 106
	elements/aacparse \
	elements/ac3parse \
	elements/amrparse \
107
	$(check_annodex) \
108
	elements/alphacolor \
109 110
	elements/aspectratiocrop \
	elements/audioamplify \
111 112
	elements/audiochebband \
	elements/audiocheblimit \
113
	elements/audiodynamic \
114 115 116 117 118
	elements/audioecho \
	elements/audiofirfilter \
	elements/audioiirfilter \
	elements/audioinvert \
	elements/audiopanorama \
119 120
	elements/audiowsincband \
	elements/audiowsinclimit \
121
	elements/avimux \
122
	elements/avisubtitle \
123
	elements/capssetter \
124
	elements/deinterlace \
125
	elements/deinterleave \
126
	elements/equalizer \
127
	elements/flacparse \
128
	elements/flvdemux \
129
	elements/flvmux \
130
	elements/icydemux \
131
	elements/id3demux \
132
	elements/imagefreeze \
133
	elements/interleave \
134
	elements/level \
135
	elements/matroskamux \
136
	elements/mpegaudioparse \
Jan Schmidt's avatar
Jan Schmidt committed
137
	elements/multifile \
138
	elements/qtmux \
139 140 141
	elements/rganalysis \
	elements/rglimiter \
	elements/rgvolume \
142
	elements/rtp-payloading \
143 144
	elements/rtpbin \
	elements/rtpbin_buffer_list \
Stefan Kost's avatar
Stefan Kost committed
145
	elements/rtpjitterbuffer \
146
	elements/shapewipe \
Jan Schmidt's avatar
Jan Schmidt committed
147
	elements/spectrum \
148
	elements/udpsink \
149
	elements/videocrop \
150
	elements/videofilter \
151
	elements/y4menc \
152
	pipelines/simple-launch-lines \
153
	pipelines/effectv \
154
	pipelines/tagschecking \
Stefan Kost's avatar
Stefan Kost committed
155
	pipelines/wavenc \
156
	$(check_flac) \
157
	$(check_gdkpixbuf) \
Stefan Kost's avatar
Stefan Kost committed
158
	$(check_jpeg) \
159
	$(check_soup) \
160
	$(check_sunaudio) \
161
	$(check_taglib) \
162 163
	$(check_wavpack) \
	$(check_orc)
164

165 166
VALGRIND_TO_FIX = \
	elements/rtp-payloading
167

168
TESTS = $(check_PROGRAMS)
169 170

# these tests don't even pass
171 172 173
# autodetect: temporarily disabled because of broken videosinks in -bad
noinst_PROGRAMS = \
	elements/autodetect
174

175
AM_CFLAGS = $(GST_OBJ_CFLAGS) $(GST_CHECK_CFLAGS) $(CHECK_CFLAGS) \
176 177
	$(GST_OPTION_CFLAGS) -DGST_TEST_FILES_PATH="\"$(TEST_FILES_DIRECTORY)\"" \
	-UG_DISABLE_ASSERT -UG_DISABLE_CAST_CHECKS
178 179 180
LDADD = $(GST_OBJ_LIBS) $(GST_CHECK_LIBS) $(CHECK_LIBS)

# valgrind testing
181 182 183 184
# videocrop disabled since it takes way too long in valgrind
VALGRIND_TESTS_DISABLE = \
	elements/videocrop \
	$(VALGRIND_TO_FIX)
185

186
SUPPRESSIONS = $(top_srcdir)/common/gst.supp $(srcdir)/gst-plugins-good.supp
187

188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204
# parser unit test convenience lib
noinst_LTLIBRARIES = libparser.la
libparser_la_SOURCES = elements/parser.c elements/parser.h
libparser_la_CFLAGS = \
	-I$(top_srcdir)/tests/check \
	$(GST_CHECK_CFLAGS) $(GST_OPTION_CFLAGS)

elements_aacparse_LDADD = libparser.la $(LDADD)

elements_ac3parse_LDADD = libparser.la $(LDADD)

elements_amrparse_LDADD = libparser.la $(LDADD)

elements_flacparse_LDADD = libparser.la $(LDADD)

elements_mpegaudioparse_LDADD = libparser.la $(LDADD)

205 206 207
elements_aspectratiocrop_LDADD = $(LDADD)
elements_aspectratiocrop_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)

Stefan Kost's avatar
Stefan Kost committed
208 209 210 211 212 213 214 215
elements_audiopanorama_LDADD = \
	$(GST_BASE_LIBS) $(GST_CONTROLLER_LIBS) \
	$(LDADD)

elements_audiopanorama_CFLAGS = \
	$(GST_BASE_CFLAGS) $(GST_CONTROLLER_CFLAGS) \
	$(CFLAGS) $(AM_CFLAGS)

216 217
elements_cmmldec_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
elements_cmmlenc_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
218

219
elements_alphacolor_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
220

221 222 223
elements_deinterlace_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
elements_deinterlace_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) $(LDADD)

224 225 226 227 228
elements_deinterleave_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
elements_deinterleave_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_MAJORMINOR) $(LDADD)
elements_interleave_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
elements_interleave_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_MAJORMINOR) $(LDADD)

229
elements_imagefreeze_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
Stefan Kost's avatar
Stefan Kost committed
230
elements_imagefreeze_LDADD = $(GST_BASE_LIBS) $(LDADD) -lgstvideo-$(GST_MAJORMINOR)
231

232 233 234
elements_jpegenc_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
elements_jpegenc_LDADD = $(GST_BASE_LIBS) $(LDADD) -lgstapp-0.10

235 236
elements_level_LDADD = $(LDADD) $(LIBM)

237 238
elements_matroskamux_LDADD = $(GST_BASE_LIBS) $(LDADD) $(LIBM)

239 240 241 242
elements_qtmux_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
elements_qtmux_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstpbutils-@GST_MAJORMINOR@ \
             $(GST_BASE_LIBS) $(GST_LIBS) $(GST_CHECK_LIBS)

243
elements_rtpbin_buffer_list_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
244
	$(WARNING_CFLAGS) $(ERROR_CFLAGS) $(GST_CHECK_CFLAGS) $(AM_CFLAGS)
245 246
elements_rtpbin_buffer_list_LDADD = $(GST_PLUGINS_BASE_LIBS) \
             -lgstnetbuffer-@GST_MAJORMINOR@ -lgstrtp-@GST_MAJORMINOR@ \
247
             $(GST_BASE_LIBS) $(GST_LIBS) $(GST_CHECK_LIBS)
248 249
elements_rtpbin_buffer_list_SOURCES = elements/rtpbin_buffer_list.c

250
elements_souphttpsrc_CFLAGS = $(SOUP_CFLAGS) $(AM_CFLAGS)
251 252
elements_souphttpsrc_LDADD = $(SOUP_LIBS) $(LDADD)

253
elements_sunaudio_CFLAGS = \
254
	$(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) \
255 256 257 258
	$(AM_CFLAGS)
elements_sunaudio_LDADD = \
	$(GST_PLUGINS_BASE_LIBS) -lgstinterfaces-@GST_MAJORMINOR@ \
	$(LDADD)
259

Jan Schmidt's avatar
Jan Schmidt committed
260
elements_videocrop_LDADD = $(GST_BASE_LIBS) $(LDADD)
261
elements_videocrop_CFLAGS = $(GST_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
262

263 264 265
elements_videofilter_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
elements_videofilter_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) $(LDADD)

266 267 268
# FIXME: configure should check for gdk-pixbuf not gtk
# only need video.h header, not the lib
elements_gdkpixbufsink_CFLAGS = \
269
	$(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS) $(GDK_PIXBUF_CFLAGS)
270
elements_gdkpixbufsink_LDADD = \
271
	$(LDADD) $(GDK_PIXBUF_LIBS)
272 273


Stefan Kost's avatar
Stefan Kost committed
274 275 276
pipelines_wavenc_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
pipelines_wavenc_LDADD  = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_MAJORMINOR) $(LDADD)

277 278 279
pipelines_wavpack_LDADD = $(LDADD) $(GST_BASE_LIBS)
pipelines_wavpack_CFLAGS = $(GST_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)

280 281
orc_deinterlace_CFLAGS = $(ORC_CFLAGS)
orc_deinterlace_LDADD = $(ORC_LIBS) -lorc-test-0.4
282
nodist_orc_deinterlace_SOURCES = orc/deinterlace.c
283 284
orc_videomixer_CFLAGS = $(ORC_CFLAGS)
orc_videomixer_LDADD = $(ORC_LIBS) -lorc-test-0.4
285
nodist_orc_videomixer_SOURCES = orc/videomixer.c
286 287
orc_videobox_CFLAGS = $(ORC_CFLAGS)
orc_videobox_LDADD = $(ORC_LIBS) -lorc-test-0.4
288
nodist_orc_videobox_SOURCES = orc/videobox.c
289 290 291 292 293 294 295 296 297 298 299 300 301

orc/deinterlace.c: $(top_srcdir)/gst/deinterlace/tvtime.orc
	$(MKDIR_P) orc/
	$(ORCC) --test -o $@ $<

orc/videomixer.c: $(top_srcdir)/gst/videomixer/blendorc.orc
	$(MKDIR_P) orc/
	$(ORCC) --test -o $@ $<

orc/videobox.c: $(top_srcdir)/gst/videobox/gstvideoboxorc.orc
	$(MKDIR_P) orc/
	$(ORCC) --test -o $@ $<

302 303 304
clean-local-orc:
	rm -rf orc

305
EXTRA_DIST = gst-plugins-good.supp