Applied patch to add TCL version 8.4.9 for buildroot submitted by
author"Steven J. Hill" <sjhill@realitydiluted.com>
Tue, 31 May 2005 03:17:33 +0000 (03:17 -0000)
committer"Steven J. Hill" <sjhill@realitydiluted.com>
Tue, 31 May 2005 03:17:33 +0000 (03:17 -0000)
Ivan Daniluk on May 30 01:28:31 MDT 2005.

package/tcl/Config.in [new file with mode: 0644]
package/tcl/tcl-strstr.patch [new file with mode: 0644]
package/tcl/tcl-strtod.patch [new file with mode: 0644]
package/tcl/tcl.mk [new file with mode: 0644]

diff --git a/package/tcl/Config.in b/package/tcl/Config.in
new file mode 100644 (file)
index 0000000..1f75266
--- /dev/null
@@ -0,0 +1,24 @@
+config BR2_PACKAGE_TCL
+       bool "tcl"
+       default n
+       help
+         TCL(Tool Command Language) is a simple textual language.
+
+         http://www.tcl.tk
+
+config BR2_PACKAGE_TCL_DEL_ENCODINGS
+       bool "delete encodings (saves 1.4Mb)"
+       default y
+       depends BR2_PACKAGE_TCL
+       help
+         Delete encoding files for TCL. If your programs do not use various tcl
+         character recoding functions, you may safely choose Y here.
+         It saves approx. 1.4 Mb of space.
+
+config BR2_PACKAGE_TCL_SHLIB_ONLY
+       bool "install only shared library"
+       default y
+       depends BR2_PACKAGE_TCL
+       help
+         Install only TCL shared library and not binary tcl interpreter(tclsh8.4).
+         Saves ~14kb.
diff --git a/package/tcl/tcl-strstr.patch b/package/tcl/tcl-strstr.patch
new file mode 100644 (file)
index 0000000..3bed414
--- /dev/null
@@ -0,0 +1,11 @@
+--- tcl8.4.9/compat/strstr.c   2002-01-26 03:10:08.000000000 +0200
++++ tcl8.4.9/compat/strstr.c   2005-05-30 06:53:40.000000000 +0300
+@@ -33,6 +33,8 @@
+  *----------------------------------------------------------------------
+  */
++#include <unistd.h>
++
+ char *
+ strstr(string, substring)
+     register char *string;    /* String to search. */
diff --git a/package/tcl/tcl-strtod.patch b/package/tcl/tcl-strtod.patch
new file mode 100644 (file)
index 0000000..a997454
--- /dev/null
@@ -0,0 +1,11 @@
+--- tcl8.4.9/compat/strtod.c   2002-02-25 16:26:12.000000000 +0200
++++ tcl8.4.9/compat/strtod.c   2005-05-30 08:55:18.000000000 +0300
+@@ -24,6 +24,8 @@
+ #define NULL 0
+ #endif
++#undef strtod
++
+ static int maxExponent = 511; /* Largest possible base 10 exponent.  Any
+                                * exponent larger than this will already
+                                * produce underflow or overflow, so there's
diff --git a/package/tcl/tcl.mk b/package/tcl/tcl.mk
new file mode 100644 (file)
index 0000000..bf396bb
--- /dev/null
@@ -0,0 +1,70 @@
+#############################################################
+#
+# TCL8.4
+#
+#############################################################
+TCL_VERSION:=8.4.9
+TCL_SOURCE:=tcl$(TCL_VERSION)-src.tar.gz
+TCL_SITE:=http://heanet.dl.sourceforge.net/sourceforge/tcl
+TCL_DIR:=$(BUILD_DIR)/tcl$(TCL_VERSION)
+
+$(DL_DIR)/$(TCL_SOURCE):
+       $(WGET) -P $(DL_DIR) $(TCL_SITE)/$(TCL_SOURCE)
+
+$(TCL_DIR)/.source: $(DL_DIR)/$(TCL_SOURCE)
+       zcat $(DL_DIR)/$(TCL_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       toolchain/patch-kernel.sh $(TCL_DIR) package/tcl/ tcl*.patch
+       touch $(TCL_DIR)/.source
+
+$(TCL_DIR)/.configured: $(TCL_DIR)/.source
+       (cd $(TCL_DIR)/unix; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               ./configure \
+               --target=$(GNU_TARGET_NAME) \
+               --host=$(GNU_TARGET_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --prefix=/usr \
+               --sysconfdir=/etc \
+               --enable-shared \
+               --disable-symbols \
+               --disable-langinfo \
+               --disable-framework \
+       );
+       touch $(TCL_DIR)/.configured;
+
+$(TCL_DIR)/unix/libtcl8.4.so: $(TCL_DIR)/.configured
+       $(MAKE) CC=$(TARGET_CC) -C $(TCL_DIR)/unix
+
+$(TARGET_DIR)/usr/lib/libtcl8.4.so: $(TCL_DIR)/unix/libtcl8.4.so
+       $(MAKE) INSTALL_ROOT=$(TARGET_DIR) -C $(TCL_DIR)/unix install
+       -$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libtcl8.4.so
+       rm -Rf $(TARGET_DIR)/usr/man
+       rm -Rf $(TARGET_DIR)/usr/include
+       -if [ "$(strip $(BR2_PACKAGE_TCL_DEL_ENCODINGS))" == "y" ]; then \
+       rm -Rf $(TARGET_DIR)/usr/lib/tcl8.4/encoding/*; \
+       fi
+       -if [ "$(strip $(BR2_PACKAGE_TCL_SHLIB_ONLY))" == "y" ]; then \
+       rm -f $(TARGET_DIR)/usr/bin/tclsh8.4; \
+       fi
+
+tcl: uclibc $(TARGET_DIR)/usr/lib/libtcl8.4.so
+
+tcl-source: $(DL_DIR)/$(TCL_SOURCE)
+
+tcl-clean:
+       $(MAKE) prefix=$(TARGET_DIR)/usr -C $(TCL_DIR)/unix uninstall
+       -$(MAKE) -C $(TCL_DIR)/unix clean
+
+less-dirclean:
+       rm -rf $(LESS_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_TCL)),y)
+TARGETS+=tcl
+endif
+