[Midnightbsd-cvs] mports [15808] trunk/Mk: move ldap and openal to separate modules.
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Wed Jan 1 11:57:13 EST 2014
Revision: 15808
http://svnweb.midnightbsd.org/mports/?rev=15808
Author: laffer1
Date: 2014-01-01 11:57:13 -0500 (Wed, 01 Jan 2014)
Log Message:
-----------
move ldap and openal to separate modules. update desktop categories list. reorder module load to be alphabetical for items we probably can do this with.
Modified Paths:
--------------
trunk/Mk/bsd.mport.mk
Added Paths:
-----------
trunk/Mk/extensions/ldap.mk
trunk/Mk/extensions/openal.mk
Modified: trunk/Mk/bsd.mport.mk
===================================================================
--- trunk/Mk/bsd.mport.mk 2014-01-01 16:07:14 UTC (rev 15807)
+++ trunk/Mk/bsd.mport.mk 2014-01-01 16:57:13 UTC (rev 15808)
@@ -336,10 +336,10 @@
_ALL_EXT= charsetfix pathfix pkgconfig compiler kmod uidfix \
linux_rpm linux_apps xorg fortran \
gcc fmake fpc gmake bison local perl5 openssl \
- emacs gnustep php python java ruby tcl apache kde qt \
- autotools gnome lua wx gstreamer sdl xfce kde4 cmake mysql \
- pgsql bdb sqlite gecko scons ocaml efl gettext \
- fuse iconv imake ncurses
+ apache autotools bdb cmake efl emacs fuse \
+ gecko gettext gnome gnustep gstreamer iconv imake \
+ kde4 ldap lua mysql ncurses ocaml openal \
+ pgsql php python java qt ruby scons sdl sqlite tcl wx xfce
.for EXT in ${_ALL_EXT:U}
. if defined(USE_${EXT}) || defined(USE_${EXT}_RUN) || defined(USE_${EXT}_BUILD) || defined(WANT_${EXT}) || defined(_LOAD_${EXT}_EXT)
@@ -439,8 +439,6 @@
# Location of mounted CDROM(s) to search for files
CD_MOUNTPTS?= /cdrom ${CD_MOUNTPT}
-WANT_OPENLDAP_VER?= 24
-
# Owner and group of the WWW user
WWWOWN?= www
WWWGRP?= www
@@ -584,11 +582,7 @@
.endif
.endif
-.if defined(USE_IMAKE) && !defined(NO_INSTALL_MANPAGES)
-MANCOMPRESSED?= yes
-.else
MANCOMPRESSED?= no
-.endif
.if defined(PATCHFILES)
.if ${PATCHFILES:M*.zip}x != x
@@ -596,6 +590,9 @@
.endif
.endif
+.if defined(USE_LHA)
+EXTRACT_DEPENDS+= lha:${PORTSDIR}/archivers/lha
+.endif
.if defined(USE_ZIP)
EXTRACT_DEPENDS+= ${LOCALBASE}/bin/unzip:${PORTSDIR}/archivers/unzip
.endif
@@ -612,12 +609,12 @@
READELF SIZE STRINGS
BINUTILS_NO_MAKE_ENV?=
. for b in ${BINUTILS}
-${b}= ${LOCALBASE}/bin/${b:C/PP/++/:L}
+${b}= ${LOCALBASE}/bin/${b:C/PP/++/:L}
. if defined(GNU_CONFIGURE) || defined(BINUTILS_CONFIGURE)
-CONFIGURE_ENV+= ${b}="${${b}}"
+CONFIGURE_ENV+= ${b}="${${b}}"
. endif
. if ${BINUTILS_NO_MAKE_ENV:M${b}} == ""
-MAKE_ENV+= ${b}="${${b}}"
+MAKE_ENV+= ${b}="${${b}}"
. endif
. endfor
.endif
@@ -627,98 +624,6 @@
WANT_OPENLDAP_VER= ${USE_OPENLDAP_VER}
.endif
-.if defined(USE_OPENLDAP)
-.if defined(WANT_OPENLDAP_SASL)
-_OPENLDAP_FLAVOUR= -sasl
-.else
-_OPENLDAP_FLAVOUR=
-.endif
-.if ${WANT_OPENLDAP_VER} == 23
-LIB_DEPENDS+= ldap-2.3.2:${PORTSDIR}/net/openldap23${_OPENLDAP_FLAVOUR}-client
-.elif ${WANT_OPENLDAP_VER} == 24
-LIB_DEPENDS+= ldap-2.4.8:${PORTSDIR}/net/openldap24${_OPENLDAP_FLAVOUR}-client
-.else
-IGNORE= unknown OpenLDAP version: ${WANT_OPENLDAP_VER}
-.endif
-.endif
-
-.if defined(USE_OPENAL)
-_OPENAL_ALL= al si soft alut
-_OPENAL_LIBS= si soft
-# Default choice.
-_DEFAULT_OPENAL= soft
-
-_OPENAL_SOFT= openal.1:${PORTSDIR}/audio/openal-soft
-_OPENAL_SI= openal.0:${PORTSDIR}/audio/openal
-_OPENAL_ALUT= alut.1:${PORTSDIR}/audio/freealut
-
-.if exists(${LOCALBASE}/lib/libopenal.a)
-_HAVE_OPENAL= si
-.elif exists(${LOCALBASE}/bin/openal-info)
-_HAVE_OPENAL= soft
-.endif
-
-.if ${USE_OPENAL} == "yes"
-# Be friendly.
-USE_OPENAL= ${_DEFAULT_OPENAL}
-.endif
-
-__USED_OPENAL=
-_USE_OPENAL=
-.for component in ${USE_OPENAL}
-.if ${__USED_OPENAL:M${component}} == ""
-__USED_OPENAL+= ${component}
-
-.if ${_OPENAL_ALL:M${component}} == ""
-BROKEN= OPENAL mismatch: unknown component ${component}
-.elif ${_OPENAL_ALL:M${component}} == "al"
-
-# Check if the user wish matches the found OpenAL system.
-.if defined(WANT_OPENAL) && defined(_HAVE_OPENAL) && ${_HAVE_OPENAL} != ${WANT_OPENAL}
-BROKEN= OPENAL mismatch: ${_HAVE_OPENAL} is installed, but ${WANT_OPENAL} desired
-.endif # WANT_OPENAL
-
-.if defined(_HAVE_OPENAL)
-_OPENAL_SYSTEM= ${_HAVE_OPENAL}
-.elif defined(WANT_OPENAL)
-_OPENAL_SYSTEM= ${WANT_OPENAL}
-.else
-_OPENAL_SYSTEM= ${_DEFAULT_OPENAL}
-.endif # _HAVE_OPENAL
-
-_USE_OPENAL+= ${_OPENAL_${_OPENAL_SYSTEM:U}}
-
-.else # ${_OPENAL_ALL:M${component}} == ""
-
-.if ${_OPENAL_LIBS:M${component}} == ${component}
-# Check for the system implementation to use.
-.if defined(WANT_OPENAL) && ${WANT_OPENAL} != ${component}
-BROKEN= OPENAL mismatch: wants to use ${component}, while you wish to use ${WANT_OPENAL}
-.endif
-.if defined(_OPENAL_SYSTEM)
-BROKEN= OPENAL mismatch: cannot use ${component} and al together.
-.endif
-.if defined(_HAVE_OPENAL) && ${_HAVE_OPENAL} != ${component}
-BROKEN= OPENAL mismatch: wants to use ${component}, but ${_HAVE_OPENAL} is installed
-.endif
-
-_OPENAL_SYSTEM= ${component}
-
-.endif # ${_OPENAL_LIBS:M${component}} == ${component}
-
-_USE_OPENAL+= ${_OPENAL_${component:U}}
-
-.endif # ${_OPENAL_ALL:M${component}} == ""
-
-.endif # ${__USED_OPENAL:M${component} == ""
-.endfor # component in ${USE_OPENAL}
-
-.for dep in ${_USE_OPENAL}
-LIB_DEPENDS+= ${dep}
-.endfor
-
-.endif # USE_OPENAL
-
.if defined(USE_FAM)
DEFAULT_FAM_SYSTEM= gamin
# Currently supported FAM systems
@@ -1002,7 +907,7 @@
MAKEFILE?= Makefile
MAKE_ENV+= TARGETDIR=${TARGETDIR} DESTDIR=${DESTDIR} PREFIX=${PREFIX} \
LOCALBASE=${LOCALBASE_REL} \
- MOTIFLIB="${MOTIFLIB}" LIBDIR="${LIBDIR}" \
+ LIBDIR="${LIBDIR}" \
CC="${CC}" CFLAGS="${CFLAGS}" \
CPP="${CPP}" CPPFLAGS="${CPPFLAGS}" \
LDFLAGS="${LDFLAGS}" \
@@ -1022,6 +927,18 @@
CFLAGS:= ${CFLAGS:N-std=*} -std=${USE_CSTD}
.endif
+.if defined(CFLAGS_${ARCH})
+CFLAGS+= ${CFLAGS_${ARCH}}
+.endif
+
+.if defined(USE_CXXSTD)
+CXXFLAGS:= ${CXXFLAGS:N-std=*} -std=${USE_CXXSTD}
+.endif
+
+.if defined(CXXFLAGS_${ARCH})
+CXXFLAGS+= ${CXXFLAGS_${ARCH}}
+.endif
+
# Multiple make jobs support
.if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE)
_MAKE_JOBS= #
@@ -1044,7 +961,7 @@
PTHREAD_CFLAGS?=
PTHREAD_LIBS?= -pthread
-.if exists(/usr/bin/fetch)
+FETCH_ENV?= SSL_NO_VERIFY_PEER=1 SSL_NO_VERIFY_HOSTNAME=1
FETCH_BINARY?= /usr/bin/fetch
FETCH_ARGS?= -AFpr
FETCH_REGET?= 1
@@ -1051,11 +968,6 @@
.if !defined(DISABLE_SIZE)
FETCH_BEFORE_ARGS+= $${CKSIZE:+-S $$CKSIZE}
.endif
-.else
-FETCH_BINARY?= /usr/bin/ftp
-FETCH_ARGS?= -R
-FETCH_REGET?= 0
-.endif
FETCH_CMD?= ${FETCH_BINARY} ${FETCH_ARGS}
.if defined(RANDOMIZE_MASTER_SITES) && exists(/usr/games/random)
@@ -1164,12 +1076,12 @@
.if ${UID} == 0
COPYTREE_BIN= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \
2>&1) && \
- ${CHOWN} -R ${BINOWN}:${BINGRP} $$1 && \
+ ${CHOWN} -Rh ${BINOWN}:${BINGRP} $$1 && \
${FIND} -d $$0 $$2 -type d -exec chmod 755 $$1/{} \; && \
${FIND} -d $$0 $$2 -type f -exec chmod ${BINMODE} $$1/{} \;' --
COPYTREE_SHARE= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \
2>&1) && \
- ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} $$1 && \
+ ${CHOWN} -Rh ${SHAREOWN}:${SHAREGRP} $$1 && \
${FIND} -d $$0 $$2 -type d -exec chmod 755 $$1/{} \; && \
${FIND} -d $$0 $$2 -type f -exec chmod ${SHAREMODE} $$1/{} \;' --
.else
@@ -1225,10 +1137,9 @@
PKG_SUFX?= .mport
-MOTIFLIB?= -L${LOCALBASE}/lib -lXm -lXp
-
ALL_TARGET?= all
INSTALL_TARGET?= install
+INSTALL_TARGET+= ${LATE_INSTALL_ARGS}
# This is a mid-term solution patch while pkg-comment files are
# phased out.
@@ -4212,20 +4123,23 @@
for native_category in ${CATEGORIES}; do \
c=""; \
case $$native_category in \
- accessibility) c="Accessibility Utility" ;; \
- archivers) c="Archiving" ;; \
- astro) c="Astronomy Science Education" ;; \
- audio) c="Audio AudioVideo" ;; \
+ accessibility) c="Utility Accessibility" ;; \
+ archivers) c="Utility Archiving" ;; \
+ astro) c="Education Science Astronomy" ;; \
+ audio) c="AudioVideo Audio" ;; \
benchmarks) c="System" ;; \
biology) c="Biology Science Education" ;; \
- cad) c="Engineering" ;; \
- core) c="MidnightBSD Meta" ;; \
- databases) c="Database" ;; \
+ cad) c="Graphics Engineering" ;; \
+ core) c="System" ;; \
+ comms) c="Utility" ;; \
+ converters) c="Utility" ;; \
+ databases) c="Office Database" ;; \
deskutils) c="Utility" ;; \
devel) c="Development" ;; \
dns) c="Network" ;; \
elisp) c="Development" ;; \
- emulators) c="Emulator" ;; \
+ editors) c="Utility" ;; \
+ emulators) c="System Emulator" ;; \
finance) c="Finance Office" ;; \
ftp) c="FileTransfer Network" ;; \
games) c="Game" ;; \
@@ -4261,7 +4175,7 @@
www) c="Network" ;; \
x11-clocks) c="Clock Utility" ;; \
x11-fm) c="FileManager" ;; \
- xfce) c="GTK" ;; \
+ xfce) c="GTK XFCE" ;; \
zope) c="WebDevelopment Development" ;; \
esac; \
if [ -n "$$c" ]; then \
@@ -4274,24 +4188,35 @@
${ECHO_MSG}; \
fi
-VALID_DESKTOP_CATEGORIES+= Application Core Development Building Debugger IDE \
- GUIDesigner Profiling RevisionControl Translation Office Calendar \
- ContactManagement Database Dictionary Chart Email Finance FlowChart PDA \
- ProjectManagement Presentation Spreadsheet WordProcessor Graphics \
- 2DGraphics VectorGraphics RasterGraphics 3DGraphics Scanning OCR \
- Photography Viewer Settings DesktopSettings HardwareSettings \
- PackageManager Network Dialup InstantMessaging IRCClient FileTransfer \
- HamRadio News P2P RemoteAccess Telephony WebBrowser WebDevelopment \
- AudioVideo Audio Midi Mixer Sequencer Tuner Video TV AudioVideoEditing \
- Player Recorder DiscBurning Game ActionGame AdventureGame ArcadeGame \
- BoardGame BlocksGame CardGame KidsGame LogicGame RolePlaying Simulation \
- SportsGame StrategyGame Education Art Construction Music Languages \
- Science Astronomy Biology Chemistry Geology Math MedicalSoftware Physics \
- Teaching Amusement Applet Archiving Electronics Emulator Engineering \
- FileManager Shell Screensaver TerminalEmulator TrayIcon System Filesystem \
- Monitor Security Utility Accessibility Calculator Clock TextEditor KDE \
- GNOME GTK Qt Motif Java ConsoleOnly AdvancedSettings
+# http://standards.freedesktop.org/menu-spec/menu-spec-latest.html
+DESKTOP_CATEGORIES_MAIN= AudioVideo Audio Video Development Education \
+ Game Graphics Network Office Science Settings System Utility
+DESKTOP_CATEGORIES_ADDITIONAL= Building Debugger IDE GUIDesigner Profiling \
+ RevisionControl Translation Calendar ContactManagement Database \
+ Dictionary Chart Email Finance FlowChart PDA ProjectManagement \
+ Presentation Spreadsheet WordProcessor 2DGraphics VectorGraphics \
+ RasterGraphics 3DGraphics Scanning OCR Photography Publishing Viewer \
+ TextTools DesktopSettings HardwareSettings Printing PackageManager \
+ Dialup InstantMessaging Chat IRCClient Feed FileTransfer HamRadio News \
+ P2P RemoteAccess Telephony TelephonyTools VideoConference WebBrowser \
+ WebDevelopment Midi Mixer Sequencer Tuner TV AudioVideoEditing Player \
+ Recorder DiscBurning ActionGame AdventureGame ArcadeGame BoardGame \
+ BlocksGame CardGame KidsGame LogicGame RolePlaying Shooter Simulation \
+ SportsGame StrategyGame Art Construction Music Languages \
+ ArtificialIntelligence Astronomy Biology Chemistry ComputerScience \
+ DataVisualization Economy Electricity Geography Geology Geoscience \
+ History Humanities ImageProcessing Literature Maps Math \
+ NumericalAnalysis MedicalSoftware Physics Robotics Spirituality Sports \
+ ParallelComputing Amusement Archiving Compression Electronics Emulator \
+ Engineering FileTools FileManager TerminalEmulator Filesystem Monitor \
+ Security Accessibility Calculator Clock TextEditor Documentation Adult \
+ Core KDE GNOME MATE XFCE GTK Qt Motif Java ConsoleOnly
+DESKTOP_CATEGORIES_RESERVED= Screensaver TrayIcon Applet Shell
+VALID_DESKTOP_CATEGORIES+= ${DESKTOP_CATEGORIES_MAIN} \
+ ${DESKTOP_CATEGORIES_ADDITIONAL} \
+ ${DESKTOP_CATEGORIES_RESERVED}
+
check-desktop-entries:
.if defined(DESKTOP_ENTRIES)
@set -- ${DESKTOP_ENTRIES} XXX; \
@@ -4314,7 +4239,7 @@
if ${ECHO_CMD} "$$3" | ${GREP} -iq '.\(png\|svg\|xpm\)$$'; then \
if ! ${ECHO_CMD} "$$3" | ${GREP} -iq '^/'; then \
${ECHO_MSG} "${PKGNAME}: Makefile warning: in desktop entry $$entry: field 3 (Icon) should be either absolute path or icon name without extension if installed icons follow Icon Theme Specification"; \
- fi; \
+ fi; \
fi; \
if [ -z "$$4" ]; then \
${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 4 (Exec) is empty"; \
Added: trunk/Mk/extensions/ldap.mk
===================================================================
--- trunk/Mk/extensions/ldap.mk (rev 0)
+++ trunk/Mk/extensions/ldap.mk 2014-01-01 16:57:13 UTC (rev 15808)
@@ -0,0 +1,95 @@
+# $MidnightBSD$
+
+.if defined(_POSTMKINCLUDED) && !defined(Ldap_Post_Include)
+
+Ldap_Post_Include= ldap.mk
+Database_Include_MAINTAINER= ports at MidnightBSD.org
+
+# For including this file define macro USE_OPENLDAP. Defining macro like
+# USE_OPENLDAP_VER or WANT_OPENLDAP_VER will include this file too.
+#
+##
+# USE_OPENLDAP - Add OpenLDAP client dependency.
+# If no version is given (by the maintainer via the port or
+# by the user via defined variable), try to find the
+# currently installed version. Fall back to default if
+# necessary (OpenLDAP 2.4 = 24).
+# DEFAULT_OPENLDAP_VER
+# - OpenLDAP default version. Can be overriden within a port.
+# Default: 24.
+# WANT_OPENLDAP_VER
+# - Maintainer can set an arbitrary version of OpenLDAP by using it.
+# WANT_OPENLDAP_SASL
+# - If set, this port depends on SASL enabled OpenLDAP client.
+# IGNORE_OPENLDAP_OPENLDAP
+# - This variable can be defined if the ports doesn't support
+# one or more version of OpenLDAP.
+# WITH_OPENLDAP_VER
+# - User defined variable to set OpenLDAP version.
+# OPENLDAP_VER
+# - Detected OpenLDAP version.
+
+.if defined(USE_OPENLDAP)
+DEFAULT_OPENLDAP_VER?= 24
+# OpenLDAP client versions currently supported
+OPENLDAP23_LIBVER= 2.3.2
+OPENLDAP24_LIBVER= 2.4.8
+
+.if exists(${LOCALBASE}/bin/ldapwhoami)
+_OPENLDAP_VER!= ${LOCALBASE}/bin/ldapwhoami -VV 2>&1 | ${GREP} ldapwhoami | ${SED} -E 's/.*OpenLDAP: ldapwhoami (2)\.(3|4).*/\1\2/'
+.endif
+
+.if defined(WANT_OPENLDAP_VER)
+.if defined(WITH_OPENLDAP_VER) && ${WITH_OPENLDAP_VER} != ${WANT_OPENLDAP_VER}
+IGNORE= cannot install: the port wants openldap${WANT_OPENLDAP_VER}-client and you try to install openldap${WITH_OPENLDAP_VER}-client.
+.endif
+OPENLDAP_VER= ${WANT_OPENLDAP_VER}
+.elif defined(WITH_OPENLDAP_VER)
+OPENLDAP_VER= ${WITH_OPENLDAP_VER}
+.else
+.if defined(_OPENLDAP_VER)
+OPENLDAP_VER= ${_OPENLDAP_VER}
+.else
+OPENLDAP_VER= ${DEFAULT_OPENLDAP_VER}
+.endif
+.endif # WANT_OPENLDAP_VER
+
+.if defined(_OPENLDAP_VER)
+.if ${_OPENLDAP_VER} != ${OPENLDAP_VER}
+IGNORE= cannot install: OpenLDAP versions mismatch: openldap${_OPENLDAP_VER}-client is installed and wanted version is openldap${OPENLDAP_VER}-client
+.endif
+.endif
+
+CFLAGS+= -DLDAP_DEPRECATED
+
+_OPENLDAP_CLIENT_PKG!= ${PKG_INFO} -Ex openldap.\*-client 2>/dev/null; ${ECHO_CMD}
+_OPENLDAP_FLAVOUR= ${_OPENLDAP_CLIENT_PKG:C/openldap//:C/-client-.*//}
+
+.if defined(WANT_OPENLDAP_SASL)
+.if !empty(_OPENLDAP_CLIENT_PKG) && empty(_OPENLDAP_FLAVOUR)
+IGNORE= cannot install: SASL support requested and ${_OPENLDAP_CLIENT_PKG} is installed
+.endif
+_OPENLDAP_FLAVOUR= -sasl
+.endif
+
+# And now we are checking if we can use it
+.if defined(OPENLDAP${OPENLDAP_VER}_LIBVER)
+# compatability shim
+.if defined(BROKEN_WITH_OPENLDAP)
+IGNORE_WITH_OPENLDAP=${BROKEN_WITH_OPENLDAP}
+.endif
+.if defined(IGNORE_WITH_OPENLDAP)
+. for VER in ${IGNORE_WITH_OPENLDAP}
+. if (${OPENLDAP_VER} == "${VER}")
+IGNORE= cannot install: doesn't work with OpenLDAP version: ${OPENLDAP_VER} (Doesn't support OpenLDAP ${IGNORE_WITH_OPENLDAP})
+. endif
+. endfor
+.endif # IGNORE_WITH_OPENLDAP
+LIB_DEPENDS+= ldap-${OPENLDAP${OPENLDAP_VER}_LIBVER}:${PORTSDIR}/net/openldap${OPENLDAP_VER}${_OPENLDAP_FLAVOUR}-client
+.else
+IGNORE= cannot install: unknown OpenLDAP version: ${OPENLDAP_VER}
+.endif # Check for correct libs
+
+.endif # defined(USE_OPENLDAP)
+
+.endif # defined(_POSTMKINCLUDED) && !defined(Ldap_Post_Include)
Added: trunk/Mk/extensions/openal.mk
===================================================================
--- trunk/Mk/extensions/openal.mk (rev 0)
+++ trunk/Mk/extensions/openal.mk 2014-01-01 16:57:13 UTC (rev 15808)
@@ -0,0 +1,88 @@
+# $MidnightBSD$
+#
+# Handle dependency on OpenAL
+#
+# 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
More information about the Midnightbsd-cvs
mailing list