Merge from vendor branch TNF:
[pkgsrc.git] / mk / bsd.pkg.use.mk
1 #       $NetBSD: bsd.pkg.use.mk,v 1.22 2005/07/19 23:01:55 jlam Exp $
2 #
3 # Turn USE_* macros into proper depedency logic.  Included near the top of
4 # bsd.pkg.mk, after bsd.prefs.mk.
5
6 ############################################################################
7 # ${PREFIX} selection
8 ############################################################################
9
10 .if defined(USE_IMAKE) || !empty(USE_TOOLS:Mimake)
11 PLIST_SUBST+=           IMAKE_MAN_SOURCE_PATH=${IMAKE_MAN_SOURCE_PATH}
12 PLIST_SUBST+=           IMAKE_MAN_DIR=${IMAKE_MAN_DIR}
13 PLIST_SUBST+=           IMAKE_LIBMAN_DIR=${IMAKE_LIBMAN_DIR}
14 PLIST_SUBST+=           IMAKE_KERNMAN_DIR=${IMAKE_KERNMAN_DIR}
15 PLIST_SUBST+=           IMAKE_FILEMAN_DIR=${IMAKE_FILEMAN_DIR}
16 PLIST_SUBST+=           IMAKE_MISCMAN_DIR=${IMAKE_MISCMAN_DIR}
17 PLIST_SUBST+=           IMAKE_MAN_SUFFIX=${IMAKE_MAN_SUFFIX}
18 PLIST_SUBST+=           IMAKE_LIBMAN_SUFFIX=${IMAKE_LIBMAN_SUFFIX}
19 PLIST_SUBST+=           IMAKE_KERNMAN_SUFFIX=${IMAKE_KERNMAN_SUFFIX}
20 PLIST_SUBST+=           IMAKE_FILEMAN_SUFFIX=${IMAKE_FILEMAN_SUFFIX}
21 PLIST_SUBST+=           IMAKE_MISCMAN_SUFFIX=${IMAKE_MISCMAN_SUFFIX}
22 PLIST_SUBST+=           IMAKE_MANNEWSUFFIX=${IMAKE_MANNEWSUFFIX}
23 .endif
24
25 .if defined(USE_IMAKE)
26 USE_X11BASE?=           implied
27 INSTALL_TARGET+=        ${NO_INSTALL_MANPAGES:D:Uinstall.man}
28 MAKE_FLAGS+=            CC=${CC:Q} CXX=${CXX:Q}
29 .endif
30
31 .if defined(USE_X11BASE)
32 MTREE_FILE?=            ${PKGSRCDIR}/mk/platform/${OPSYS}.x11.dist
33 .  include "../../mk/x11.buildlink3.mk"
34 .endif
35
36 .if ${PKG_INSTALLATION_TYPE} == "pkgviews"
37 PREFIX=                 ${DEPOTBASE}/${PKGNAME}
38 NO_MTREE=               yes
39 .elif ${PKG_INSTALLATION_TYPE} == "overwrite"
40 .  if defined(INSTALLATION_PREFIX)
41 PREFIX=                 ${INSTALLATION_PREFIX}
42 .  elif defined(USE_X11BASE)
43 PREFIX=                 ${X11PREFIX}
44 .  elif defined(USE_CROSSBASE)
45 PREFIX=                 ${CROSSBASE}
46 NO_MTREE=               yes
47 .  else
48 PREFIX=                 ${LOCALBASE}
49 .  endif
50 .endif
51
52 .if (${PKG_INSTALLATION_TYPE} == "pkgviews") && defined(INSTALLATION_PREFIX)
53 PKG_SKIP_REASON=        "INSTALLATION_PREFIX can't be used in a pkgviews package"
54 .endif
55
56 ############################################################################
57 # General settings
58 ############################################################################
59
60 ### BUILD_USES_MSGFMT
61
62 .if defined(BUILD_USES_MSGFMT) && \
63     (!exists(/usr/bin/msgfmt) || ${_USE_GNU_GETTEXT} == "yes")
64 BUILD_DEPENDS+=         gettext>=0.10.35nb1:../../devel/gettext
65 .endif
66
67 ### PKG_USE_KERBEROS
68
69 .if defined(PKG_USE_KERBEROS)
70 CRYPTO?=                uses Kerberos encryption code
71 BUILD_DEFS+=            KERBEROS
72 .endif
73
74 ### USE_DIRS
75
76 USE_DIRS?=              # empty
77 .if !empty(USE_DIRS) && ${PKG_INSTALLATION_TYPE} == "overwrite"
78 .  include "../../mk/dirs.mk"
79 .endif
80
81 ### USE_LIBTOOL, PKG_[SH]LIBTOOL
82
83 #
84 # PKG_LIBTOOL is the path to the libtool script installed by libtool-base.
85 # _LIBTOOL is the path the libtool used by the build, which could be the
86 #       path to a libtool wrapper script.
87 # LIBTOOL is the publicly-readable variable that should be used by
88 #       Makefiles to invoke the proper libtool.
89 #
90 PKG_LIBTOOL?=           ${LOCALBASE}/bin/libtool
91 PKG_SHLIBTOOL?=         ${LOCALBASE}/bin/shlibtool
92 _LIBTOOL?=              ${PKG_LIBTOOL}
93 _SHLIBTOOL?=            ${PKG_SHLIBTOOL}
94 LIBTOOL?=               ${PKG_LIBTOOL}
95 SHLIBTOOL?=             ${PKG_SHLIBTOOL}
96 .if defined(USE_LIBTOOL)
97 LIBTOOL_REQD?=          1.5.18nb5
98 BUILD_DEPENDS+=         libtool-base>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../devel/libtool-base
99 CONFIGURE_ENV+=         LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
100 MAKE_ENV+=              LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
101 LIBTOOL_OVERRIDE?=      libtool */libtool */*/libtool
102 .endif
103
104 ### USE_MAKEINFO, INFO_FILES
105
106 INFO_FILES?=            # empty
107 USE_MAKEINFO?=          no
108
109 .if !empty(INFO_FILES) || empty(USE_MAKEINFO:M[nN][oO])
110 .  include "../../mk/texinfo.mk"
111 .endif
112
113 ### USE_RMAN
114
115 # Check if we got "rman" with XFree86, for packages that need "rman".
116 .if defined(USE_RMAN)
117 .  if !exists(${X11BASE}/bin/rman)
118 DEPENDS+=               rman-3.0.9:../../textproc/rman
119 RMAN?=                  ${LOCALBASE}/bin/rman
120 .  else
121 RMAN?=                  ${X11BASE}/bin/rman
122 .  endif
123 .endif
124
125 ### USE_XPKGWEDGE
126
127 .if (defined(USE_X11BASE) || \
128      defined(USE_IMAKE) || !empty(USE_TOOLS:Mimake) || \
129      !empty(USE_TOOLS:Mimake\:*:Nimake\:pkgsrc)) && \
130     !empty(USE_XPKGWEDGE:M[yY][eE][sS])
131 BUILD_DEPENDS+=         xpkgwedge>=${_XPKGWEDGE_REQD:U1.14}:../../pkgtools/xpkgwedge
132 .endif