mirror of
https://git.yoctoproject.org/poky
synced 2026-04-17 00:32:13 +02:00
tcl: Add tcltk from OE.dev but with legacy staging function removed and converted to BBCLASSEXTEND
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
44
meta/packages/tcltk/tcl/fix-configure.patch
Normal file
44
meta/packages/tcltk/tcl/fix-configure.patch
Normal file
@@ -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`
|
||||
72
meta/packages/tcltk/tcl/tcl-add-soname.patch
Normal file
72
meta/packages/tcltk/tcl/tcl-add-soname.patch
Normal file
@@ -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}
|
||||
47
meta/packages/tcltk/tcl_8.4.19.bb
Normal file
47
meta/packages/tcltk/tcl_8.4.19.bb
Normal file
@@ -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"
|
||||
Reference in New Issue
Block a user