diff options
| -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 + | 
