diff options
author | jlam <jlam@pkgsrc.org> | 2008-03-05 16:23:52 +0000 |
---|---|---|
committer | jlam <jlam@pkgsrc.org> | 2008-03-05 16:23:52 +0000 |
commit | 3a9a5fdff858769244394789b68a5ee0358a8cbf (patch) | |
tree | 2e3b65e89a0fa5365e9ad6a27c6e0c9c7b6dab87 /mk/termcap.buildlink3.mk | |
parent | cfdba2b9391ccff56fc5b6daf27225863ee35105 (diff) | |
download | pkgsrc-3a9a5fdff858769244394789b68a5ee0358a8cbf.tar.gz |
+ Fix error in previous commit -- too much of the termcap buildlink
code was moved to the builtin.mk file. The buildlink3.mk file should
contain the bits that always apply to all packages that include it.
The builtin.mk file should include the bits that only apply if
"termcap" is listed in ${BUILDLINK_PACKAGES} (this isn't the case
if we use curses to replace termcap). As such, redistribute the
code as follows:
+ Move the parts that remove -l options for terminal libraries we
don't support, as well as for transforming "-ltermcap" into the
appropriate libraries, from the builtin.mk back into the
buildlink3.mk.
+ Leave the parts the remove -lcurses and -lncurses in the
builtin.mk. We can remove the ${TERMCAP_TYPE} == "curses" check
since that part of the file is protected by CHECK_BUILTIN.termcap,
so it should only be triggered if "termcap" is in BUILDLINK_PACKAGES,
which only happens if ${TERMCAP_TYPE} isn't "curses".
Diffstat (limited to 'mk/termcap.buildlink3.mk')
-rw-r--r-- | mk/termcap.buildlink3.mk | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/mk/termcap.buildlink3.mk b/mk/termcap.buildlink3.mk index 68ef7da2c82..fee1309a53c 100644 --- a/mk/termcap.buildlink3.mk +++ b/mk/termcap.buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: termcap.buildlink3.mk,v 1.4 2008/03/05 07:10:26 jlam Exp $ +# $NetBSD: termcap.buildlink3.mk,v 1.5 2008/03/05 16:23:52 jlam Exp $ # # This Makefile fragment is meant to be included by packages that require # a termcap implementation that supports the basic termcap functions: @@ -8,8 +8,7 @@ # === Variables set by this file === # # TERMCAP_TYPE -# The name of the selected termcap implementation. This is actually -# indirectly set by termcap.builtin.mk but is exported by this file. +# The name of the selected termcap implementation. TERMCAP_BUILDLINK3_MK:= ${TERMCAP_BUILDLINK3_MK}+ @@ -17,10 +16,39 @@ TERMCAP_BUILDLINK3_MK:= ${TERMCAP_BUILDLINK3_MK}+ .if !empty(TERMCAP_BUILDLINK3_MK:M+) +# _TERMCAP_TYPES is an exhaustive list of all of the termcap +# implementations that may be found. +# +_TERMCAP_TYPES?= curses termcap termlib tinfo + CHECK_BUILTIN.termcap:= yes . include "termcap.builtin.mk" CHECK_BUILTIN.termcap:= no +.if !empty(USE_BUILTIN.termcap:M[yY][eE][sS]) +. if defined(BUILTIN_LIBNAME.termcap) +TERMCAP_TYPE= ${BUILTIN_LIBNAME.termcap} +. else +TERMCAP_TYPE= none +. endif +.else +TERMCAP_TYPE= curses # pkgsrc termcap is curses +.endif +BUILD_DEFS+= TERMCAP_TYPE + +# Most GNU configure scripts will try finding every termcap implementation, +# so prevent them from finding any except for the one we decide upon. +# +# There is special handling for packages that can be provided by pkgsrc, +# e.g. curses -- see termcap.builtin.mk for details. +# +. for _tcap_ in ${_TERMCAP_TYPES:Ntermcap:Ncurses} +. if empty(TERMCAP_TYPE:M${_tcap_}) +BUILDLINK_TRANSFORM+= rm:-l${_tcap_} +. endif +. endfor +BUILDLINK_TRANSFORM+= l:termcap:${BUILDLINK_LIBNAME.termcap} + .endif # TERMCAP_BUILDLINK3_MK .if ${TERMCAP_TYPE} == "none" |