[oe-commits] Phil Blundell : tcl: try to fix sundry problems with library staging

git version control git at git.openembedded.org
Fri Nov 13 12:11:57 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 2d32253aadcaeb3139aa303586ee11bc44f2d4c8
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=2d32253aadcaeb3139aa303586ee11bc44f2d4c8

Author: Phil Blundell <philb at gnu.org>
Date:   Fri Nov 13 12:11:17 2009 +0000

tcl: try to fix sundry problems with library staging

---

 recipes/tcltk/files/tcl-add-soname.patch |   51 ++++++++++++++++++++++++------
 recipes/tcltk/tcl-native_8.4.19.bb       |    2 +-
 recipes/tcltk/tcl_8.4.19.bb              |    4 +--
 3 files changed, 43 insertions(+), 14 deletions(-)

diff --git a/recipes/tcltk/files/tcl-add-soname.patch b/recipes/tcltk/files/tcl-add-soname.patch
index 9512443..3876264 100644
--- a/recipes/tcltk/files/tcl-add-soname.patch
+++ b/recipes/tcltk/files/tcl-add-soname.patch
@@ -1,14 +1,19 @@
-Patch by Chris Waters removes -rpath from search flags and adds -soname
-to library build options.
-
---- tcl8.4-8.4.19.orig/unix/configure
-+++ tcl8.4-8.4.19/unix/configure
-@@ -3072,12 +3072,15 @@
+--- clean/tcl8.4.19/unix/configure	2008-04-17 21:29:49.000000000 +0100
++++ tcl8.4.19/unix/configure	2009-11-13 11:46:36.000000000 +0000
+@@ -3065,6 +3065,7 @@
+ 	    SHLIB_CFLAGS="-fPIC"
+ 	    SHLIB_LD_LIBS='${LIBS}'
+ 	    SHLIB_SUFFIX=".so"
++	    SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.so.0'
+ 
+ 	    CFLAGS_OPTIMIZE=-O2
+ 	    # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings 
+@@ -3072,12 +3073,15 @@
  	    # get rid of the warnings.
  	    #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
  
 +	    # following line added by CW for Debian GNU/Linux
-+	    TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0"
++	    TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}"
 +
  	    if test "$have_dl" = yes; then
  		SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
@@ -20,9 +25,26 @@ to library build options.
  		LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
  	    else
  		ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'`
---- tcl8.4-8.4.19.orig/unix/tcl.m4
-+++ tcl8.4-8.4.19/unix/tcl.m4
-@@ -1346,12 +1346,15 @@
+@@ -4299,7 +4303,7 @@
+ 
+     if test "${SHARED_BUILD}" = "1" && test "${SHLIB_SUFFIX}" != "" ; then
+         LIB_SUFFIX=${SHARED_LIB_SUFFIX}
+-        MAKE_LIB='${SHLIB_LD} -o $@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS}'
++        MAKE_LIB='${SHLIB_LD} -o $@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS} ; ln -s $(LIB_FILE) `basename $(LIB_FILE) .so.0`\${SHLIB_SUFFIX}'
+         INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) $(LIB_INSTALL_DIR)/$(LIB_FILE)'
+     else
+         LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}
+--- clean/tcl8.4.19/unix/tcl.m4	2008-04-17 21:29:49.000000000 +0100
++++ tcl8.4.19/unix/tcl.m4	2009-11-13 11:53:57.000000000 +0000
+@@ -1337,6 +1337,7 @@
+ 	    SHLIB_CFLAGS="-fPIC"
+ 	    SHLIB_LD_LIBS='${LIBS}'
+ 	    SHLIB_SUFFIX=".so"
++	    SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.0'
+ 
+ 	    CFLAGS_OPTIMIZE=-O2
+ 	    # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings 
+@@ -1344,12 +1345,15 @@
  	    # get rid of the warnings.
  	    #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
  
@@ -39,3 +61,12 @@ to library build options.
  		LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
  	    else
  		AC_CHECK_HEADER(dld.h, [
+@@ -2117,7 +2121,7 @@
+ 
+     if test "${SHARED_BUILD}" = "1" && test "${SHLIB_SUFFIX}" != "" ; then
+         LIB_SUFFIX=${SHARED_LIB_SUFFIX}
+-        MAKE_LIB='${SHLIB_LD} -o [$]@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS}'
++        MAKE_LIB='${SHLIB_LD} -o $@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS} ; ln -s $(LIB_FILE) `basename $(LIB_FILE) .so.0`\${SHLIB_SUFFIX}'
+         INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) $(LIB_INSTALL_DIR)/$(LIB_FILE)'
+     else
+         LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}
diff --git a/recipes/tcltk/tcl-native_8.4.19.bb b/recipes/tcltk/tcl-native_8.4.19.bb
index a2d5efa..ca8ab61 100644
--- a/recipes/tcltk/tcl-native_8.4.19.bb
+++ b/recipes/tcltk/tcl-native_8.4.19.bb
@@ -9,7 +9,7 @@ do_stage() {
 	install -d ${STAGING_BINDIR}/
 	install -m 0755 tclConfig.sh ${STAGING_BINDIR}
 	install -m 0755 tclsh ${STAGING_BINDIR}/tclsh8.4
-        ln -s tclsh8.4 ${STAGING_BINDIR}/tclsh
+        ln -s -f tclsh8.4 ${STAGING_BINDIR}/tclsh
 	cd ..
 	for dir in compat generic unix
 	do
diff --git a/recipes/tcltk/tcl_8.4.19.bb b/recipes/tcltk/tcl_8.4.19.bb
index e70a2c8..dc71db9 100644
--- a/recipes/tcltk/tcl_8.4.19.bb
+++ b/recipes/tcltk/tcl_8.4.19.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Tool Command Language"
 LICENSE = "tcl"
 SECTION = "devel/tcltk"
 HOMEPAGE = "http://tcl.sourceforge.net"
-PR = "r2"
+PR = "r3"
 
 SRC_URI = "\
   ${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \
@@ -44,8 +44,6 @@ do_stage() {
 
 do_install() {
 	autotools_do_install
-	mv libtcl8.4.so libtcl8.4.so.0
-	oe_libinstall -so libtcl8.4 ${D}${libdir}
 	ln -sf ./tclsh8.4 ${D}${bindir}/tclsh
 }
 





More information about the Openembedded-commits mailing list