summaryrefslogtreecommitdiffstats
path: root/multimedia/gstreamer-plugins/Makefile.common
blob: ff495a1140956051f36a67417850164a20d4d907 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
# $FreeBSD$
#    $MCom: ports/multimedia/gstreamer-plugins/Makefile.common,v 1.68 2008/03/21 04:14:19 ahze Exp $
# base
BASE_GST_ALL_PLUGINS= \
		alsa \
		cdparanoia \
		gio \
		gnomevfs \
		libvisual \
		ogg \
		pango \
		theora \
		vorbis
# bad
BAD_GST_ALL_PLUGINS+= \
		alsa \
		amrwb \
		bz2 \
		cdaudio \
		directfb \
		divx \
		dts \
		dvb \
		faac \
		faad \
		gsm \
		ivorbis \
		jack \
		libmms \
		metadata \
		mpeg2enc \
		musepack \
		musicbrainz \
		mythtv \
		nas \
		neon \
		sdl \
		sndfile \
		soundtouch \
		soup \
		spc \
		swfdec \
		timidity \
		wildmidi \
		x264 \
		xvid
#		ladspa \
#		theora

# good
GOOD_GST_ALL_PLUGINS+= \
		aalib \
		annodex \
		cairo \
		cdio \
		dv \
		esd \
		flac \
		gconf \
		gdk_pixbuf \
		hal \
		jpeg \
		ladspa \
		libcaca \
		libpng \
		taglib \
		raw1394 \
		shout2 \
		speex \
		taglib \
		wavpack

# ugly
UGLY_GST_ALL_PLUGINS+= \
		a52dec \
		amrnb \
		dvdnav \
		dvdread \
		lame \
		mad \
		mpeg2dec \
		sidplay

.for i in ${BASE_GST_ALL_PLUGINS} ${BAD_GST_ALL_PLUGINS} ${UGLY_GST_ALL_PLUGINS}
gst_${i}_GCONF_SCHEMAS?=	# Empty
gst_${i}_USE_SDL?=		# Empty
.endfor

CONFIG_GST_PLUGINS=	gnome_vfs
GST_ALL_PLUGINS=	${BASE_GST_ALL_PLUGINS} ${BAD_GST_ALL_PLUGINS} \
			${GOOD_GST_ALL_PLUGINS} ${UGLY_ALL_PLUGINS} \
			${CONFIG_GST_PLUGINS}

# Disable all plugins by default
.for d in ${GST_ALL_PLUGINS}
CONFIGURE_ARGS+=	--disable-${d}
.endfor
CONFIGURE_ARGS+=	--enable-${GST_PLUGIN}

CONFIGURE_ARGS+=--disable-tests \
		--disable-examples \
		--disable-1394 \
		--disable-amrnb \
		--disable-alsa \
		--disable-http \
		--enable-cdrom \
		--disable-gconf \
		--disable-gconftool \
		--disable-schemas-install \
		--enable-oss \
		--disable-osx_audio \
		--disable-osx_video \
		--disable-directdrawsink \
		--disable-directsoundsink \
		--disable-v4l2src \
		--disable-tarkin \
		--enable-static \
		--disable-sunaudio \
		--disable-xine \
		--enable-x \
		--enable-xshm \
		--enable-xvideo

.if !defined(NO_GSTREAMER_COMMON)
GST_PLUGIN_SUFFIX?=	-${GST_PLUGIN}

# Enable the right plugin

CONFIGURE_ARGS:=${CONFIGURE_ARGS:S|--disable-${GST_PLUGIN}|--enable-${GST_PLUGIN}|}

GST_LIB_DIR=		lib/gstreamer-${VERSION}

# Auto create PLIST
PLIST=		${NONEXISTENT}

# a52dec
gst_a52dec_LIB_DEPENDS+=	a52.0:${PORTSDIR}/audio/liba52
gst_a52dec_DIST=	ugly

# aalib
gst_aalib_LIB_DEPENDS+=	aa.1:${PORTSDIR}/graphics/aalib
gst_aalib_PLIST_FILES=	${GST_LIB_DIR}/libgstaasink.so \
		${GST_LIB_DIR}/libgstaasink.a \
		${GST_LIB_DIR}/libgstaasink.la

