summaryrefslogtreecommitdiffstats
path: root/multimedia/gstreamer-plugins/Makefile.common
blob: 2065b1de8f3f2eef5327b55e897ddddcbb7604ae (plain) (blame)
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
# $FreeBSD: ports/multimedia/gstreamer-plugins/Makefile.common,v 1.34 2006/06/09 20:24:02 ahze Exp $
#    $MCom: ports/multimedia/gstreamer-plugins/Makefile.common,v 1.55 2006/06/25 17:45:40 marcus Exp $
# base
BASE_GST_ALL_PLUGINS= \
        alsa \
        cdparanoia \
        gnomevfs \
        libvisual \
        ogg \
        pango \
        theora \
        vorbis
# bad
BAD_GST_ALL_PLUGINS+= \
        amrwb \
        bz2 \
        directfb \
        divx \
        dts \
        faac \
        faad \
        gsm \
        ivorbis \
        libmms \
        musepack \
        musicbrainz \
        neon \
        sdl \
        soundtouch \
        swfdec \
        xvid \
        wavpack
#       throra

# good
GOOD_GST_ALL_PLUGINS+= \
        aalib \
        annodex \
        cairo \
        cdio \
        dv \
        esd \
        flac \
        gconf \
        gdk_pixbuf \
        hal \
        jpeg \
        ladspa \
        libcaca \
        libpng \
        raw1394 \
        shout2 \
        speex \
        taglib
# Ugly
UGLY_GST_ALL_PLUGINS+= \
        a52dec \
        amrnb \
        dvdnav \
        dvdread \
        lame \
        mad \
        mpeg2dec \
        sidplay

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-amrnb \
        --disable-alsa \
        --disable-http \
        --enable-cdrom \
        --disable-gconf \
        --disable-gconftool \
        --disable-schemas-install \
        --enable-oss \
        --disable-osx_audio \
        --disable-osx_video \
        --disable-tarkin \
        --enable-static \
        --disable-sunaudio \
        --disable-gst_v4l \
        --disable-gst_v4l2 \
        --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

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

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

# dts
gst_dts_BUILD_DEPENDS+= ${LOCALBASE}/lib/libdts.a:${PORTSDIR}/multimedia/libdts
gst_dts_PLIST_FILES=    ${GST_LIB_DIR}/libgstdtsdec.a \
        ${GST_LIB_DIR}/libgstdtsdec.la \
        ${GST_LIB_DIR}/libgstdtsdec.so
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_LIB_DEPENDS+=  faad.0:${PORTSDIR}/audio/faad
gst_faad_DIST=  bad

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

# gconf
gst_gconf_USE_GNOME+=   gconf2
gst_gconf_GST_PLUGIN_DIR=   ext/gconf \
        gconf
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

# 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

# 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_BUILD_DEPENDS+= ${LOCALBASE}/lib/libcaca.a:${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

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

# musepack
gst_musepack_LIB_DEPENDS+=  mpcdec.4:${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

# 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_GST_PLIST_SUFFIX=   videosink
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

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

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

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

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

# wavpack
gst_wavpack_LIB_DEPENDS+=   wavpack.0:${PORTSDIR}/audio/wavpack
gst_wavpack_DIST=   bad

.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}
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