2014-12-30 16:13:19 +01:00
|
|
|
# $NetBSD: bsd.pkg.use.mk,v 1.58 2014/12/30 15:13:19 wiz Exp $
|
2005-02-11 16:55:13 +01:00
|
|
|
#
|
|
|
|
# Turn USE_* macros into proper depedency logic. Included near the top of
|
|
|
|
# bsd.pkg.mk, after bsd.prefs.mk.
|
2007-01-07 14:38:52 +01:00
|
|
|
#
|
|
|
|
# Package-settable variables:
|
|
|
|
#
|
|
|
|
# USE_BSD_MAKEFILE
|
|
|
|
# Should be set to "yes" whenever a package uses a BSD-style
|
|
|
|
# Makefile. These Makefiles typically end with a line including
|
|
|
|
# <bsd.prog.mk>.
|
2007-11-30 09:27:51 +01:00
|
|
|
|
|
|
|
# USE_IMAKE
|
|
|
|
# When set to "yes", means that the package uses imake as the
|
|
|
|
# primary (and often only) build system. This is different from
|
|
|
|
# USE_TOOLS+=imake, which only states that the package uses imake
|
|
|
|
# among other tools.
|
|
|
|
#
|
|
|
|
# Keywords: imake
|
2007-01-07 14:38:52 +01:00
|
|
|
#
|
2005-02-11 16:55:13 +01:00
|
|
|
|
2007-01-07 14:38:52 +01:00
|
|
|
.if defined(USE_BSD_MAKEFILE)
|
2013-09-09 18:35:40 +02:00
|
|
|
MAKE_ENV+= ${BSD_MAKE_ENV} INSTALL=${TOOLS_INSTALL:Q}
|
|
|
|
. if defined(HAVE_LLVM)
|
|
|
|
MAKE_ENV+= HAVE_LLVM=${HAVE_LLVM:Q}
|
|
|
|
. endif
|
|
|
|
. if defined(HAVE_GCC)
|
|
|
|
MAKE_ENV+= HAVE_GCC=${HAVE_GCC:Q}
|
|
|
|
. endif
|
2007-01-07 14:38:52 +01:00
|
|
|
.endif
|
2005-02-11 16:55:13 +01:00
|
|
|
|
2005-05-18 00:22:52 +02:00
|
|
|
.if defined(USE_IMAKE) || !empty(USE_TOOLS:Mimake)
|
2005-12-05 23:07:07 +01:00
|
|
|
PLIST_SUBST+= IMAKE_MAN_SOURCE_PATH=${IMAKE_MAN_SOURCE_PATH:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_MAN_DIR=${IMAKE_MAN_DIR:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_LIBMAN_DIR=${IMAKE_LIBMAN_DIR:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_KERNMAN_DIR=${IMAKE_KERNMAN_DIR:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_FILEMAN_DIR=${IMAKE_FILEMAN_DIR:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_GAMEMAN_DIR=${IMAKE_GAMEMAN_DIR:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_MISCMAN_DIR=${IMAKE_MISCMAN_DIR:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_MAN_SUFFIX=${IMAKE_MAN_SUFFIX:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_LIBMAN_SUFFIX=${IMAKE_LIBMAN_SUFFIX:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_KERNMAN_SUFFIX=${IMAKE_KERNMAN_SUFFIX:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_FILEMAN_SUFFIX=${IMAKE_FILEMAN_SUFFIX:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_GAMEMAN_SUFFIX=${IMAKE_GAMEMAN_SUFFIX:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_MISCMAN_SUFFIX=${IMAKE_MISCMAN_SUFFIX:Q}
|
|
|
|
PLIST_SUBST+= IMAKE_MANNEWSUFFIX=${IMAKE_MANNEWSUFFIX:Q}
|
2005-06-14 04:09:38 +02:00
|
|
|
.endif
|
|
|
|
|
Teach the tools framework about the following new tools:
itools, intltool, diff3, sdiff, msgmerge
* Adding USE_TOOLS+=itools to a package Makefile will cause the
tool-directory versions of imake, makedepend, mkdirhier and xmkmf
to point to the ones from the devel/nbitools package.
This change will remove the need for nbitools/buildlink3.mk, which
currently does a bit of hackery to force the "right" imake tools to
be used by packages that need it.
* Adding USE_TOOLS+=intltool to a package Makefile will cause the
local versions of intltool-* inside ${WRKSRC} to be replaced by
copies from the textproc/intltool package. If "intltool" is not
specified as a tool, then we create "broken" intltool-* tools in
the tools directory to help highlight hidden dependencies on the
intltool package.
In addition, modify the tools framework so that if "perl" is not
specified as a tool, then we create a "broken" perl tool in the
tools directory for the same reason as for "intltool".
These two changes together will remove the need for
intltools/buildlink3.mk and should also catch all cases where the
sources' intltools may have been silently used because perl was
found on the system.
* Adding USE_TOOLS+=diff3, USE_TOOLS+=sdiff, or USE_TOOLS+=msgmerge
to a package Makefile will cause the corresponding tool to be pulled
into the tools directory.
These are convenience tools to help simplify dependencies for some
packages.
2006-07-05 06:32:10 +02:00
|
|
|
.if defined(USE_IMAKE)
|
2014-10-01 21:14:21 +02:00
|
|
|
USE_X11BASE?= implied
|
2005-03-24 18:46:00 +01:00
|
|
|
MAKE_FLAGS+= CC=${CC:Q} CXX=${CXX:Q}
|
2005-02-11 16:55:13 +01:00
|
|
|
.endif
|
|
|
|
|
2007-07-02 16:54:09 +02:00
|
|
|
.if defined(USE_X11BASE) && ${X11_TYPE} != "modular"
|
2007-10-17 12:43:36 +02:00
|
|
|
. include "x11.buildlink3.mk"
|
2005-02-11 16:55:13 +01:00
|
|
|
.endif
|
|
|
|
|
2014-12-30 16:13:19 +01:00
|
|
|
.if defined(INSTALLATION_PREFIX)
|
2005-02-11 16:55:13 +01:00
|
|
|
PREFIX= ${INSTALLATION_PREFIX}
|
2014-12-30 16:13:19 +01:00
|
|
|
.elif defined(USE_X11BASE)
|
2005-02-11 16:55:13 +01:00
|
|
|
PREFIX= ${X11PREFIX}
|
2014-12-30 16:13:19 +01:00
|
|
|
.elif defined(USE_CROSSBASE)
|
2005-02-11 16:55:13 +01:00
|
|
|
PREFIX= ${CROSSBASE}
|
2014-12-30 16:13:19 +01:00
|
|
|
.else
|
2005-02-11 16:55:13 +01:00
|
|
|
PREFIX= ${LOCALBASE}
|
|
|
|
.endif
|
2005-02-11 17:11:36 +01:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# General settings
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
### PKG_USE_KERBEROS
|
|
|
|
|
|
|
|
.if defined(PKG_USE_KERBEROS)
|
|
|
|
CRYPTO?= uses Kerberos encryption code
|
|
|
|
BUILD_DEFS+= KERBEROS
|
|
|
|
.endif
|
|
|
|
|
|
|
|
### USE_LIBTOOL, PKG_[SH]LIBTOOL
|
|
|
|
|
|
|
|
#
|
|
|
|
# PKG_LIBTOOL is the path to the libtool script installed by libtool-base.
|
|
|
|
# _LIBTOOL is the path the libtool used by the build, which could be the
|
|
|
|
# path to a libtool wrapper script.
|
|
|
|
# LIBTOOL is the publicly-readable variable that should be used by
|
|
|
|
# Makefiles to invoke the proper libtool.
|
|
|
|
#
|
2013-05-10 11:07:37 +02:00
|
|
|
.if defined(USE_LANGUAGES) && !empty(USE_LANGUAGES:Mfortran) || \
|
|
|
|
defined(USE_LANGUAGES) && !empty(USE_LANGUAGES:Mfortran77)
|
2013-05-10 01:37:25 +02:00
|
|
|
. if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) # XXX
|
|
|
|
PKG_FAIL_REASON+= "Cross-compiling Fortran with libtool NYI."
|
|
|
|
. endif
|
|
|
|
|
2013-05-09 15:53:47 +02:00
|
|
|
PKG_LIBTOOL?= ${LOCALBASE}/bin/libtool-fortran
|
|
|
|
PKG_SHLIBTOOL?= ${LOCALBASE}/bin/shlibtool-fortran
|
|
|
|
|
|
|
|
. if defined(USE_LIBTOOL)
|
|
|
|
BUILD_DEPENDS+= libtool-fortran>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../devel/libtool-fortran
|
|
|
|
. endif
|
|
|
|
.else
|
2013-05-10 01:37:25 +02:00
|
|
|
. if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
|
|
|
|
PKG_LIBTOOL?= ${CROSSBASE}/bin/libtool
|
|
|
|
PKG_SHLIBTOOL?= ${CROSSBASE}/bin/shlibtool
|
|
|
|
. else
|
2005-02-11 17:11:36 +01:00
|
|
|
PKG_LIBTOOL?= ${LOCALBASE}/bin/libtool
|
|
|
|
PKG_SHLIBTOOL?= ${LOCALBASE}/bin/shlibtool
|
2013-05-10 01:37:25 +02:00
|
|
|
. endif
|
2013-05-09 15:53:47 +02:00
|
|
|
.endif
|
2005-02-11 17:11:36 +01:00
|
|
|
_LIBTOOL?= ${PKG_LIBTOOL}
|
|
|
|
_SHLIBTOOL?= ${PKG_SHLIBTOOL}
|
|
|
|
LIBTOOL?= ${PKG_LIBTOOL}
|
|
|
|
SHLIBTOOL?= ${PKG_SHLIBTOOL}
|
|
|
|
.if defined(USE_LIBTOOL)
|
2009-12-20 13:32:55 +01:00
|
|
|
LIBTOOL_REQD?= 2.2.6bnb3
|
2013-05-10 01:37:25 +02:00
|
|
|
.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
|
|
|
|
TOOL_DEPENDS+= cross-libtool-base-${MACHINE_ARCH}>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../cross/libtool-base
|
|
|
|
.else
|
|
|
|
TOOL_DEPENDS+= libtool-base>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../devel/libtool-base
|
|
|
|
.endif
|
2005-02-11 17:11:36 +01:00
|
|
|
CONFIGURE_ENV+= LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
|
|
|
|
MAKE_ENV+= LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
|
|
|
|
.endif
|