aboutsummaryrefslogtreecommitdiff
path: root/Mk/Uses/fam.mk
blob: 35e70f5079a97d3ee3a6df6be5f926af11366c0e (plain) (blame)
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
# MAINTAINER: portmgr@FreeBSD.org
#
# Feature:	fam
# Usage:	USES=fam or USES=fam:ARG
# Valid ARG:	gamin, fam
#
# User-specified File Alteration Monitor wish:
# Usage:	WITH_FAM_SYSTEM=ARG
# Valid ARG:	gamin (default), fam
#
# Handle dependency on File Alteration Monitor

.if !defined(_INCLUDE_USES_FAM_MK)
_INCLUDE_USES_FAM_MK=	yes

_fam_DEPENDS=	libfam.so.0:devel/fam
_gamin_DEPENDS=	libfam.so.0:devel/gamin

_FAM_SYSTEMS=	fam gamin
_DEFAULT_FAM=	gamin

.if exists(${LOCALBASE}/libexec/gam_server)
_HAVE_FAM=	gamin
.elif exists(${LOCALBASE}/bin/fam)
_HAVE_FAM=	fam
.endif

# Sanity checks
.if defined(WITH_FAM_SYSTEM) && defined(_HAVE_FAM) && ${_HAVE_FAM} != ${WITH_FAM_SYSTEM}
IGNORE=	FAM mismatch: ${_HAVE_FAM} is installed, but ${WITH_FAM_SYSTEM} desired
.endif

.if !empty(fam_ARGS)
.for _fam_ARGS in ${fam_ARGS}
.  if ! ${_FAM_SYSTEMS:M${_fam_ARGS}}
IGNORE=	Incorrect 'USES+= fam:${fam_ARGS}' usage: argument [${_fam_ARGS}] is not recognized
.  endif
.endfor
.  if defined(_HAVE_FAM) && ${_HAVE_FAM} != ${fam_ARGS}
IGNORE=	FAM mismatch: port wants to use ${fam_ARGS} while you have ${_HAVE_FAM}
.  endif
.  if defined(WITH_FAM_SYSTEM) && ${WITH_FAM_SYSTEM} != ${fam_ARGS}
IGNORE=	FAM mismatch: port wants to use ${fam_ARGS} while you wish to use ${WITH_FAM_SYSTEM}
.  endif
.endif

# Proceed
.if !empty(fam_ARGS)
_USE_FAM=	${fam_ARGS}
.elif defined(_HAVE_FAM)
_USE_FAM=	${_HAVE_FAM}
.elif defined(WITH_FAM_SYSTEM)
_USE_FAM=	${WITH_FAM_SYSTEM}
.else
_USE_FAM=	${_DEFAULT_FAM}
.endif

LIB_DEPENDS+=	${_${_USE_FAM}_DEPENDS}

.endif