tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Transitive ncurses bl3 sabotaging ncursesw
Hi,
devel/ncurses/buildlink3.mk has this bit:
25 # Many packages will prefer ncursesw over ncurses if its available (say as
26 # a native library), so unless this file is being included by ncursesw
27 # don't allow ncursesw to be used by causing linkagefailure.
28 #
29 .include "../../mk/bsd.fast.prefs.mk"
30 .if !empty(PKGPATH:Mdevel/ncursesw)
31 BUILDLINK_TRANSFORM+= l:curses:${BUILDLINK_LIBNAME.ncurses}
32 .elif empty(BUILDLINK_TREE:Mncursesw)
33 BUILDLINK_TRANSFORM+= l:ncursesw:__nonexistent__
34 BUILDLINK_TRANSFORM+= l:curses:${BUILDLINK_LIBNAME.ncurses}
35 .else
36 BUILDLINK_TRANSFORM+= l:curses:${BUILDLINK_LIBNAME.ncursesw}
37 .endif
This behaviour is prone to breaking in a hard to debug way (at least
for me) when the bl3 include order is 'wrong'. Case in point, math/sc-im
did the following:
.include "options.mk"
.include "../../devel/ncursesw/buildlink3.mk"
options.mk includes lua51, includes readline, includes ncurses. Because
ncurses there is not included through ncursesw the above logic kicks in
to sabotage ncursesw. The fix was to include ncursesw before options.mk.
Any ideas on how to make this a bit more robust?
Sijmen
Home |
Main Index |
Thread Index |
Old Index