# annodex
gst_annodex_LIB_DEPENDS+=	xml2.5:${PORTSDIR}/textproc/libxml2

# bz2
gst_bz2_DIST=		bad

# cairo
gst_cairo_LIB_DEPENDS+=	cairo.2:${PORTSDIR}/graphics/cairo

# cdaudio
gst_cdaudio_LIB_DEPENDS+=cdaudio.1:${PORTSDIR}/audio/libcdaudio
gst_cdaudio_DIST=	bad

# cdparanoia
gst_cdparanoia_LIB_DEPENDS+=	cdda_interface.0:${PORTSDIR}/audio/cdparanoia
gst_cdparanoia_EXTRA_LIBS+=	-lgstcdda-${VERSION}
gst_cdparanoia_DIST=	base

# cdio
gst_cdio_LIB_DEPENDS+=	cdio.7:${PORTSDIR}/sysutils/libcdio

# dts
gst_dts_LIB_DEPENDS+=	dca.0:${PORTSDIR}/multimedia/libdca
gst_dts_PLIST_FILES=	${GST_LIB_DIR}/libgstdtsdec.a \
		${GST_LIB_DIR}/libgstdtsdec.la \
		${GST_LIB_DIR}/libgstdtsdec.so
gst_dts_EXTRA_LIBS+=	-ldca
gst_dts_DIST=	bad

# dv
gst_dv_LIB_DEPENDS+=	dv.4:${PORTSDIR}/multimedia/libdv

# dvd
gst_dvd_EXTRA_LIBS+=	-ldvdnav
gst_dvd_LIB_DEPENDS+=	dvdnav.4:${PORTSDIR}/multimedia/libdvdnav
gst_dvd_GST_PLUGIN_DIR=	ext/dvdnav \
		ext/dvdread
gst_dvd_PLIST_FILES=	${GST_LIB_DIR}/libgstdvdnav.a \
		${GST_LIB_DIR}/libgstdvdnav.la \
		${GST_LIB_DIR}/libgstdvdnav.so \
		${GST_LIB_DIR}/libgstdvdread.a \
		${GST_LIB_DIR}/libgstdvdread.la \
		${GST_LIB_DIR}/libgstdvdread.so
gst_dvd_DIST=	ugly


# esound
gst_esound_USE_GNOME+=	esound
gst_esound_GST_PLUGIN_DIR=	ext/esd
gst_esound_CONFIGURE_ENV+=	ESD_CFLAGS="`pkg-config --cflags esound`" \
		ESD_LIBS="`pkg-config --libs esound`"
gst_esound_PLIST_FILES=	${GST_LIB_DIR}/libgstesd.so \
		${GST_LIB_DIR}/libgstesd.a \
		${GST_LIB_DIR}/libgstesd.la

# faac
gst_faac_LIB_DEPENDS+=	faac.0:${PORTSDIR}/audio/faac
gst_faac_DIST=	bad

# faad
gst_faad_USE_GSTREAMER+=	bad
gst_faad_LIB_DEPENDS+=	faad.0:${PORTSDIR}/audio/faad
gst_faad_DIST=	bad

# flac
gst_flac_LIB_DEPENDS+=	FLAC.10:${PORTSDIR}/audio/flac

# gconf
gst_gconf_USE_GNOME+=	gnomeprefix gconf2
gst_gconf_GST_PLUGIN_DIR=	ext/gconf \
		gconf
gst_gconf_CONFIGURE_ARGS+=	--enable-schemas-install
gst_gconf_GCONF_SCHEMAS=	gstreamer-${GST_VERSION}.schemas
gst_gconf_PLIST_FILES=	${GST_LIB_DIR}/libgstgconfelements.so \
		${GST_LIB_DIR}/libgstgconfelements.a \
		${GST_LIB_DIR}/libgstgconfelements.la

