From 2d32253aadcaeb3139aa303586ee11bc44f2d4c8 Mon Sep 17 00:00:00 2001 From: Phil Blundell Date: Fri, 13 Nov 2009 12:11:17 +0000 Subject: 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(-) (limited to 'recipes/tcltk') diff --git a/recipes/tcltk/files/tcl-add-soname.patch b/recipes/tcltk/files/tcl-add-soname.patch index 951244327b..38762644cd 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 a2d5efae42..ca8ab612fd 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 e70a2c861c..dc71db9c72 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 } -- cgit v1.2.3