diff options
author | roy <roy@pkgsrc.org> | 2010-02-08 22:11:43 +0000 |
---|---|---|
committer | roy <roy@pkgsrc.org> | 2010-02-08 22:11:43 +0000 |
commit | bac05b30eff8418318a77dd66085a67b251832d1 (patch) | |
tree | e4fb7aba3ce5761c1aabb42c82d3e70932f2f92f /mk/terminfo.buildlink3.mk | |
parent | c132073d65d338afe11178fb78c077ad5a358a9d (diff) | |
download | pkgsrc-bac05b30eff8418318a77dd66085a67b251832d1.tar.gz |
Detect a working terminfo a little better.
Diffstat (limited to 'mk/terminfo.buildlink3.mk')
-rw-r--r-- | mk/terminfo.buildlink3.mk | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/mk/terminfo.buildlink3.mk b/mk/terminfo.buildlink3.mk new file mode 100644 index 00000000000..701292fb26e --- /dev/null +++ b/mk/terminfo.buildlink3.mk @@ -0,0 +1,84 @@ +# $NetBSD: terminfo.buildlink3.mk,v 1.1 2010/02/08 22:11:43 roy Exp $ +# +# This Makefile fragment is meant to be included by packages that require +# any terminfo implementation instead of one particular one. The available +# terminfo implementations are "terminfo" if built-in, "ncurses", and +# "pdcurses". +# +# If a package genuinely requires ncurses or pdcurses, then it should +# directly include the appropriate buildlink3.mk instead of this file in +# the package Makefile. +# +# === User-settable variables === +# +# TERMINFO_DEFAULT +# This value represents the type of curses we wish to use on the +# system. Setting this to "curses" means that the system curses +# implementation is fine. +# +# Possible: terminfo, ncurses, pdcurses +# Default: (depends) +# +# === Variables set by this file === +# +# TERMINFO_TYPE +# The name of the selected curses implementation. + +TERMINFO_BUILDLINK3_MK:= ${TERMINFO_BUILDLINK3_MK}+ +.include "bsd.fast.prefs.mk" + +.if !empty(TERMINFO_BUILDLINK3_MK:M+) + +# _TERMINFO_PKGS is an exhaustive list of all of the curses implementations +# that may be used with curses.buildlink3.mk. +# +_TERMINFO_PKGS?= terminfo ncurses pdcurses + +CHECK_BUILTIN.terminfo:= yes +. include "terminfo.builtin.mk" +CHECK_BUILTIN.terminfo:= no + +# Set the value of TERMINFO_DEFAULT depending on the platform and what's +# available in the base system. +# +.if defined(USE_BUILTIN.terminfo) && !empty(USE_BUILTIN.terminfo:M[yY][eE][sS]) +TERMINFO_DEFAULT?= terminfo +.else +TERMINFO_DEFAULT?= ncurses +.endif + +_TERMINFO_ACCEPTED= # empty +.if defined(USE_BUILTIN.terminfo) && !empty(USE_BUILTIN.terminfo:M[yY][eE][sS]) +_TERMINFO_ACCEPTED+= terminfo # system curses exists +.endif +_TERMINFO_ACCEPTED+= ncurses # pkgsrc ncurses +_TERMINFO_ACCEPTED+= pdcurses # pkgsrc pdcurses + +_TERMINFO_TYPE= ${TERMINFO_DEFAULT} +. if !empty(_TERMINFO_ACCEPTED:M${_TERMINFO_TYPE}) +TERMINFO_TYPE= ${_TERMINFO_TYPE} +. else +TERMINFO_TYPE= none +. endif + +BUILD_DEFS+= TERMINFO_DEFAULT +BUILD_DEFS_EFFECTS+= TERMINFO_TYPE + +.endif # TERMINFO_BUILDLINK3_MK + +.if ${TERMINFO_TYPE} == "none" +PKG_FAIL_REASON= \ + "${_TERMINFO_TYPE} is not an acceptable terminfo type for ${PKGNAME}." +.elif ${TERMINFO_TYPE} == "terminfo" +.elif ${TERMINFO_TYPE} == "ncurses" +USE_NCURSES= yes +. include "../../devel/ncurses/buildlink3.mk" +BUILDLINK_PREFIX.curses?= ${BUILDLINK_PREFIX.ncurses} +BUILDLINK_LIBNAME.curses?= ${BUILDLINK_LIBNAME.ncurses} +BUILDLINK_LDADD.curses?= ${BUILDLINK_LDADD.ncurses} +.elif ${TERMINFO_TYPE} == "pdcurses" +. include "../../devel/pdcurses/buildlink3.mk" +BUILDLINK_PREFIX.curses?= ${BUILDLINK_PREFIX.pdcurses} +BUILDLINK_LIBNAME.curses?= ${BUILDLINK_LIBNAME.pdcurses} +BUILDLINK_LDADD.curses?= ${BUILDLINK_LDADD.pdcurses} +.endif |