# gdk_pixbuf
gst_gdk_pixbuf_USE_GNOME+=	gtk20
gst_gdk_pixbuf_GST_PLUGIN_DIR=	ext/gdk_pixbuf
gst_gdk_pixbuf_PLIST_FILES=	${GST_LIB_DIR}/libgstgdkpixbuf.a \
				${GST_LIB_DIR}/libgstgdkpixbuf.la \
				${GST_LIB_DIR}/libgstgdkpixbuf.so
# gio
gst_gio_USE_GNOME+=	glib20
gst_gio_DIST=	base

# gnomevfs
gst_gnomevfs_USE_GNOME+=	gnomevfs2
gst_gnomevfs_CONFIGURE_ARGS+=--enable-gnome_vfs
gst_gnomevfs_DIST=	base

# gsm
gst_gsm_LIB_DEPENDS+=	gsm.1:${PORTSDIR}/audio/gsm
gst_gsm_DIST=	bad

# ivorbis
gst_ivorbis_LIB_DEPENDS+=	vorbisidec.1:${PORTSDIR}/audio/libtremor
gst_ivorbis_DIST=	bad

# hal
gst_hal_LIB_DEPENDS+=	hal.1:${PORTSDIR}/sysutils/hal
gst_hal_PLIST_FILES=	${GST_LIB_DIR}/libgsthalelements.a \
		${GST_LIB_DIR}/libgsthalelements.la \
		${GST_LIB_DIR}/libgsthalelements.so

# jack
gst_jack_LIB_DEPENDS+=	jack.0:${PORTSDIR}/audio/jack
gst_jack_DIST=	bad

# jpeg
gst_jpeg_LIB_DEPENDS+=	jpeg.9:${PORTSDIR}/graphics/jpeg

# ladspa
gst_ladspa_BUILD_DEPENDS+=	${LOCALBASE}/include/ladspa.h:${PORTSDIR}/audio/ladspa

# lame
gst_lame_LIB_DEPENDS+=	mp3lame.0:${PORTSDIR}/audio/lame
gst_lame_DIST=	ugly

# libcaca
gst_libcaca_LIB_DEPENDS+=	caca.0:${PORTSDIR}/graphics/libcaca
gst_libcaca_PLIST_FILES=	${GST_LIB_DIR}/libgstcacasink.so \
		${GST_LIB_DIR}/libgstcacasink.a \
		${GST_LIB_DIR}/libgstcacasink.la

# libmms
gst_libmms_LIB_DEPENDS+=	mms.0:${PORTSDIR}/net/libmms
gst_libmms_PLIST_FILES=	${GST_LIB_DIR}/libgstmms.so \
		${GST_LIB_DIR}/libgstmms.a \
		${GST_LIB_DIR}/libgstmms.la
gst_libmms_DIST=	bad

# libpng and the snapshot plugin
gst_libpng_LIB_DEPENDS+=	png.5:${PORTSDIR}/graphics/png
gst_libpng_GST_PLUGIN_DIR=	ext/libpng
gst_libpng_PLIST_FILES=	${GST_LIB_DIR}/libgstpng.so \
		${GST_LIB_DIR}/libgstpng.a \
		${GST_LIB_DIR}/libgstpng.la

# libvisual
gst_libvisual_LIB_DEPENDS+=	visual.0:${PORTSDIR}/graphics/libvisual
gst_libvisual_DIST=	base

# mad
gst_mad_LIB_DEPENDS+=	mad.2:${PORTSDIR}/audio/libmad \
		id3tag.0:${PORTSDIR}/audio/libid3tag
gst_mad_DIST=	ugly

# mpeg2enc
gst_mpeg2enc_LIB_DEPENDS+=	mjpegutils-1.9.1:${PORTSDIR}/multimedia/mjpegtools
gst_mpeg2enc_DIST=	bad

# mpeg2dec
gst_mpeg2dec_LIB_DEPENDS+=	mpeg2.0:${PORTSDIR}/multimedia/libmpeg2
gst_mpeg2dec_DIST=	ugly

# musepack
gst_musepack_LIB_DEPENDS+=	mpcdec.5:${PORTSDIR}/audio/libmpcdec
gst_musepack_DIST=	bad

