summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/autotools.bbclass29
-rw-r--r--classes/base.bbclass6
2 files changed, 25 insertions, 10 deletions
diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass
index 8d448ce0d3..49d99614ed 100644
--- a/classes/autotools.bbclass
+++ b/classes/autotools.bbclass
@@ -151,15 +151,32 @@ autotools_stage_includes() {
}
autotools_stage_all() {
- if [ "${INHIBIT_AUTO_STAGE}" != "1" ]
+ if [ "${INHIBIT_AUTO_STAGE}" = "1" ]
then
- rm -rf ${STAGE_TEMP}
- mkdir -p ${STAGE_TEMP}
- oe_runmake DESTDIR="${STAGE_TEMP}" install
+ return
+ fi
+ rm -rf ${STAGE_TEMP}
+ mkdir -p ${STAGE_TEMP}
+ oe_runmake DESTDIR="${STAGE_TEMP}" install
+ if [ -d ${STAGE_TEMP}/${includedir} ]; then
cp -pPR ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}
- cp -pPR ${STAGE_TEMP}/${libdir}/* ${STAGING_LIBDIR}
- rm -rf ${STAGE_TEMP}
fi
+ if [ -d ${STAGE_TEMP}/${libdir} ]
+ then
+ for i in ${STAGE_TEMP}/${libdir}/*.la
+ do
+ if [ ! -f "$i" ]; then
+ cp -pPR ${STAGE_TEMP}/${libdir}/* ${STAGING_LIBDIR}
+ break
+ fi
+ oe_libinstall -a -so $(basename $i .la) ${STAGING_LIBDIR}
+ done
+ fi
+ if [ -d ${STAGE_TEMP}/${datadir}/aclocal ]; then
+ install -d ${STAGING_DATADIR}/aclocal
+ cp -pPR ${STAGE_TEMP}/${datadir}/aclocal/* ${STAGING_DATADIR}/aclocal
+ fi
+ rm -rf ${STAGE_TEMP}
}
EXPORT_FUNCTIONS do_configure do_install
diff --git a/classes/base.bbclass b/classes/base.bbclass
index c5359b20f8..b0ca9358bd 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -171,9 +171,8 @@ oe_libinstall() {
if [ -z "$dir" ]; then
dir=`pwd`
fi
- if [ -d "$dir/.libs" ]; then
- dir=$dir/.libs
- fi
+ dotlai=$libname.lai
+ dir=$dir`(cd $dir; find -name "$dotlai") | sed "s/^\.//;s/\/$dotlai\$//;q"`
olddir=`pwd`
__runcmd cd $dir
@@ -191,7 +190,6 @@ oe_libinstall() {
if [ -f "$dota" -o -n "$require_static" ]; then
__runcmd install -m 0644 $dota $destpath/
fi
- dotlai=$libname.lai
if [ -f "$dotlai" -a -n "$libtool" ]; then
if test -n "$staging_install"
then