Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 100 lines (91 sloc) 3.193 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
# $NetBSD: oss.builtin.mk,v 1.2 2006/04/06 06:23:06 reed Exp $

BUILTIN_PKG:= oss

BUILTIN_FIND_LIBS:= ossaudio
BUILTIN_FIND_FILES_VAR:= H_SOUNDCARD
BUILTIN_FIND_FILES.H_SOUNDCARD= /usr/include/soundcard.h \
/usr/include/sys/soundcard.h

.include "../../mk/buildlink3/bsd.builtin.mk"

###
### Determine if there is a built-in implementation of the package and
### set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
###
.if !defined(IS_BUILTIN.oss)
IS_BUILTIN.oss= no
. if empty(H_SOUNDCARD:M${LOCALBASE}/*) && empty(H_SOUNDCARD:M__nonexistent__)
IS_BUILTIN.oss= yes
. endif
.endif
MAKEVARS+= IS_BUILTIN.oss

###
### Determine whether we should use the built-in implementation if it
### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no").
###
.if !defined(USE_BUILTIN.oss)
# XXX
# XXX OSS support must always be native as it's provided by the OS.
# XXX
PREFER.oss= native
. if ${PREFER.oss} == "pkgsrc"
USE_BUILTIN.oss= no
. else
USE_BUILTIN.oss= ${IS_BUILTIN.oss}
. if defined(BUILTIN_PKG.oss) && \
!empty(IS_BUILTIN.oss:M[yY][eE][sS])
USE_BUILTIN.oss= yes
. for _dep_ in ${BUILDLINK_API_DEPENDS.oss}
. if !empty(USE_BUILTIN.oss:M[yY][eE][sS])
USE_BUILTIN.oss!= \
if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.oss:Q}; then \
${ECHO} yes; \
else \
${ECHO} no; \
fi
. endif
. endfor
. endif
. endif # PREFER.oss
.endif
MAKEVARS+= USE_BUILTIN.oss

###
### The section below only applies if we are not including this file
### solely to determine whether a built-in implementation exists.
###
CHECK_BUILTIN.oss?= no
.if !empty(CHECK_BUILTIN.oss:M[nN][oO])

. if !empty(USE_BUILTIN.oss:M[yY][eE][sS])
BUILDLINK_PREFIX.oss= /usr
. if !empty(BUILTIN_LIB_FOUND.ossaudio:M[yY][eE][sS])
BUILDLINK_LDADD.oss= -lossaudio
. else
BUILDLINK_LDADD.oss= # empty
BUILDLINK_TRANSFORM+= rm:-lossaudio
. endif
. endif

# Many OSS-aware programs expect <soundcard.h> to be found as either
# <sys/soundcard.h> or <machine/soundcard.h>, so create a dummy version.
# Also include <sys/ioctl.h> prior to including <soundcard.h> since we
# need definitions for _IOWR and friends.
#
BUILDLINK_TARGETS+= buildlink-oss-soundcard-h
.PHONY: buildlink-oss-soundcard-h
buildlink-oss-soundcard-h:
${_PKG_SILENT}${_PKG_DEBUG} \
sys_soundcard_h=${BUILDLINK_DIR}/include/sys/soundcard.h; \
soundcard_h=${BUILDLINK_PREFIX.oss}/include/soundcard.h; \
if ${TEST} ! -f $${sys_soundcard_h} -a -f $${soundcard_h}; then \
${ECHO_BUILDLINK_MSG} "Creating $${sys_soundcard_h}."; \
${MKDIR} `${DIRNAME} $${sys_soundcard_h}`; \
( ${ECHO} "#ifndef BUILDLINK_SYS_SOUNDCARD_H"; \
${ECHO} "#define BUILDLINK_SYS_SOUNDCARD_H"; \
${ECHO} "#include <sys/ioctl.h>"; \
${ECHO} "#include <soundcard.h>"; \
${ECHO} "#endif"; \
) > $${sys_soundcard_h}; \
fi; \
mach_soundcard_h=${BUILDLINK_DIR}/include/machine/soundcard.h; \
if ${TEST} ! -f $${mach_soundcard_h} -a -f $${sys_soundcard_h}; then \
${ECHO_BUILDLINK_MSG} "Creating $${mach_soundcard_h}."; \
${MKDIR} `${DIRNAME} $${mach_soundcard_h}`; \
${LN} -s $${sys_soundcard_h} $${mach_soundcard_h}; \
fi

.endif # CHECK_BUILTIN.oss
Something went wrong with that request. Please try again.