# musicbrainz
gst_musicbrainz_LIB_DEPENDS+=	musicbrainz.4:${PORTSDIR}/audio/libmusicbrainz
gst_musicbrainz_PLIST_FILES=	${GST_LIB_DIR}/libgsttrm.so \
		${GST_LIB_DIR}/libgsttrm.a \
		${GST_LIB_DIR}/libgsttrm.la
gst_musicbrainz_DIST=	bad

# nas
gst_nas_LIB_DEPENDS+=	audio.2:${PORTSDIR}/audio/nas
gst_nas_DIST=	bad
gst_nas_PLIST_FILES=	${GST_LIB_DIR}/libgstnassink.a \
		${GST_LIB_DIR}/libgstnassink.la \
		${GST_LIB_DIR}/libgstnassink.so

# neon
gst_neon_LIB_DEPENDS+=	neon.26:${PORTSDIR}/www/neon
gst_neon_CONFIGURE_ENV+=	NEON_CFLAGS="-I${LOCALBASE}/include/neon"
gst_neon_PLIST_FILES=	${GST_LIB_DIR}/libgstneonhttpsrc.a \
			${GST_LIB_DIR}/libgstneonhttpsrc.la \
			${GST_LIB_DIR}/libgstneonhttpsrc.so
gst_neon_DIST=		bad

# ogg
gst_ogg_LIB_DEPENDS+=	ogg.5:${PORTSDIR}/audio/libogg
gst_ogg_EXTRA_LIBS+=	-lgstriff-${VERSION}
gst_ogg_DIST=	base

# pango
gst_pango_USE_GNOME+=	pango
gst_pango_DIST=	base

# sdl
gst_sdl_USE_SDL+=	sdl
gst_sdl_DIST=	bad

# shout2
gst_shout2_LIB_DEPENDS+=	shout.5:${PORTSDIR}/audio/libshout2

# sidplay
gst_sidplay_LIB_DEPENDS+=	sidplay.1:${PORTSDIR}/audio/libsidplay
gst_sidplay_PLIST_FILES=	${GST_LIB_DIR}/libgstsid.so \
		${GST_LIB_DIR}/libgstsid.a \
		${GST_LIB_DIR}/libgstsid.la
gst_sidplay_DIST=	ugly

# sndfile
gst_sndfile_LIB_DEPENDS+=	sndfile.1:${PORTSDIR}/audio/libsndfile
gst_sndfile_DIST=	bad

# soundtouch
gst_soundtouch_LIB_DEPENDS+=	SoundTouch.0:${PORTSDIR}/audio/soundtouch
gst_soundtouch_DIST=	bad
 
# souphttpsrc
gst_soup_LIB_DEPENDS+=	soup-2.4.1:${PORTSDIR}/devel/libsoup
gst_soup_GST_PLUGIN_DIR=ext/soup
gst_soup_PLIST_FILES=	${GST_LIB_DIR}/libgstsouphttpsrc.a \
			${GST_LIB_DIR}/libgstsouphttpsrc.la \
			${GST_LIB_DIR}/libgstsouphttpsrc.so
gst_soup_DIST=		bad

# spc
gst_spc_LIB_DEPENDS+=	OpenSPC.3:${PORTSDIR}/audio/openspc
gst_spc_DIST=		bad

# speex
gst_speex_LIB_DEPENDS+=	speex.1:${PORTSDIR}/audio/speex

# swfdec
gst_swfdec_LIB_DEPENDS+=swfdec-0.4.1:${PORTSDIR}/graphics/swfdec
gst_swfdec_DIST=	bad

# taglib
gst_taglib_LIB_DEPENDS+=	tag.5:${PORTSDIR}/audio/taglib

# theora
gst_theora_LIB_DEPENDS+=	theora.0:${PORTSDIR}/multimedia/libtheora
gst_theora_DIST=	base

