summaryrefslogblamecommitdiffstats
path: root/multimedia/gstreamer-plugins/Makefile.common
blob: ea2c4e76a76ee481b11df0f9092a2bca4374b4d0 (plain) (tree)












































                            
                                             












                                                

                                 
      
      









































                                                                        
                                                          


















                                                                                   


                                                 


                                              
            

      





                                               







                                                             
                                    
            

      


                                                 











                                             
           




                                             
           









                                             
                           
                     
                                      
                                                     





                                  
            




                                           
           

      


                                                        
           




                                                









                                                                      
            

      





                                                                       

                           
                                            
                                           
           

      


                                              

                                           

      


                                                       
            





                                                    
            

      


                                                       
            

      


                                                    
           




                                              
                                    
            




                          
            

      



                                 
           

      








                                                      
            






                                               


                                                         
            





                                                    
                                                         
            

      


                                                   














                                 

      



                                                                                  









                                                                            
      
# base
BASE_GST_ALL_PLUGINS= \
        alsa \
        cdparanoia \
        gnomevfs \
        libvisual \
        ogg \
        pango \
        theora \
        vorbis
# bad
BAD_GST_ALL_PLUGINS+= \
        directfb \
        faac \
        faad \
        gsm \
        ivorbis \
        libmms \
        musepack \
        sdl \
        wavpack
# good
GOOD_GST_ALL_PLUGINS+= \
        aalib \
        cairo \
        dv \
        esd \
        flac \
        gconf \
        jpeg \
        ladspa \
        libcaca \
        libpng \
        raw1394 \
        shout2 \
        speex
# Ugly
UGLY_GST_ALL_PLUGINS+= \
        a52dec \
        amrnb \
        lame \
        mad \
        mpeg2dec \
        sidplay

.if 0 # SOME ONE MAKE THIS FREAKING WORK!!!!!
.if ${BASE_GST_ALL_PLUGINS:M${GST_PLUGIN}}!=""
EXTRACT_ONLY=${BASE_DISTFILE}
WRKSRC=${WRKDIR}/${BASE_DISTNAME}
.elif ${BAD_GST_ALL_PLUGINS:M${GST_PLUGIN}}!=""
EXTRACT_ONLY=${BAD_DISTFILE}
WRKSRC=${WRKDIR}/${BAD_DISTNAME}
.elif ${GOOD_GST_ALL_PLUGINS:M${GST_PLUGIN}}!=""
EXTRACT_ONLY=${GOOD_DISTFILE}
WRKSRC=${WRKDIR}/${GOOD_DISTNAME}
.elif ${UGLY_GST_ALL_PLUGINS:M${GST_PLUGIN}}!=""
EXTRACT_ONLY=${UGLY_DISTFILE}
WRKSRC=${WRKDIR}/${UGLY_DISTNAME}
.else
EXTRACT_ONLY=${BASE_DISTFILE}
WRKSRC=${WRKDIR}/${BASE_DISTNAME}
.endif
.endif

