diff options
author | Antoine Brodin <antoine@FreeBSD.org> | 2013-12-25 23:24:54 +0000 |
---|---|---|
committer | Antoine Brodin <antoine@FreeBSD.org> | 2013-12-25 23:24:54 +0000 |
commit | 6bf16e73115b4c62539ac4f0a4f6ccf1270eb26f (patch) | |
tree | ee77ed09c590859dab9052d7d463fe92a5da4610 /Mk | |
parent | bb898c06bd9eb7e7eee463b6c0f37877a897abb3 (diff) |
Notes
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/Uses/openal.mk | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/Mk/Uses/openal.mk b/Mk/Uses/openal.mk new file mode 100644 index 000000000000..6cf49a2a3919 --- /dev/null +++ b/Mk/Uses/openal.mk @@ -0,0 +1,90 @@ +# $FreeBSD$ +# +# Handle dependency on OpenAL +# +# MAINTAINER: portmgr@FreeBSD.org +# +# Feature: openal +# Usage: USES=openal or USES=openal:ARGS +# Valid ARGS: al, soft (default), si, alut +# +# User-specified OpenAL wish: +# Usage: WANT_OPENAL=ARG +# Valid ARG: soft (default), si +# +# +.if !defined(_INCLUDE_USES_OPENAL_MK) +_INCLUDE_USES_OPENAL_MK= yes + +_valid_ARGS= al si soft alut +_openal_ARGS= ${openal_ARGS:C/,/ /g} + +_si_DEPENDS= libopenal.so.0:${PORTSDIR}/audio/openal +_soft_DEPENDS= libopenal.so.1:${PORTSDIR}/audio/openal-soft +_alut_DEPENDS= libalut.so.1:${PORTSDIR}/audio/freealut + +_OPENAL_LIBS= si soft +_DEFAULT_OPENAL= soft + +.if exists(${LOCALBASE}/lib/libopenal.a) +_HAVE_OPENAL= si +.elif exists(${LOCALBASE}/bin/openal-info) +_HAVE_OPENAL= soft +.endif + +# Be friendly +.if ! defined(openal_ARGS) +_openal_ARGS= ${_DEFAULT_OPENAL} +.endif + +# Sanity checks +.if defined(WANT_OPENAL) && defined(_HAVE_OPENAL) && ${_HAVE_OPENAL} != ${WANT_OPENAL} +IGNORE= OpenAL mismatch: ${_HAVE_OPENAL} is installed, but ${WANT_OPENAL} desired +.endif + +.if defined(_openal_ARGS) +. for _arg in ${_openal_ARGS} +. if ! ${_valid_ARGS:M${_arg}} +IGNORE= Incorrect 'USES+= openal:${openal_ARGS}' usage: argument [${_arg}] is not recognized +. endif +. if ${_OPENAL_LIBS:M${_arg}} && ${_openal_ARGS:Mal} +IGNORE= Incorrect 'USES+= openal:${openal_ARGS}' usage: argument [${_arg}] cannot be used together with al +. endif +. if ${_OPENAL_LIBS:M${_arg}} && defined(_HAVE_OPENAL) && ${_HAVE_OPENAL} != ${_arg} +IGNORE= OpenAL mismatch: port wants to use ${_arg} while you have ${_HAVE_OPENAL} +. endif +. if ${_OPENAL_LIBS:M${_arg}} && defined(WANT_OPENAL) && ${WANT_OPENAL} != ${_arg} +IGNORE= OpenAL mismatch: port wants to use ${_arg} while you wish to use ${WANT_OPENAL} +. endif +. if ${_OPENAL_LIBS:M${_arg}} +. for _carg in ${_OPENAL_LIBS:N${_arg}} +. if ${_openal_ARGS:M${_carg}} +IGNORE= Incorrect 'USES+= openal:${openal_ARGS}' usage: arguments [${_arg}] and [${_carg}] cannot be used together +. endif +. endfor +. endif +. endfor +.endif + +# Proceed +_USE_OPENAL= + +.if ${_openal_ARGS:Mal} +.if defined(_HAVE_OPENAL) +_USE_OPENAL= ${_HAVE_OPENAL} +.elif defined(WANT_OPENAL) +_USE_OPENAL= ${WANT_OPENAL} +.else +_USE_OPENAL= ${_DEFAULT_OPENAL} +.endif +.endif + +.for _arg in ${_openal_ARGS:Nal} +_USE_OPENAL+= ${_arg} +.endfor + +.for _arg in ${_USE_OPENAL} +LIB_DEPENDS+= ${_${_arg}_DEPENDS} +.endfor + +.endif |