# $NetBSD: curses.buildlink3.mk,v 1.15 2010/02/07 09:46:13 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