GST_ALL_PLUGINS=    ${BASE_GST_ALL_PLUGINS} ${BAD_GST_ALL_PLUGINS} \
            ${GOOD_GST_ALL_PLUGINS} ${UGLY_ALL_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

# spc is broken a the moment
#.if (${ARCH} == "i386")
#BUILD_DEPENDS+=    nasm:${PORTSDIR}/devel/nasm
#CONFIGURE_ARGS+=--enable-spc
#PLIST_SUB+=    SPC=""
#.else
CONFIGURE_ARGS+=--disable-spc
PLIST_SUB+= SPC="@comment "
#.endif

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

COMMENT=    Gstreamer ${GST_PLUGIN} plugin

# Enable the right plugin

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

# Build/Install directory. defaults to ext/${GST_PLUGIN}
#   few plugins are in sys/
GST_PLUGIN_DIR?=    ext/${GST_PLUGIN}

#
GST_LIB_DIR=        lib/gstreamer-${VERSION}

# Auto create PLIST
PLIST=      ${NONEXISTENT}
PLIST_FILES?=   ${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.so

# hack around WRKSRC stuff near the top... fix me
DIST?=  good

# a52dec
.if ${GST_PLUGIN}=="a52dec"
LIB_DEPENDS+=   a52.0:${PORTSDIR}/audio/liba52
DIST=   ugly
.endif

# aalib
.if ${GST_PLUGIN}=="aalib"
LIB_DEPENDS+=   aa.1:${PORTSDIR}/graphics/aalib
PLIST_FILES=    ${GST_LIB_DIR}/libgstaasink.so
.endif

# cairo
.if ${GST_PLUGIN}=="cairo"
LIB_DEPENDS+=   cairo.2:${PORTSDIR}/graphics/cairo
.endif

# cdparanoia
.if ${GST_PLUGIN}=="cdparanoia"
LIB_DEPENDS+=   cdda_interface.0:${PORTSDIR}/audio/cdparanoia
EXTRA_LIBS+=    -lgstcdda-${VERSION}
DIST=   base
.endif

# dv
.if ${GST_PLUGIN}=="dv"
LIB_DEPENDS+=   dv.4:${PORTSDIR}/multimedia/libdv
.endif

# esound
.if ${GST_PLUGIN}=="esound"
USE_GNOME+= esound
GST_PLUGIN_DIR= ext/esd
PLIST_FILES=    ${GST_LIB_DIR}/libgstesd.so
.endif

# faac
.if ${GST_PLUGIN}=="faac"
LIB_DEPENDS+=   faac.0:${PORTSDIR}/audio/faac
DIST=   bad
.endif

# faad
.if ${GST_PLUGIN}=="faad"
LIB_DEPENDS+=   faad.0:${PORTSDIR}/audio/faad
DIST=   bad
.endif

# flac
.if ${GST_PLUGIN}=="flac"
LIB_DEPENDS+=   FLAC.7:${PORTSDIR}/audio/flac
.endif

# gconf
.if ${GST_PLUGIN}=="gconf"
USE_GNOME+= gconf2
GST_PLUGIN_DIR= ext/gconf \
        gconf
GCONF_SCHEMAS=  gstreamer-0.10.schemas
PLIST_FILES=    ${GST_LIB_DIR}/libgstgconfelements.so
.endif

# gnomevfs
.if ${GST_PLUGIN}=="gnomevfs"
USE_GNOME+= gnomevfs2
CONFIGURE_ARGS+=--enable-gnome_vfs
DIST=   base
.endif

# gsm
.if ${GST_PLUGIN}=="gsm"
LIB_DEPENDS+=   gsm.1:${PORTSDIR}/audio/gsm
DIST=   bad
.endif

# ivorbis
.if ${GST_PLUGIN}=="ivorbis"
LIB_DEPENDS+=   vorbisidec.1:${PORTSDIR}/audio/libtremor
DIST=   bad
.endif

# jpeg
.if ${GST_PLUGIN}=="jpeg"
LIB_DEPENDS+=   jpeg.9:${PORTSDIR}/graphics/jpeg
.endif

# ladspa
.if ${GST_PLUGIN}=="ladspa"
BUILD_DEPENDS+= ${LOCALBASE}/include/ladspa.h:${PORTSDIR}/audio/ladspa
.endif

# lame
.if ${GST_PLUGIN}=="lame"
LIB_DEPENDS+=   mp3lame.0:${PORTSDIR}/audio/lame
DIST=   ugly
.endif

# libcaca
.if ${GST_PLUGIN}=="libcaca"
BUILD_DEPENDS+= ${LOCALBASE}/lib/libcaca.a:${PORTSDIR}/graphics/libcaca
PLIST_FILES=    ${GST_LIB_DIR}/libgstcacasink.so
.endif

# libmms
.if ${GST_PLUGIN}=="libmms"
LIB_DEPENDS+=   mms.0:${PORTSDIR}/net/libmms
PLIST_FILES=    ${GST_LIB_DIR}/libgstmms.so
DIST=   bad
.endif

# libpng and the snapshot plugin
.if ${GST_PLUGIN}=="libpng"
LIB_DEPENDS+=   png.5:${PORTSDIR}/graphics/png
GST_PLUGIN_DIR= ext/libpng
PLIST_FILES=    ${GST_LIB_DIR}/libgstpng.so
.endif

# libvisual
.if ${GST_PLUGIN}=="libvisual"
LIB_DEPENDS+=   visual.0:${PORTSDIR}/graphics/libvisual
DIST=   base
.endif

# mad
.if ${GST_PLUGIN}=="mad"
LIB_DEPENDS+=   mad.2:${PORTSDIR}/audio/libmad \
        id3tag.0:${PORTSDIR}/audio/libid3tag
DIST=   ugly
.endif

# mpeg2dec
.if ${GST_PLUGIN}=="mpeg2dec"
LIB_DEPENDS+=   mpeg2.0:${PORTSDIR}/multimedia/libmpeg2
DIST=   ugly
.endif

# musepack
.if ${GST_PLUGIN}=="musepack"
LIB_DEPENDS+=   mpcdec.3:${PORTSDIR}/audio/libmpcdec
DIST=   bad
.endif

# ogg
.if ${GST_PLUGIN}=="ogg"
LIB_DEPENDS+=   ogg.5:${PORTSDIR}/audio/libogg
EXTRA_LIBS+=    -lgstriff-${VERSION}
DIST=   base
.endif

# pango
.if ${GST_PLUGIN}=="pango"
USE_GNOME+= pango
DIST=   base
.endif

# sdl
.if ${GST_PLUGIN}=="sdl"
USE_SDL+=   sdl
GST_PLIST_SUFFIX=   videosink
DIST=   bad
.endif

# shout2
.if ${GST_PLUGIN}=="shout2"
LIB_DEPENDS+=   shout.5:${PORTSDIR}/audio/libshout2
.endif

# sidplay
.if ${GST_PLUGIN}=="sidplay"
LIB_DEPENDS+=   sidplay.1:${PORTSDIR}/audio/libsidplay
PLIST_FILES=    ${GST_LIB_DIR}/libgstsid.so
DIST=   ugly
.endif

# speex
.if ${GST_PLUGIN}=="speex"
LIB_DEPENDS+=   speex.3:${PORTSDIR}/audio/speex
.endif

# theora
.if ${GST_PLUGIN}=="theora"
LIB_DEPENDS+=   theora.1:${PORTSDIR}/multimedia/libtheora
DIST=   base
.endif

# vorbis
.if ${GST_PLUGIN}=="vorbis"
USE_GSTREAMER+= ogg
LIB_DEPENDS+=   vorbis.3:${PORTSDIR}/audio/libvorbis
EXTRA_LIBS+=    -lgsttag-${VERSION} -lgstaudio-${VERSION}
DIST=   base
.endif

# wavpack
.if ${GST_PLUGIN}=="wavpack"
LIB_DEPENDS+=   wavpack.0:${PORTSDIR}/audio/wavpack
DIST=   bad
.endif

.if ${DIST}=="base"
EXTRACT_ONLY=${BASE_DISTFILE}
WRKSRC=${WRKDIR}/${BASE_DISTNAME}
.elif ${DIST}=="bad"
EXTRACT_ONLY=${BAD_DISTFILE}
WRKSRC=${WRKDIR}/${BAD_DISTNAME}
.elif ${DIST}=="ugly"
EXTRACT_ONLY=${UGLY_DISTFILE}
WRKSRC=${WRKDIR}/${UGLY_DISTNAME}
.else
EXTRACT_ONLY=${GOOD_DISTFILE}
WRKSRC=${WRKDIR}/${GOOD_DISTNAME}
.endif

BUILD_DEPENDS+= gstreamer-plugins>=0.10.2:${PORTSDIR}/multimedia/gstreamer-plugins
RUN_DEPENDS+= gstreamer-plugins>=0.10.2:${PORTSDIR}/multimedia/gstreamer-plugins

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

do-install:
.for dir in ${GST_PLUGIN_DIR}
    @cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
        ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}
.endfor
.endif