diff options
author | Scott Garman <scott.a.garman@intel.com> | 2012-01-04 22:30:29 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-01-05 11:17:41 +0000 |
commit | 796c3d038fb7892a5e5206fb10217623de18853f (patch) | |
tree | b033a0566ed179e91bb39ef0a443175276930093 | |
parent | 6f4268682c33df7537a32f6e52d3698ebfa14e4e (diff) | |
download | openembedded-core-796c3d038fb7892a5e5206fb10217623de18853f.tar.gz openembedded-core-796c3d038fb7892a5e5206fb10217623de18853f.tar.bz2 openembedded-core-796c3d038fb7892a5e5206fb10217623de18853f.zip |
ncurses: move libraries to base_libdir
Various utilities (including bash and the util-linux programs) located
in base_bindir (/bin) or base_sbindir (/sbin) dynamically link against
many of the ncurses libraries. So move these libraries from libdir
(/usr/lib) to base_libdir (/lib).
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-core/ncurses/ncurses.inc | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc index 583dad7204..8321d7b021 100644 --- a/meta/recipes-core/ncurses/ncurses.inc +++ b/meta/recipes-core/ncurses/ncurses.inc @@ -26,6 +26,9 @@ ENABLE_WIDEC ?= "true" # builds. BUILD_CPPFLAGS += "-D_GNU_SOURCE" +# tic from the -native build cannot run without setting this explicitly +BUILD_LDFLAGS_virtclass-native += "-Wl,-rpath,${base_libdir}" + # Helper function for do_configure to allow multiple configurations # $1 the directory to run configure in # $@ the arguments to pass to configure @@ -41,6 +44,7 @@ ncurses_configure() { --enable-hard-tabs \ --enable-xmc-glitch \ --enable-colorfgbg \ + --libdir=${base_libdir} \ --with-termpath='${sysconfdir}/termcap:${datadir}/misc/termcap' \ --with-terminfo-dirs='${sysconfdir}/terminfo:${datadir}/terminfo' \ --with-shared \ @@ -120,7 +124,6 @@ do_install() { ! ${ENABLE_WIDEC} || \ oe_runmake -C widec ${_install_opts} - cd narrowc # include some basic terminfo files @@ -155,28 +158,29 @@ do_install() { # else when '-Wl,--no-copy-dt-needed-entries' has been set in # linker flags. for i in libncurses libncursesw; do - f=${D}${libdir}/$i.so + f=${D}${base_libdir}/$i.so test -h $f || continue rm -f $f echo '/* GNU ld script */' >$f echo "INPUT($i.so.5 AS_NEEDED(-ltinfo))" >>$f done - # Make sure that libcurses is linked so that it gets -ltinfo - # also, this should be addressed upstream really. - ln -sf libncurses.so ${D}${libdir}/libcurses.so + + # Make sure that libcurses is linked so that it gets -ltinfo + # also, this should be addressed upstream really. + ln -sf libncurses.so ${D}${base_libdir}/libcurses.so # create libtermcap.so linker script for backward compatibility - f=${D}${libdir}/libtermcap.so + f=${D}${base_libdir}/libtermcap.so echo '/* GNU ld script */' >$f echo 'INPUT(AS_NEEDED(-ltinfo))' >>$f - oe_multilib_header curses.h + oe_multilib_header curses.h } python populate_packages_prepend () { - libdir = bb.data.expand("${libdir}", d) + base_libdir = bb.data.expand("${base_libdir}", d) pnbase = bb.data.expand("${PN}-lib%s", d) - do_split_packages(d, libdir, '^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True) + do_split_packages(d, base_libdir, '^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True) } @@ -210,6 +214,10 @@ FILES_${PN} = "\ ${datadir}/tabset \ " +FILES_${PN}-dev += "\ + ${base_libdir}/*.so \ +" + # This keeps only tput/tset in ncurses # clear/reset are in already busybox FILES_${PN}-tools = "\ @@ -223,6 +231,7 @@ FILES_${PN}-tools = "\ ${bindir}/tack \ ${bindir}/tabs \ " + # 'reset' is a symlink to 'tset' which is in the 'ncurses' package RDEPENDS_${PN}-tools = "${PN}" |