1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-12 03:00:28 +00:00
freebsd-ports/net/opal/Makefile
2014-02-06 15:49:09 +00:00

307 lines
7.5 KiB
Makefile

# Created by: Roger Hardiman <roger@FreeBSD.org>
# $FreeBSD$
PORTNAME= opal
PORTVERSION= 3.10.10
PORTREVISION= 2
CATEGORIES= net
MASTER_SITES= GNOME
MAINTAINER= gnome@FreeBSD.org
COMMENT= VoIP abstraction library
LICENSE= MPL
LIB_DEPENDS= libpt.so:${PORTSDIR}/devel/ptlib
USE_XZ= yes
USES= gmake pathfix pkgconfig
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
CXXFLAGS+= -I${LOCALBASE}/include
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
OPTIONS_DEFINE= JAVA CELT ILBC GSM SPEEX THEORA FFMPEG X264 SIP H323 IAX \
H224 H281 FAX MSRP SIPIM RTPTEXT H450 H460 H501 LID UVIDEO \
AEC DEBUG RUBY
# ZRTP
# MSRP = plist extra line vpd?
# RTPTEXT disable == build fail, so make it default?
OPTIONS_DEFAULT=CELT GSM SPEEX FFMPEG X264 SIP H224 H281 FAX MSRP SIPIM \
RTPTEXT LID AEC
DEBUG_DESC= Install debug library
ZRTP_DESC= ZRTP protocol support
JAVA_DESC= Java JNI support
RUBY_DESC= Ruby support
CELT_DESC= Celt codec from ports
ILBC_DESC= iLBC codec from ports
GSM_DESC= GSM 06.10 codec from ports
SPEEX_DESC= SPEEX codec from ports
THEORA_DESC= Theora codec support
FFMPEG_DESC= Ffmpeg codec support
X264_DESC= x.264 codec support
SIP_DESC= SIP protocol support
H323_DESC= H.323 protocol support
IAX_DESC= IAX2 protocol support
H224_DESC= H.224 control protocol
H281_DESC= H.281 (Far End Camera Control) protocol support
FAX_DESC= Fax T.38 support
MSRP_DESC= MSRP protocol
SIPIM_DESC= SIP-IM protocol
RTPTEXT_DESC= RFC4103 Text RTP payload support
H450_DESC= H.450 H.323 subset
H460_DESC= H.460 H.323 extension for NAT traversal
H501_DESC= H.501 H323 mobility extensions
LID_DESC= Light-Weight Identity (incl. xJack cards and voicetronix vpb) support
UVIDEO_DESC= RFC4175 uncompressed video RTP payload
AEC_DESC= Accoustic echo cancellation
.include <bsd.port.options.mk>
.ifdef OPALDIR
.error OPALDIR is defined as an environment variable, or in the arguments \
to "make". Please unset it and restart the build.
.endif
PLIST_SUB+= VERSION=${PORTVERSION} \
PVERSION_MAJOR=${PVERSION_MAJOR} \
PVERSION_MINOR=${PVERSION_MINOR}
PVERSION_MAJOR= ${PORTVERSION:C/.[0-9]+.[0-9]+$//g}
PVERSION_MINOR= ${PORTVERSION:C/.[0-9]+$//g}
.if ${PORT_OPTIONS:MDEBUG}
ALL_TARGET= debug opt
PLIST_SUB+= DEBUG=""
.else
ALL_TARGET= opt
PLIST_SUB+= DEBUG="@comment "
.endif
# libzrtpcpp uses port ssl, which will conflict with this port since we use
# base ssl.
#.if ${PORT_OPTIONS:MZRTP}
.if 0
.if !defined(SAFE_ZRTP)
IGNORE= please build devel/libzrtpcpp WITHOUT ports SSL and re-run build with SAFE_ZRTP set
.endif
LIB_DEPENDS+= libzrtpcpp.so:${PORTSDIR}/devel/libzrtpcpp
CONFIGURE_ARGS+= --enable-zrtp
.else
CONFIGURE_ARGS+= --disable-zrtp
.endif
.if ${PORT_OPTIONS:MGSM}
LIB_DEPENDS+= libgsm.so:${PORTSDIR}/audio/gsm
.else
CONFIGURE_ARGS+= --enable-localgsm
.endif
.if ${PORT_OPTIONS:MSPEEX}
LIB_DEPENDS+= libspeex.so:${PORTSDIR}/audio/speex
.else
CONFIGURE_ARGS+= --enable-localspeex
.endif
.if ${PORT_OPTIONS:MJAVA}
CONFIGURE_ARGS+= --enable-java
.else
CONFIGURE_ARGS+= --disable-java
.endif
.if ${PORT_OPTIONS:MRUBY}
CONFIGURE_ARGS+= --enable-ruby
.else
CONFIGURE_ARGS+= --disable-ruby
.endif
.if ${PORT_OPTIONS:MCELT}
LIB_DEPENDS+= libcelt0.so:${PORTSDIR}/audio/celt
CONFIGURE_ARGS+= --enable-celt
PLIST_SUB+= CELT=""
.else
CONFIGURE_ARGS+= --disable-celt
PLIST_SUB+= CELT="@comment "
.endif
.if ${PORT_OPTIONS:MILBC}
LIB_DEPENDS+= libilbc.so:${PORTSDIR}/net/ilbc
.else
CONFIGURE_ARGS+= --enable-localilbc
.endif
.if ${PORT_OPTIONS:MTHEORA}
LIB_DEPENDS+= libtheora.so:${PORTSDIR}/multimedia/libtheora
CONFIGURE_ARGS+= --enable-theora
PLIST_SUB+= THEORA=""
WITH_VIDEO= yes
.else
CONFIGURE_ARGS+= --disable-theora
PLIST_SUB+= THEORA="@comment "
.endif
.if ${PORT_OPTIONS:MX264} && ${PORT_OPTIONS:MFFMPEG}
LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/x264
CONFIGURE_ARGS+= --enable-x264
PLIST_SUB+= X264=""
WITH_VIDEO= yes
# work around some weirdness in plugins/configure where it looses the
# cflags/libs of x264
CONFIGURE_ENV+= X264_CFLAGS="`pkg-config --cflags x264`" \
X264_LIBS="`pkg-config --libs x264`"
.else
CONFIGURE_ARGS+= --disable-x264
PLIST_SUB+= X264="@comment "
.endif
.if ${PORT_OPTIONS:MFFMPEG}
LIB_DEPENDS+= libavcodec0.so:${PORTSDIR}/multimedia/ffmpeg0
CONFIGURE_ARGS+= --enable-libavcodec
CONFIGURE_ENV+= LIBAVCODEC_LIBS="-lavcodec0" \
LIBAVCODEC_CFLAGS="-I${LOCALBASE}/include/ffmpeg0" \
LIBAVUTIL_LIBS="-lavutil0" \
LIBAVUTIL_CFLAGS="-I${LOCALBASE}/include/ffmpeg0"
CFLAGS+= -I${LOCALBASE}/include/ffmpeg0
PLIST_SUB+= FFMPEG=""
WITH_VIDEO= yes
.else
CONFIGURE_ARGS+= --disable-libavcodec
PLIST_SUB+= FFMPEG="@comment "
.endif
WITH_VIDEO=yes
.if defined(WITH_VIDEO)
CONFIGURE_ARGS+= --enable-video
PLIST_SUB+= VIDEO=""
.else
CONFIGURE_ARGS+= --disable-video
PLIST_SUB+= VIDEO="@comment "
.endif
.if ${PORT_OPTIONS:MSIP}
CONFIGURE_ARGS+= --enable-sip
.else
CONFIGURE_ARGS+= --disable-sip
.endif
.if ${PORT_OPTIONS:MH323}
CONFIGURE_ARGS+= --enable-h323
.else
CONFIGURE_ARGS+= --disable-h323
.endif
.if ${PORT_OPTIONS:MIAX}
CONFIGURE_ARGS+= --enable-iax2
.else
CONFIGURE_ARGS+= --disable-iax2
.endif
.if ${PORT_OPTIONS:MH224}
CONFIGURE_ARGS+= --enable-h224
.else
CONFIGURE_ARGS+= --disable-h224
.endif
.if ${PORT_OPTIONS:MH281}
CONFIGURE_ARGS+= --enable-h281
.else
CONFIGURE_ARGS+= --disable-h281
.endif
# keep version in lib_depend, to see the difference between spandsp-devel and normal
.if ${PORT_OPTIONS:MFAX}
LIB_DEPENDS+= libspandsp.so.2:${PORTSDIR}/comms/spandsp-devel
CONFIGURE_ARGS+= --enable-spandsp --enable-fax --enable-t38
PLIST_SUB+= FAX=""
.else
CONFIGURE_ARGS+= --disable-fax --disable-t38 --disable-spandsp
PLIST_SUB+= FAX="@comment "
.endif
.if ${PORT_OPTIONS:MMSRP}
CONFIGURE_ARGS+= --enable-msrp
##BROKEN= Does not compile
.else
CONFIGURE_ARGS+= --disable-msrp
.endif
.if ${PORT_OPTIONS:MSIPIM}
CONFIGURE_ARGS+= --enable-sipim
.else
CONFIGURE_ARGS+= --disable-sipim
.endif
.if ${PORT_OPTIONS:MRTPTEXT}
CONFIGURE_ARGS+= --enable-rfc4103
.else
CONFIGURE_ARGS+= --disable-rfc4103
.endif
.if ${PORT_OPTIONS:MH450}
CONFIGURE_ARGS+= --enable-h450
.else
CONFIGURE_ARGS+= --disable-h450
.endif
.if ${PORT_OPTIONS:MH460}
CONFIGURE_ARGS+= --enable-h460
.else
CONFIGURE_ARGS+= --disable-h460
.endif
.if ${PORT_OPTIONS:MH501}
CONFIGURE_ARGS+= --enable-h501
.else
CONFIGURE_ARGS+= --disable-h501
.endif
.if ${PORT_OPTIONS:MLID}
CONFIGURE_ARGS+= --enable-lid --enable-ixj --enable-vpb
PLIST_SUB+= LID=""
.else
CONFIGURE_ARGS+= --disable-lid --disable-ixj --disable-vpb
PLIST_SUB+= LID="@comment "
.endif
.if ${PORT_OPTIONS:MUVIDEO}
CONFIGURE_ARGS+= --enable-rfc4175
.else
CONFIGURE_ARGS+= --disable-rfc4175
.endif
# xxxx
.if ${PORT_OPTIONS:MXXXX}
CONFIGURE_ARGS+= --enable-rfc2435
.else
CONFIGURE_ARGS+= --disable-rfc2435
.endif
.if ${PORT_OPTIONS:MAEC}
CONFIGURE_ARGS+= --enable-aec
.else
CONFIGURE_ARGS+= --disable-aec
.endif
# ??
CONFIGURE_ARGS+= --disable-debug
# configure flags not used
CONFIGURE_ARGS+= --disable-gsmamr \
--disable-ruby
post-install:
${LN} -sf libopal.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libopal.so.${PVERSION_MAJOR}
${LN} -sf libopal.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libopal.so.${PVERSION_MINOR}
.if ${PORT_OPTIONS:MDEBUG}
${LN} -sf libopal_d.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libopal_d.so.${PVERSION_MAJOR}
${LN} -sf libopal_d.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libopal_d.so.${PVERSION_MINOR}
.endif
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libopal.so.${PORTVERSION}
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/opal-${PORTVERSION}/codecs/video/h264_video_pwplugin_helper
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/opal-${PORTVERSION}/*/*.so
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/opal-${PORTVERSION}/*/*/*.so
.include <bsd.port.mk>