Sync Mk with ports
[dports.git] / Mk / Uses / fam.mk
1 # $FreeBSD$
2 #
3 # MAINTAINER: portmgr@FreeBSD.org
4 #
5 # Feature:      fam
6 # Usage:        USES=fam or USES=fam:ARG
7 # Valid ARG:    gamin, fam
8 #
9 # User-specified File Alteration Monitor wish:
10 # Usage:        WITH_FAM_SYSTEM=ARG
11 # Valid ARG:    gamin (default), fam
12 #
13 # Handle dependency on File Alteration Monitor
14
15 .if !defined(_INCLUDE_USES_FAM_MK)
16 _INCLUDE_USES_FAM_MK=   yes
17
18 _fam_DEPENDS=   libfam.so.0:devel/fam
19 _gamin_DEPENDS= libfam.so.0:devel/gamin
20
21 _FAM_SYSTEMS=   fam gamin
22 _DEFAULT_FAM=   gamin
23
24 .if exists(${LOCALBASE}/libexec/gam_server)
25 _HAVE_FAM=      gamin
26 .elif exists(${LOCALBASE}/bin/fam)
27 _HAVE_FAM=      fam
28 .endif
29
30 # Sanity checks
31 .if defined(WITH_FAM_SYSTEM) && defined(_HAVE_FAM) && ${_HAVE_FAM} != ${WITH_FAM_SYSTEM}
32 IGNORE= FAM mismatch: ${_HAVE_FAM} is installed, but ${WITH_FAM_SYSTEM} desired
33 .endif
34
35 .if !empty(fam_ARGS)
36 .for _fam_ARGS in ${fam_ARGS}
37 .  if ! ${_FAM_SYSTEMS:M${_fam_ARGS}}
38 IGNORE= Incorrect 'USES+= fam:${fam_ARGS}' usage: argument [${_fam_ARGS}] is not recognized
39 .  endif
40 .endfor
41 .  if defined(_HAVE_FAM) && ${_HAVE_FAM} != ${fam_ARGS}
42 IGNORE= FAM mismatch: port wants to use ${fam_ARGS} while you have ${_HAVE_FAM}
43 .  endif
44 .  if defined(WITH_FAM_SYSTEM) && ${WITH_FAM_SYSTEM} != ${fam_ARGS}
45 IGNORE= FAM mismatch: port wants to use ${fam_ARGS} while you wish to use ${WITH_FAM_SYSTEM}
46 .  endif
47 .endif
48
49 # Proceed
50 .if !empty(fam_ARGS)
51 _USE_FAM=       ${fam_ARGS}
52 .elif defined(_HAVE_FAM)
53 _USE_FAM=       ${_HAVE_FAM}
54 .elif defined(WITH_FAM_SYSTEM)
55 _USE_FAM=       ${WITH_FAM_SYSTEM}
56 .else
57 _USE_FAM=       ${_DEFAULT_FAM}
58 .endif
59
60 LIB_DEPENDS+=   ${_${_USE_FAM}_DEPENDS}
61
62 .endif