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

AltStyle によって変換されたページ (->オリジナル) /