]> code.ossystems Code Review - openembedded-core.git/commitdiff
tcl: Add tcltk from OE.dev but with legacy staging function removed and converted...
authorRichard Purdie <rpurdie@linux.intel.com>
Wed, 9 Dec 2009 23:59:44 +0000 (23:59 +0000)
committerRichard Purdie <rpurdie@linux.intel.com>
Wed, 9 Dec 2009 23:59:44 +0000 (23:59 +0000)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
meta/packages/tcltk/tcl/fix-configure.patch [new file with mode: 0644]
meta/packages/tcltk/tcl/tcl-add-soname.patch [new file with mode: 0644]
meta/packages/tcltk/tcl_8.4.19.bb [new file with mode: 0644]

diff --git a/meta/packages/tcltk/tcl/fix-configure.patch b/meta/packages/tcltk/tcl/fix-configure.patch
new file mode 100644 (file)
index 0000000..8b2654b
--- /dev/null
@@ -0,0 +1,44 @@
+Index: unix/tcl.m4
+===================================================================
+--- tcl8.4.11/unix.orig/tcl.m4
++++ tcl8.4.11/unix/tcl.m4
+@@ -845,7 +845,7 @@ AC_DEFUN(SC_CONFIG_CFLAGS, [
+           # results, and the version is kept in special file).
+       
+           if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+-              system=MP-RAS-`awk '{print $3}' /etc/.relid'`
++              system=MP-RAS-`awk '{print $3}' /etc/.relid`
+           fi
+           if test "`uname -s`" = "AIX" ; then
+               system=AIX-`uname -v`.`uname -r`
+@@ -2250,7 +2250,7 @@ AC_DEFUN(SC_BLOCKING_STYLE, [
+           # results, and the version is kept in special file).
+       
+           if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+-              system=MP-RAS-`awk '{print $3}' /etc/.relid'`
++              system=MP-RAS-`awk '{print $3}' /etc/.relid`
+           fi
+           if test "`uname -s`" = "AIX" ; then
+               system=AIX-`uname -v`.`uname -r`
+Index: unix/configure
+===================================================================
+--- tcl8.4.11/unix.orig/configure
++++ tcl8.4.11/unix/configure
+@@ -2130,7 +2130,7 @@ echo "configure:2121: checking system ve
+           # results, and the version is kept in special file).
+       
+           if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+-              system=MP-RAS-`awk '{print }' /etc/.relid'`
++              system=MP-RAS-`awk '{print }' /etc/.relid`
+           fi
+           if test "`uname -s`" = "AIX" ; then
+               system=AIX-`uname -v`.`uname -r`
+@@ -7608,7 +7608,7 @@ echo "configure:7600: checking FIONBIO v
+           # results, and the version is kept in special file).
+       
+           if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+-              system=MP-RAS-`awk '{print }' /etc/.relid'`
++              system=MP-RAS-`awk '{print }' /etc/.relid`
+           fi
+           if test "`uname -s`" = "AIX" ; then
+               system=AIX-`uname -v`.`uname -r`
diff --git a/meta/packages/tcltk/tcl/tcl-add-soname.patch b/meta/packages/tcltk/tcl/tcl-add-soname.patch
new file mode 100644 (file)
index 0000000..3876264
--- /dev/null
@@ -0,0 +1,72 @@
+--- 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}"
++
+           if test "$have_dl" = yes; then
+               SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
+               DL_OBJS="tclLoadDl.o"
+               DL_LIBS="-ldl"
+               LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
+-              CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
++              CC_SEARCH_FLAGS=""
+               LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
+           else
+               ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'`
+@@ -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"
++          # following line added by CW for Debian GNU/Linux
++          TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0"
++
+           if test "$have_dl" = yes; then
+               SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
+               DL_OBJS="tclLoadDl.o"
+               DL_LIBS="-ldl"
+               LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
+-              CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
++              CC_SEARCH_FLAGS=""
+               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/meta/packages/tcltk/tcl_8.4.19.bb b/meta/packages/tcltk/tcl_8.4.19.bb
new file mode 100644 (file)
index 0000000..33d600b
--- /dev/null
@@ -0,0 +1,47 @@
+DESCRIPTION = "Tool Command Language"
+LICENSE = "tcl"
+SECTION = "devel/tcltk"
+HOMEPAGE = "http://tcl.sourceforge.net"
+PR = "r3"
+
+SRC_URI = "\
+  ${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \
+  file://tcl-add-soname.patch;patch=1;pnum=2"
+
+S = "${WORKDIR}/tcl${PV}/unix"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-threads"
+
+do_configure() {
+       gnu-configize
+       oe_runconf
+}
+
+do_compile_prepend() {
+       echo > ../compat/fixstrtod.c
+}
+
+do_install() {
+       autotools_do_install
+       oe_libinstall -so libtcl8.4 ${STAGING_LIBDIR}
+       ln -sf ./tclsh8.4 ${D}${bindir}/tclsh
+       sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tclConfig.sh
+       sed -i "s,-L${libdir},," tclConfig.sh
+       install -d ${STAGING_BINDIR_CROSS}/
+       install -m 0755 tclConfig.sh ${STAGING_BINDIR_CROSS}
+       cd ..
+       for dir in compat generic unix
+       do
+               install -d ${STAGING_INCDIR}/tcl${PV}/$dir
+               install -m 0644 $dir/*.h ${STAGING_INCDIR}/tcl${PV}/$dir/
+       done
+}
+
+PACKAGES =+ "${PN}-lib"
+FILES_${PN}-lib = "${libdir}/libtcl8.4.so.*"
+FILES_${PN} += "${libdir}/tcl8.4"
+FILES_${PN}-dev += "${libdir}/tclConfig.sh"
+
+BBCLASSEXTEND = "native"