PORTNAME=	openal-soft
PORTVERSION=	1.21.0
CATEGORIES=	audio
MASTER_SITES=	https://openal-soft.org/openal-releases/

MAINTAINER=	multimedia@FreeBSD.org
COMMENT=	Software implementation of the OpenAL specification

LICENSE=	LGPL20+
LICENSE_FILE=	${WRKSRC}/COPYING

LIB_DEPENDS=	libmysofa.so:audio/libmysofa

USES=		cmake compiler:c++14-lang tar:bzip2
USE_LDCONFIG=	yes

CMAKE_ARGS=	-DCMAKE_INSTALL_DATADIR:STRING="${PREFIX}/etc"
CMAKE_OFF=	ALSOFT_BACKEND_ALSA ALSOFT_DLOPEN ALSOFT_EXAMPLES \
		ALSOFT_REQUIRE_QSA ALSOFT_REQUIRE_SOLARIS
CMAKE_ON=	ALSOFT_BACKEND_WAVE ALSOFT_UTILS

# do not link with librt and libdl.
LDFLAGS+=	-Wl,--as-needed
LDFLAGS_i386=	-Wl,-z,notext

PLIST_SUB=	SOVERSION=${PORTVERSION}

OPTIONS_DEFINE=		CONFIG EXAMPLES JACK OSS PORTAUDIO PULSEAUDIO SDL SNDIO
OPTIONS_DEFAULT=	OSS
OPTIONS_SUB=		yes

CONFIG_DESC=	Install configuration utility (needs Qt 5)

CONFIG_USES=		qt:5
CONFIG_USE=		QT=core,gui,widgets,buildtools_build,qmake_build
CONFIG_CMAKE_BOOL_OFF=	ALSOFT_NO_CONFIG_UTIL
CONFIG_CMAKE_ON=	-DALSOFT_NO_QT5:BOOL=OFF

JACK_LIB_DEPENDS=	libjack.so:audio/jack
JACK_CMAKE_BOOL=	ALSOFT_BACKEND_JACK ALSOFT_REQUIRE_JACK

OSS_CMAKE_BOOL=	ALSOFT_BACKEND_OSS ALSOFT_REQUIRE_OSS

PORTAUDIO_LIB_DEPENDS=	libportaudio.so:audio/portaudio
PORTAUDIO_CMAKE_BOOL=	ALSOFT_BACKEND_PORTAUDIO ALSOFT_REQUIRE_PORTAUDIO

PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
PULSEAUDIO_CMAKE_BOOL=	ALSOFT_BACKEND_PULSEAUDIO ALSOFT_REQUIRE_PULSEAUDIO

SDL_USES=	localbase sdl
SDL_USE=	SDL=sdl2
SDL_CMAKE_BOOL=	ALSOFT_BACKEND_SDL2 ALSOFT_REQUIRE_SDL2

SNDIO_LIB_DEPENDS=	libsndio.so:audio/sndio
SNDIO_CMAKE_BOOL=	ALSOFT_BACKEND_SNDIO ALSOFT_REQUIRE_SNDIO

post-patch:
	@${REINPLACE_CMD} 's|/etc/openal|${ETCDIR}|' \
		${WRKSRC}/alc/alconfig.cpp

post-install-EXAMPLES-on:
	(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . \
		${STAGEDIR}${EXAMPLESDIR})

.include <bsd.port.mk>
