Add files from parent branch HEAD:
[pkgsrc.git] / mk / bsd.pkg.use.mk
1 #       $NetBSD: bsd.pkg.use.mk,v 1.46 2008/02/07 12:26:55 tnn 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 # Package-settable variables:
7 #
8 # USE_BSD_MAKEFILE
9 #       Should be set to "yes" whenever a package uses a BSD-style
10 #       Makefile. These Makefiles typically end with a line including
11 #       <bsd.prog.mk>.
12
13 # USE_IMAKE
14 #       When set to "yes", means that the package uses imake as the
15 #       primary (and often only) build system. This is different from
16 #       USE_TOOLS+=imake, which only states that the package uses imake
17 #       among other tools.
18 #
19 #       Keywords: imake
20 #
21
22 .if defined(USE_BSD_MAKEFILE)
23 MAKE_ENV+=              ${BSD_MAKE_ENV} INSTALL=${TOOLS_INSTALL:Q}
24 .endif
25
26 .if defined(USE_IMAKE) || !empty(USE_TOOLS:Mimake)
27 PLIST_SUBST+=           IMAKE_MAN_SOURCE_PATH=${IMAKE_MAN_SOURCE_PATH:Q}
28 PLIST_SUBST+=           IMAKE_MAN_DIR=${IMAKE_MAN_DIR:Q}
29 PLIST_SUBST+=           IMAKE_LIBMAN_DIR=${IMAKE_LIBMAN_DIR:Q}
30 PLIST_SUBST+=           IMAKE_KERNMAN_DIR=${IMAKE_KERNMAN_DIR:Q}
31 PLIST_SUBST+=           IMAKE_FILEMAN_DIR=${IMAKE_FILEMAN_DIR:Q}
32 PLIST_SUBST+=           IMAKE_GAMEMAN_DIR=${IMAKE_GAMEMAN_DIR:Q}
33 PLIST_SUBST+=           IMAKE_MISCMAN_DIR=${IMAKE_MISCMAN_DIR:Q}
34 PLIST_SUBST+=           IMAKE_MAN_SUFFIX=${IMAKE_MAN_SUFFIX:Q}
35 PLIST_SUBST+=           IMAKE_LIBMAN_SUFFIX=${IMAKE_LIBMAN_SUFFIX:Q}
36 PLIST_SUBST+=           IMAKE_KERNMAN_SUFFIX=${IMAKE_KERNMAN_SUFFIX:Q}
37 PLIST_SUBST+=           IMAKE_FILEMAN_SUFFIX=${IMAKE_FILEMAN_SUFFIX:Q}
38 PLIST_SUBST+=           IMAKE_GAMEMAN_SUFFIX=${IMAKE_GAMEMAN_SUFFIX:Q}
39 PLIST_SUBST+=           IMAKE_MISCMAN_SUFFIX=${IMAKE_MISCMAN_SUFFIX:Q}
40 PLIST_SUBST+=           IMAKE_MANNEWSUFFIX=${IMAKE_MANNEWSUFFIX:Q}
41 .endif
42
43 .if defined(USE_IMAKE) && empty(USE_TOOLS:Mitools)
44 USE_X11BASE?=           implied
45 .endif
46
47 .if defined(USE_IMAKE)
48 MAKE_FLAGS+=            CC=${CC:Q} CXX=${CXX:Q}
49 .endif
50
51 .if defined(USE_X11BASE) && ${X11_TYPE} != "modular"
52 .  include "x11.buildlink3.mk"
53 .endif
54
55 .if ${PKG_INSTALLATION_TYPE} == "pkgviews"
56 PREFIX=                 ${DEPOTBASE}/${PKGNAME}
57 .elif ${PKG_INSTALLATION_TYPE} == "overwrite"
58 .  if defined(INSTALLATION_PREFIX)
59 PREFIX=                 ${INSTALLATION_PREFIX}
60 .  elif defined(USE_X11BASE)
61 PREFIX=                 ${X11PREFIX}
62 .  elif defined(USE_CROSSBASE)
63 PREFIX=                 ${CROSSBASE}
64 .  else
65 PREFIX=                 ${LOCALBASE}
66 .  endif
67 .endif
68
69 .if (${PKG_INSTALLATION_TYPE} == "pkgviews") && defined(INSTALLATION_PREFIX)
70 PKG_FAIL_REASON=        "INSTALLATION_PREFIX can't be used in a pkgviews package"
71 .endif
72
73 ############################################################################
74 # General settings
75 ############################################################################
76
77 ### PKG_USE_KERBEROS
78
79 .if defined(PKG_USE_KERBEROS)
80 CRYPTO?=                uses Kerberos encryption code
81 BUILD_DEFS+=            KERBEROS
82 .endif
83
84 ### USE_DIRS
85
86 USE_DIRS?=              # empty
87 .if !empty(USE_DIRS) && ${PKG_INSTALLATION_TYPE} == "overwrite"
88 .  include "dirs.mk"
89 .endif
90
91 ### USE_LIBTOOL, PKG_[SH]LIBTOOL
92
93 #
94 # PKG_LIBTOOL is the path to the libtool script installed by libtool-base.
95 # _LIBTOOL is the path the libtool used by the build, which could be the
96 #       path to a libtool wrapper script.
97 # LIBTOOL is the publicly-readable variable that should be used by
98 #       Makefiles to invoke the proper libtool.
99 #
100 PKG_LIBTOOL?=           ${LOCALBASE}/bin/libtool
101 PKG_SHLIBTOOL?=         ${LOCALBASE}/bin/shlibtool
102 _LIBTOOL?=              ${PKG_LIBTOOL}
103 _SHLIBTOOL?=            ${PKG_SHLIBTOOL}
104 LIBTOOL?=               ${PKG_LIBTOOL}
105 SHLIBTOOL?=             ${PKG_SHLIBTOOL}
106 .if defined(USE_LIBTOOL)
107 LIBTOOL_REQD?=          1.5.18nb5
108 BUILD_DEPENDS+=         libtool-base>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../devel/libtool-base
109 CONFIGURE_ENV+=         LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
110 MAKE_ENV+=              LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
111 .endif
112
113 ### USE_XPKGWEDGE
114
115 .if (defined(USE_X11BASE) || \
116      defined(USE_IMAKE) || !empty(USE_TOOLS:Mimake) || \
117      !empty(USE_TOOLS:Mimake\:*:Nimake\:pkgsrc)) && \
118     empty(USE_TOOLS:Mitools) && \
119     empty(PKGPATH:Mpkgtools/xpkgwedge) && \
120     !empty(USE_XPKGWEDGE:M[yY][eE][sS])
121 BUILD_DEPENDS+=         xpkgwedge>=${_XPKGWEDGE_REQD:U1.15}:../../pkgtools/xpkgwedge
122 .endif