# vorbis
gst_vorbis_USE_GSTREAMER+=	ogg
gst_vorbis_LIB_DEPENDS+=	vorbis.4:${PORTSDIR}/audio/libvorbis
gst_vorbis_EXTRA_LIBS+=	-lgsttag-${VERSION} -lgstaudio-${VERSION}
gst_vorbis_DIST=	base

# x264
gst_x264_LIB_DEPENDS+=	x264.50:${PORTSDIR}/multimedia/x264
gst_x264_DIST=	bad

# xvid
gst_xvid_LIB_DEPENDS+=	xvidcore.4:${PORTSDIR}/multimedia/xvid
gst_xvid_DIST=	bad

# wavpack
gst_wavpack_LIB_DEPENDS+=	wavpack.1:${PORTSDIR}/audio/wavpack

.endif # NO_GSTREAMER_COMMON

gst_${GST_PLUGIN}_DIST?=	good
DIST=	${gst_${GST_PLUGIN}_DIST}

.if !defined(NO_GSTREAMER_COMMON)
gst_${GST_PLUGIN}_BUILD_DEPENDS?=
gst_${GST_PLUGIN}_LIB_DEPENDS?=
gst_${GST_PLUGIN}_RUN_DEPENDS?=
gst_${GST_PLUGIN}_PLIST_FILES?=${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.so \
			${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.a \
			${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.la
gst_${GST_PLUGIN}_EXTRA_LIBS?=
gst_${GST_PLUGIN}_PREBUILD_DIR?=
gst_${GST_PLUGIN}_GST_PLUGIN_DIR?=	ext/${GST_PLUGIN}
gst_${GST_PLUGIN}_POSTBUILD_DIR?=
gst_${GST_PLUGIN}_USE_GNOME?=
gst_${GST_PLUGIN}_CONFIGURE_ENV?=
gst_${GST_PLUGIN}_GCONF_SCHEMAS?=
gst_${GST_PLUGIN}_CONFIGURE_ARGS?=
gst_${GST_PLUGIN}_USE_SDL?=
gst_${GST_PLUGIN}_USE_GSTREAMER?=

BUILD_DEPENDS+=	${gst_${GST_PLUGIN}_BUILD_DEPENDS}
LIB_DEPENDS+=	${gst_${GST_PLUGIN}_LIB_DEPENDS}
RUN_DEPENDS+=	${gst_${GST_PLUGIN}_RUN_DEPENDS}
PLIST_FILES=	${gst_${GST_PLUGIN}_PLIST_FILES}
EXTRA_LIBS+=	${gst_${GST_PLUGIN}_EXTRA_LIBS}
USE_GNOME+=	${gst_${GST_PLUGIN}_USE_GNOME}
CONFIGURE_ENV+=	${gst_${GST_PLUGIN}_CONFIGURE_ENV}
.if ${gst_${GST_PLUGIN}_GCONF_SCHEMAS}!=""
GCONF_SCHEMAS=	${gst_${GST_PLUGIN}_GCONF_SCHEMAS}
.endif
CONFIGURE_ARGS+=${gst_${GST_PLUGIN}_CONFIGURE_ARGS}
.if ${gst_${GST_PLUGIN}_USE_SDL}!=""
USE_SDL=	${gst_${GST_PLUGIN}_USE_SDL}
.endif
USE_GSTREAMER+=	${gst_${GST_PLUGIN}_USE_GSTREAMER} ${DIST:S/base/yes/}
GST_PREBUILD_DIR=${gst_${GST_PLUGIN}_GST_PREBUILD_DIR}
GST_PLUGIN_DIR=	${gst_${GST_PLUGIN}_GST_PLUGIN_DIR}
GST_POSTBUILD_DIR=${gst_${GST_PLUGIN}_GST_POSTBUILD_DIR}

.if !target(do-build)
do-build:
.for dir in ${GST_PREBUILD_DIR} ${GST_PLUGIN_DIR} ${GST_POSTBUILD_DIR}
	@cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
		${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}
.endfor
.endif

.if !target(do-install)
do-install:
.for dir in ${GST_PLUGIN_DIR}
	@cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
		${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}
.endfor
.endif
.endif
OpenPOWER on IntegriCloud