1 # $NetBSD: termcap.buildlink3.mk,v 1.7 2009/03/20 19:25:01 joerg Exp $
3 # This Makefile fragment is meant to be included by packages that require
4 # a termcap implementation that supports the basic termcap functions:
6 # tgetent, tgetstr, tgetflag, tgetnum, tgoto, tputs
8 # === Variables set by this file ===
11 # The name of the selected termcap implementation.
13 TERMCAP_BUILDLINK3_MK
:= ${TERMCAP_BUILDLINK3_MK}+
15 .
include "bsd.fast.prefs.mk"
17 .if
!empty
(TERMCAP_BUILDLINK3_MK
:M
+)
19 # _TERMCAP_TYPES is an exhaustive list of all of the termcap
20 # implementations that may be found.
22 _TERMCAP_TYPES?
= terminfo curses termcap termlib tinfo
24 CHECK_BUILTIN.termcap
:= yes
25 .
include "termcap.builtin.mk"
26 CHECK_BUILTIN.termcap
:= no
28 .if
!empty
(USE_BUILTIN.termcap
:M
[yY
][eE
][sS
])
29 . if defined
(BUILTIN_LIBNAME.termcap
)
30 TERMCAP_TYPE
= ${BUILTIN_LIBNAME.termcap
}
35 TERMCAP_TYPE
= curses
# pkgsrc termcap is curses
37 BUILD_DEFS_EFFECTS
+= TERMCAP_TYPE
39 # Most GNU configure scripts will try finding every termcap implementation,
40 # so prevent them from finding any except for the one we decide upon.
42 # There is special handling for packages that can be provided by pkgsrc,
43 # e.g. curses -- see termcap.builtin.mk for details.
45 . for _tcap_ in
${_TERMCAP_TYPES
:Ntermcap
:Ncurses
}
46 . if empty
(TERMCAP_TYPE
:M
${_tcap_})
47 BUILDLINK_TRANSFORM
+= rm:-l
${_tcap_}
50 BUILDLINK_TRANSFORM
+= l
:termcap
:${BUILDLINK_LIBNAME.termcap
}
52 .
endif # TERMCAP_BUILDLINK3_MK
54 .if
${TERMCAP_TYPE} == "none"
55 PKG_FAIL_REASON
= "No usable termcap library found on the system."
56 .elif
(${TERMCAP_TYPE} == "terminfo") || \
57 (${TERMCAP_TYPE} == "termlib") || \
58 (${TERMCAP_TYPE} == "termcap") || \
59 (${TERMCAP_TYPE} == "tinfo")
60 BUILDLINK_TREE
+= termcap
-termcap
61 BUILDLINK_LIBNAME.termcap?
= ${BUILTIN_LIBNAME.termcap
}
62 BUILDLINK_LDADD.termcap?
= ${BUILDLINK_LIBNAME.termcap
:S
/^
/-l
/:S
/^
-l
$//}
63 BUILDLINK_BUILTIN_MK.termcap
= ..
/..
/mk
/termcap.builtin.mk
64 .elif
${TERMCAP_TYPE} == "curses"
65 .
include "../../mk/curses.buildlink3.mk"
66 BUILDLINK_PREFIX.termcap?
= ${BUILDLINK_PREFIX.curses
}
67 BUILDLINK_LIBNAME.termcap?
= ${BUILDLINK_LIBNAME.curses
}
68 BUILDLINK_LDADD.termcap?
= ${BUILDLINK_LDADD.curses
}