Mon Feb 2 15:16:32 2015 UTC ()
Ensure BUILDLINK_{INCDIRS,LIBDIRS}.curses are always defined

These variables are for packages where populating -I/-L flags into
{C,CPP,LD}FLAGS is not enough and need to know accurate paths to
header and library directories.

This is particularly important for ncurses because its headers
sometimes reside in "${BUILDLINK_PREFIX.ncurses}/include/ncurses" and
sometimes in "${BUILDLINK_PREFIX.ncurses}/include" while no pkg-config
.pc files are available. The same goes for ncursesw.


(pho)
diff -r1.20 -r1.21 pkgsrc/mk/curses.buildlink3.mk

cvs diff -r1.20 -r1.21 pkgsrc/mk/curses.buildlink3.mk (expand / switch to unified diff)

--- pkgsrc/mk/curses.buildlink3.mk 2014/03/12 08:38:47 1.20
+++ pkgsrc/mk/curses.buildlink3.mk 2015/02/02 15:16:32 1.21
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: curses.buildlink3.mk,v 1.20 2014/03/12 08:38:47 obache Exp $ 1# $NetBSD: curses.buildlink3.mk,v 1.21 2015/02/02 15:16:32 pho Exp $
2# 2#
3# This Makefile fragment is meant to be included by packages that require 3# This Makefile fragment is meant to be included by packages that require
4# any curses implementation instead of one particular one. The available 4# any curses implementation instead of one particular one. The available
5# curses implementations are "curses" if built-in, "ncurses", and 5# curses implementations are "curses" if built-in, "ncurses", and
6# "pdcurses". 6# "pdcurses".
7# 7#
8# If a package genuinely requires ncurses or pdcurses, then it should 8# If a package genuinely requires ncurses or pdcurses, then it should
9# directly include the appropriate buildlink3.mk instead of this file in 9# directly include the appropriate buildlink3.mk instead of this file in
10# the package Makefile. 10# the package Makefile.
11# 11#
12# === User-settable variables === 12# === User-settable variables ===
13# 13#
14# CURSES_DEFAULT 14# CURSES_DEFAULT
@@ -101,30 +101,29 @@ PKG_FAIL_REASON= \ @@ -101,30 +101,29 @@ PKG_FAIL_REASON= \
101. include "curses.builtin.mk" 101. include "curses.builtin.mk"
102BUILDLINK_TREE+= curses -curses 102BUILDLINK_TREE+= curses -curses
103BUILDLINK_LDADD.curses?= ${BUILDLINK_LIBNAME.curses:S/^/-l/:S/^-l$//} 103BUILDLINK_LDADD.curses?= ${BUILDLINK_LIBNAME.curses:S/^/-l/:S/^-l$//}
104BUSILDLINK_BUILTIN_MK.curses= ../../mk/curses.builtin.mk 104BUSILDLINK_BUILTIN_MK.curses= ../../mk/curses.builtin.mk
105# Some packages only look for ncurses 105# Some packages only look for ncurses
106# The correct action would be to write a patch and pass it upstream 106# The correct action would be to write a patch and pass it upstream
107# but by setting FAKE_NCURSES=yes in the package we can temporarily work 107# but by setting FAKE_NCURSES=yes in the package we can temporarily work
108# around the short-coming. 108# around the short-coming.
109. if defined(FAKE_NCURSES) && !empty(FAKE_NCURSES:M[yY][eE][sS]) 109. if defined(FAKE_NCURSES) && !empty(FAKE_NCURSES:M[yY][eE][sS])
110BUILDLINK_TARGETS+= buildlink-curses-ncurses-h 110BUILDLINK_TARGETS+= buildlink-curses-ncurses-h
111BUILDLINK_TRANSFORM+= l:ncurses:${BUILDLINK_LIBNAME.curses} 111BUILDLINK_TRANSFORM+= l:ncurses:${BUILDLINK_LIBNAME.curses}
112BUILDLINK_TRANSFORM+= l:ncursesw:${BUILDLINK_LIBNAME.curses} 112BUILDLINK_TRANSFORM+= l:ncursesw:${BUILDLINK_LIBNAME.curses}
113. endif 113. endif
114.elif ${CURSES_TYPE} == "ncurses" 114.else
 115. if ${CURSES_TYPE} == "ncurses"
115USE_NCURSES= yes 116USE_NCURSES= yes
116. include "../../devel/ncurses/buildlink3.mk" 117. include "../../devel/ncurses/buildlink3.mk"
117BUILDLINK_PREFIX.curses?= ${BUILDLINK_PREFIX.ncurses} 118
118BUILDLINK_LIBNAME.curses?= ${BUILDLINK_LIBNAME.ncurses} 119. elif ${CURSES_TYPE} == "ncursesw"
119BUILDLINK_LDADD.curses?= ${BUILDLINK_LDADD.ncurses} 120. include "../../devel/ncursesw/buildlink3.mk"
120.elif ${CURSES_TYPE} == "ncursesw" 121
121. include "../../devel/ncursesw/buildlink3.mk" 122. elif ${CURSES_TYPE} == "pdcurses"
122BUILDLINK_PREFIX.curses?= ${BUILDLINK_PREFIX.ncursesw} 123. include "../../devel/pdcurses/buildlink3.mk"
123BUILDLINK_LIBNAME.curses?= ${BUILDLINK_LIBNAME.ncursesw} 124
124BUILDLINK_LDADD.curses?= ${BUILDLINK_LDADD.ncursesw} 125. endif
125.elif ${CURSES_TYPE} == "pdcurses" 126. for _var_ in PREFIX INCDIRS LIBDIRS LIBNAME LDADD
126. include "../../devel/pdcurses/buildlink3.mk" 127BUILDLINK_${_var_}.curses?= ${BUILDLINK_${_var_}.${CURSES_TYPE}}
127BUILDLINK_PREFIX.curses?= ${BUILDLINK_PREFIX.pdcurses} 128. endfor
128BUILDLINK_LIBNAME.curses?= ${BUILDLINK_LIBNAME.pdcurses} 
129BUILDLINK_LDADD.curses?= ${BUILDLINK_LDADD.pdcurses} 
130.endif 129.endif