diff options
Diffstat (limited to 'meta/classes/utils.bbclass')
| -rw-r--r-- | meta/classes/utils.bbclass | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass index d56f51e320..3c2a14fa42 100644 --- a/meta/classes/utils.bbclass +++ b/meta/classes/utils.bbclass | |||
| @@ -62,15 +62,18 @@ def is_machine_specific(d): | |||
| 62 | oe_soinstall() { | 62 | oe_soinstall() { |
| 63 | # Purpose: Install shared library file and | 63 | # Purpose: Install shared library file and |
| 64 | # create the necessary links | 64 | # create the necessary links |
| 65 | # Example: | 65 | # Example: oe_soinstall libfoo.so.1.2.3 ${D}${libdir} |
| 66 | # | ||
| 67 | # oe_ | ||
| 68 | # | ||
| 69 | #bbnote installing shared library $1 to $2 | ||
| 70 | # | ||
| 71 | libname=`basename $1` | 66 | libname=`basename $1` |
| 67 | case "$libname" in | ||
| 68 | *.so) | ||
| 69 | bbfatal "oe_soinstall: Shared library must haved versioned filename (e.g. libfoo.so.1.2.3)" | ||
| 70 | ;; | ||
| 71 | esac | ||
| 72 | install -m 755 $1 $2/$libname | 72 | install -m 755 $1 $2/$libname |
| 73 | sonamelink=`${HOST_PREFIX}readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'` | 73 | sonamelink=`${HOST_PREFIX}readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'` |
| 74 | if [ -z $sonamelink ]; then | ||
| 75 | bbfatal "oe_soinstall: $libname is missing ELF tag 'SONAME'." | ||
| 76 | fi | ||
| 74 | solink=`echo $libname | sed -e 's/\.so\..*/.so/'` | 77 | solink=`echo $libname | sed -e 's/\.so\..*/.so/'` |
| 75 | ln -sf $libname $2/$sonamelink | 78 | ln -sf $libname $2/$sonamelink |
| 76 | ln -sf $libname $2/$solink | 79 | ln -sf $libname $2/$solink |
