aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/tcltk
diff options
context:
space:
mode:
authorPhil Blundell <philb@gnu.org>2009-11-13 12:11:17 +0000
committerPhil Blundell <philb@gnu.org>2009-11-13 12:11:17 +0000
commit2d32253aadcaeb3139aa303586ee11bc44f2d4c8 (patch)
tree72cfda246beee291d38ce0a19e4306587e43caa1 /recipes/tcltk
parent2f08fd26b2b70ce798115bb406702f02c5fdc310 (diff)
downloadopenembedded-2d32253aadcaeb3139aa303586ee11bc44f2d4c8.tar.gz
tcl: try to fix sundry problems with library staging
Diffstat (limited to 'recipes/tcltk')
-rw-r--r--recipes/tcltk/files/tcl-add-soname.patch51
-rw-r--r--recipes/tcltk/tcl-native_8.4.19.bb2
-rw-r--r--recipes/tcltk/tcl_8.4.19.bb4
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 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
}