tcl: try to fix sundry problems with library staging
authorPhil Blundell <philb@gnu.org>
Fri, 13 Nov 2009 12:11:17 +0000 (12:11 +0000)
committerPhil Blundell <philb@gnu.org>
Fri, 13 Nov 2009 12:11:17 +0000 (12:11 +0000)
recipes/tcltk/files/tcl-add-soname.patch
recipes/tcltk/tcl-native_8.4.19.bb
recipes/tcltk/tcl_8.4.19.bb

index 9512443..3876264 100644 (file)
@@ -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}
index a2d5efa..ca8ab61 100644 (file)
@@ -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
index e70a2c8..dc71db9 100644 (file)
@@ -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
 }