diff options
Diffstat (limited to 'package/tcl')
-rw-r--r-- | package/tcl/Config.in | 24 | ||||
-rw-r--r-- | package/tcl/tcl-strstr.patch | 11 | ||||
-rw-r--r-- | package/tcl/tcl-strtod.patch | 11 | ||||
-rw-r--r-- | package/tcl/tcl.mk | 70 |
4 files changed, 116 insertions, 0 deletions
diff --git a/package/tcl/Config.in b/package/tcl/Config.in new file mode 100644 index 000000000..1f75266f0 --- /dev/null +++ b/package/tcl/Config.in @@ -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 index 000000000..3bed414cf --- /dev/null +++ b/package/tcl/tcl-strstr.patch @@ -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 index 000000000..a9974546b --- /dev/null +++ b/package/tcl/tcl-strtod.patch @@ -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 index 000000000..bf396bb83 --- /dev/null +++ b/package/tcl/tcl.mk @@ -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 + |