summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/tcltk
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/tcltk')
-rw-r--r--meta/recipes-devtools/tcltk/tcl/fix-configure.patch44
-rw-r--r--meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch63
-rw-r--r--meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch50
-rw-r--r--meta/recipes-devtools/tcltk/tcl_8.5.8.bb62
4 files changed, 219 insertions, 0 deletions
diff --git a/meta/recipes-devtools/tcltk/tcl/fix-configure.patch b/meta/recipes-devtools/tcltk/tcl/fix-configure.patch
new file mode 100644
index 0000000000..8b2654bae0
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/fix-configure.patch
@@ -0,0 +1,44 @@
1Index: unix/tcl.m4
2===================================================================
3--- tcl8.4.11/unix.orig/tcl.m4
4+++ tcl8.4.11/unix/tcl.m4
5@@ -845,7 +845,7 @@ AC_DEFUN(SC_CONFIG_CFLAGS, [
6 # results, and the version is kept in special file).
7
8 if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
9- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
10+ system=MP-RAS-`awk '{print $3}' /etc/.relid`
11 fi
12 if test "`uname -s`" = "AIX" ; then
13 system=AIX-`uname -v`.`uname -r`
14@@ -2250,7 +2250,7 @@ AC_DEFUN(SC_BLOCKING_STYLE, [
15 # results, and the version is kept in special file).
16
17 if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
18- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
19+ system=MP-RAS-`awk '{print $3}' /etc/.relid`
20 fi
21 if test "`uname -s`" = "AIX" ; then
22 system=AIX-`uname -v`.`uname -r`
23Index: unix/configure
24===================================================================
25--- tcl8.4.11/unix.orig/configure
26+++ tcl8.4.11/unix/configure
27@@ -2130,7 +2130,7 @@ echo "configure:2121: checking system ve
28 # results, and the version is kept in special file).
29
30 if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
31- system=MP-RAS-`awk '{print }' /etc/.relid'`
32+ system=MP-RAS-`awk '{print }' /etc/.relid`
33 fi
34 if test "`uname -s`" = "AIX" ; then
35 system=AIX-`uname -v`.`uname -r`
36@@ -7608,7 +7608,7 @@ echo "configure:7600: checking FIONBIO v
37 # results, and the version is kept in special file).
38
39 if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
40- system=MP-RAS-`awk '{print }' /etc/.relid'`
41+ system=MP-RAS-`awk '{print }' /etc/.relid`
42 fi
43 if test "`uname -s`" = "AIX" ; then
44 system=AIX-`uname -v`.`uname -r`
diff --git a/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
new file mode 100644
index 0000000000..b2d98c131c
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
@@ -0,0 +1,63 @@
1Index: unix/Makefile.in
2===================================================================
3--- unix.orig/Makefile.in
4+++ unix/Makefile.in
5@@ -622,20 +622,20 @@ ro-test: tcltest
6 shell: tclsh
7 @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \
8 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
9- ./tclsh $(SCRIPT)
10+ tclsh $(SCRIPT)
11
12 # This target can be used to run tclsh inside either gdb or insight
13 gdb: tclsh
14 @echo "set env @LD_LIBRARY_PATH_VAR@=\"`pwd`:$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run
15 @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
16- $(GDB) ./tclsh --command=gdb.run
17+ $(GDB) tclsh --command=gdb.run
18 rm gdb.run
19
20 # This target can be used to run tclsh inside ddd
21 ddd: tclsh
22 @echo "set env @LD_LIBRARY_PATH_VAR@=\"`pwd`:$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run
23 @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
24- $(DDD) -command=gdb.run ./tclsh
25+ $(DDD) -command=gdb.run tclsh
26 rm gdb.run
27
28 VALGRINDARGS=--tool=memcheck --num-callers=8 --leak-resolution=high --leak-check=yes --show-reachable=yes -v
29@@ -648,7 +648,7 @@ valgrind: tclsh tcltest
30 valgrindshell: tclsh
31 @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \
32 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
33- valgrind $(VALGRINDARGS) ./tclsh $(SCRIPT)
34+ valgrind $(VALGRINDARGS) tclsh $(SCRIPT)
35
36 # The following target outputs the name of the top-level source directory for
37 # Tcl (it is used by Tk's configure script, for example). The .NO_PARALLEL
38@@ -817,14 +817,14 @@ install-tzdata: tclsh
39 @echo "Installing time zone data"
40 @@LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \
41 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
42- ./tclsh $(TOOL_DIR)/installData.tcl \
43+ tclsh $(TOOL_DIR)/installData.tcl \
44 $(TOP_DIR)/library/tzdata "$(SCRIPT_INSTALL_DIR)"/tzdata
45
46 install-msgs: tclsh
47 @echo "Installing message catalogs"
48 @@LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \
49 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
50- ./tclsh $(TOOL_DIR)/installData.tcl \
51+ tclsh $(TOOL_DIR)/installData.tcl \
52 $(TOP_DIR)/library/msgs "$(SCRIPT_INSTALL_DIR)"/msgs
53
54 install-doc: doc
55@@ -1764,7 +1764,7 @@ html-tk: tclsh
56 BUILD_HTML = \
57 @@LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \
58 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
59- ./tclsh $(TOOL_DIR)/tcltk-man2html.tcl --htmldir="$(HTML_INSTALL_DIR)" \
60+ tclsh $(TOOL_DIR)/tcltk-man2html.tcl --htmldir="$(HTML_INSTALL_DIR)" \
61 --srcdir=$(TOP_DIR)/.. $(BUILD_HTML_FLAGS)
62
63 #
diff --git a/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch b/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch
new file mode 100644
index 0000000000..9cb816da51
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch
@@ -0,0 +1,50 @@
1Index: unix/configure
2===================================================================
3--- unix.orig/configure
4+++ unix/configure
5@@ -6726,6 +6726,7 @@ fi
6 # symbols when dynamically loaded into tclsh.
7 SHLIB_LD_LIBS='${LIBS}'
8 SHLIB_SUFFIX=".so"
9+ SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.so.0'
10
11 DL_OBJS="tclLoadDl.o"
12 LD_LIBRARY_PATH_VAR="LIBPATH"
13Index: unix/tcl.m4
14===================================================================
15--- unix.orig/tcl.m4
16+++ unix/tcl.m4
17@@ -1424,6 +1424,7 @@ dnl AC_CHECK_TOOL(AR, ar)
18 SHLIB_CFLAGS="-fPIC"
19 SHLIB_LD_LIBS='${LIBS}'
20 SHLIB_SUFFIX=".so"
21+ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.0'
22
23 CFLAGS_OPTIMIZE="-O2"
24 # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings
25@@ -1431,12 +1432,15 @@ dnl AC_CHECK_TOOL(AR, ar)
26 # get rid of the warnings.
27 #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
28
29+ # following line added by CW for Debian GNU/Linux
30+ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0"
31+
32 SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
33 DL_OBJS="tclLoadDl.o"
34 DL_LIBS="-ldl"
35 LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
36 AS_IF([test $doRpath = yes], [
37- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
38+ CC_SEARCH_FLAGS=''])
39 LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
40 AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"])
41 AS_IF([test $do64bit = yes], [
42@@ -2079,7 +2083,7 @@ dnl # preprocessing tests use only CPPFL
43
44 AS_IF([test "${SHARED_BUILD}" = 1 -a "${SHLIB_SUFFIX}" != ""], [
45 LIB_SUFFIX=${SHARED_LIB_SUFFIX}
46- MAKE_LIB='${SHLIB_LD} -o [$]@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS}'
47+ MAKE_LIB='${SHLIB_LD} -o $@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS}'
48 INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)"/$(LIB_FILE)'
49 ], [
50 LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}
diff --git a/meta/recipes-devtools/tcltk/tcl_8.5.8.bb b/meta/recipes-devtools/tcltk/tcl_8.5.8.bb
new file mode 100644
index 0000000000..880340067c
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl_8.5.8.bb
@@ -0,0 +1,62 @@
1DESCRIPTION = "Tool Command Language"
2LICENSE = "tcl"
3SECTION = "devel/tcltk"
4HOMEPAGE = "http://tcl.sourceforge.net"
5DEPENDS = "tcl-native"
6LIC_CHKSUM_FILES = "file://../license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
7 file://../compat/license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
8 file://../library/license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
9 file://../macosx/license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
10 file://../tests/license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
11 file://../win/license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
12 "
13
14PR = "r2"
15
16BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \
17 file://tcl-add-soname.patch"
18
19SRC_URI = "${BASE_SRC_URI} \
20 file://fix_non_native_build_issue.patch"
21
22SRC_URI_virtclass-native = "${BASE_SRC_URI}"
23
24S = "${WORKDIR}/tcl${PV}/unix"
25
26inherit autotools
27
28DEPENDS_virtclass-native = ""
29
30EXTRA_OECONF = "--enable-threads"
31
32do_configure() {
33 gnu-configize
34 oe_runconf
35}
36
37do_compile_prepend() {
38 echo > ../compat/fixstrtod.c
39}
40
41do_install() {
42 autotools_do_install
43 oe_libinstall -so libtcl8.5 ${STAGING_LIBDIR}
44 ln -sf ./tclsh8.5 ${D}${bindir}/tclsh
45 sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tclConfig.sh
46 sed -i "s,-L${libdir},," tclConfig.sh
47 install -d ${STAGING_BINDIR_CROSS}/
48 install -m 0755 tclConfig.sh ${STAGING_BINDIR_CROSS}
49 cd ..
50 for dir in compat generic unix
51 do
52 install -d ${STAGING_INCDIR}/tcl${PV}/$dir
53 install -m 0644 $dir/*.h ${STAGING_INCDIR}/tcl${PV}/$dir/
54 done
55}
56
57PACKAGES =+ "${PN}-lib"
58FILES_${PN}-lib = "${libdir}/libtcl8.5.so.*"
59FILES_${PN} += "${libdir}/tcl8.5"
60FILES_${PN}-dev += "${libdir}/tclConfig.sh"
61
62BBCLASSEXTEND = "native"