pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/mk + Only remove -lcurses and -lncurses in BUILDLINK_T...
details: https://anonhg.NetBSD.org/pkgsrc/rev/d7d31dc15531
branches: trunk
changeset: 539418:d7d31dc15531
user: jlam <jlam%pkgsrc.org@localhost>
date: Wed Mar 05 07:10:26 2008 +0000
description:
+ Only remove -lcurses and -lncurses in BUILDLINK_TRANSFORM if the
package does not use either curses or ncurses. We determine this
by inspecting BUILDLINK_PACKAGES and looking for "curses" and
"ncurses".
+ Because the above logic uses BUILDLINK_PACKAGES, the code must be
moved from termcap.buildlink3.mk into termcap.builtin.mk where it
is safe to inspect BUILDLINK_PACKAGES.
diffstat:
mk/termcap.buildlink3.mk | 34 +++-------------------------------
mk/termcap.builtin.mk | 39 +++++++++++++++++++++++++++++++++++++--
2 files changed, 40 insertions(+), 33 deletions(-)
diffs (120 lines):
diff -r 34d2a855f59c -r d7d31dc15531 mk/termcap.buildlink3.mk
--- a/mk/termcap.buildlink3.mk Wed Mar 05 04:00:01 2008 +0000
+++ b/mk/termcap.buildlink3.mk Wed Mar 05 07:10:26 2008 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: termcap.buildlink3.mk,v 1.3 2008/03/05 03:58:20 jlam Exp $
+# $NetBSD: termcap.buildlink3.mk,v 1.4 2008/03/05 07:10:26 jlam Exp $
#
# This Makefile fragment is meant to be included by packages that require
# a termcap implementation that supports the basic termcap functions:
@@ -8,7 +8,8 @@
# === Variables set by this file ===
#
# TERMCAP_TYPE
-# The name of the selected termcap implementation.
+# The name of the selected termcap implementation. This is actually
+# indirectly set by termcap.builtin.mk but is exported by this file.
TERMCAP_BUILDLINK3_MK:= ${TERMCAP_BUILDLINK3_MK}+
@@ -16,39 +17,10 @@
.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
-. 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.
-#
-.for _tcap_ in ${_TERMCAP_TYPES:Ntermcap}
-. if empty(TERMCAP_TYPE:M${_tcap_})
-BUILDLINK_TRANSFORM+= rm:-l${_tcap_}
-. endif
-.endfor
-.if empty(TERMCAP_TYPE:Mcurses)
-BUILDLINK_TRANSFORM+= rm:-lncurses
-.endif
-BUILDLINK_TRANSFORM+= l:termcap:${BUILDLINK_LIBNAME.termcap}
-
.endif # TERMCAP_BUILDLINK3_MK
.if ${TERMCAP_TYPE} == "none"
diff -r 34d2a855f59c -r d7d31dc15531 mk/termcap.builtin.mk
--- a/mk/termcap.builtin.mk Wed Mar 05 04:00:01 2008 +0000
+++ b/mk/termcap.builtin.mk Wed Mar 05 07:10:26 2008 +0000
@@ -1,8 +1,13 @@
-# $NetBSD: termcap.builtin.mk,v 1.2 2008/03/02 07:05:28 jlam Exp $
+# $NetBSD: termcap.builtin.mk,v 1.3 2008/03/05 07:10:26 jlam Exp $
BUILTIN_PKG:= termcap
-BUILTIN_FIND_LIBS:= curses termcap termlib tinfo
+# _TERMCAP_TYPES is an exhaustive list of all of the termcap implementations
+# that may be found.
+#
+_TERMCAP_TYPES?= curses termcap termlib tinfo
+
+BUILTIN_FIND_LIBS:= ${_TERMCAP_TYPES}
.include "buildlink3/bsd.builtin.mk"
@@ -53,6 +58,17 @@
BUILTIN_LIBNAME.termcap= termlib
.endif
+.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
+
###
### The section below only applies if we are not including this file
### solely to determine whether a built-in implementation exists.
@@ -64,4 +80,23 @@
BUILDLINK_LIBNAME.termcap= ${BUILTIN_LIBNAME.termcap}
. endif
+# 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 here for packages that can be provided by
+# pkgsrc, e.g. curses. In case we need both that package as well as
+# termcap, we must not remove the -l options for that package's libraries.
+#
+. for _tcap_ in ${_TERMCAP_TYPES:Ntermcap:Ncurses}
+. if empty(TERMCAP_TYPE:M${_tcap_})
+BUILDLINK_TRANSFORM+= rm:-l${_tcap_}
+. endif
+. endfor
+. if empty(TERMCAP_TYPE:Mcurses) && \
+ empty(BUILDLINK_PACKAGES:Mcurses) && empty(BUILDLINK_PACKAGES:Mncurses)
+BUILDLINK_TRANSFORM+= rm:-lcurses
+BUILDLINK_TRANSFORM+= rm:-lncurses
+. endif
+BUILDLINK_TRANSFORM+= l:termcap:${BUILDLINK_LIBNAME.termcap}
+
.endif # CHECK_BUILTIN.termcap
Home |
Main Index |
Thread Index |
Old Index