diff options
author | John Bowler <jbowler@nslu2-linux.org> | 2005-11-23 07:35:46 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2005-11-23 07:35:46 +0000 |
commit | c3036f11360cf4992c635dcdc43f1d703b004cac (patch) | |
tree | 45daf494a0c3ca5f093d260c04ad6f44b1e69b16 /classes/base.bbclass | |
parent | 990ee6d7b71d1f5922cd494ab9ba5be03eafc602 (diff) |
base.bbclass: attempt to fix the staging .la problem
- when using oe_libinstall to install a libtool library (.la file
- present) into the staging directory (${STAGING_LIBDIR}) fix up the
- installed .lai file so that it contains 'installed=no' - this
- prevents libtool from subsequently using a copy of the build system
- library if it exists in the final (target) installation directory
- on the build machine (typically /usr/lib). Remove the patches from
- pcre_4.4.bb to match (it now seems to work without them), add
- cherokee to the openslug (etc) build (it was failing because of this
- problem.)
Diffstat (limited to 'classes/base.bbclass')
-rw-r--r-- | classes/base.bbclass | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass index 18d51a02ed..c5359b20f8 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -124,6 +124,7 @@ oe_libinstall() { silent="" require_static="" require_shared="" + staging_install="" while [ "$#" -gt 0 ]; do case "$1" in -C) @@ -155,6 +156,10 @@ oe_libinstall() { if [ -z "$destpath" ]; then oefatal "oe_libinstall: no destination path specified" fi + if echo "$destpath/" | egrep '^${STAGING_LIBDIR}/' >/dev/null + then + staging_install=1 + fi __runcmd () { if [ -z "$silent" ]; then @@ -188,7 +193,15 @@ oe_libinstall() { fi dotlai=$libname.lai if [ -f "$dotlai" -a -n "$libtool" ]; then - __runcmd install -m 0644 $dotlai $destpath/$libname.la + if test -n "$staging_install" + then + # stop libtool using the final directory name for libraries + # in staging: + __runcmd rm -f $destpath/$libname.la + __runcmd sed -e 's/^installed=yes$/installed=no/' $dotlai >$destpath/$libname.la + else + __runcmd install -m 0644 $dotlai $destpath/$libname.la + fi fi for name in $library_names; do |