Commit 423006bb authored by Ezequiel Garcia's avatar Ezequiel Garcia Committed by Peter Korsgaard
Browse files

jimtcl: New package



Add new jimtcl package - a lightweight tclsh alternative.
Useful for a lighter footprint usb_modeswitch installation.
tclsh size is ~700kB for ARM compared to ~200kB for jimtcl.

[Peter: wrap help text, fix file header]
Signed-off-by: default avatarGustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: default avatarEzequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent a20fc5ae
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -310,6 +310,7 @@ source "package/erlang/Config.in"
source "package/enscript/Config.in"
source "package/haserl/Config.in"
source "package/jamvm/Config.in"
source "package/jimtcl/Config.in"
source "package/lua/Config.in"
source "package/luajit/Config.in"
if BR2_PACKAGE_LUA || BR2_PACKAGE_LUAJIT
+10 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_JIMTCL
	bool "jimtcl"
	help
	  Jim Tcl is a small footprint reimplementation of the Tcl
	  scripting language.  The core language engine is compatible
	  with Tcl 8.5+, while implementing a significant subset of
	  the Tcl 8.6 command set, plus additional features available
	  only in Jim Tcl.

	  http://jim.tcl.tk
+62 −0
Original line number Diff line number Diff line
################################################################################
#
# jimtcl
#
################################################################################

JIMTCL_VERSION = 0.73
JIMTCL_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/j/jimtcl
JIMTCL_SOURCE = jimtcl_$(JIMTCL_VERSION).orig.tar.bz2
JIMTCL_INSTALL_STAGING = YES

JIMTCL_HEADERS_TO_INSTALL = \
	jim.h \
	jim-eventloop.h \
	jim-signal.h \
	jim-subcmd.h \
	jim-win32compat.h \
	jim-config.h \

ifeq ($(BR2_PACKAGE_TCL),)
define JIMTCL_LINK_TCLSH
	ln -sf jimsh $(TARGET_DIR)/usr/bin/tclsh
endef
endif

ifeq ($(BR2_PREFER_STATIC_LIB),y)
JIMTCL_SHARED =
JIMTCL_LIB = a
JIMTCL_INSTALL_LIB =
else
JIMTCL_SHARED = --shared
JIMTCL_LIB = so
JIMTCL_INSTALL_LIB = $(INSTALL) -D $(@D)/libjim.$(JIMTCL_LIB) \
		     $(TARGET_DIR)/usr/lib/libjim.$(JIMTCL_LIB)
endif

define JIMTCL_CONFIGURE_CMDS
	(cd $(@D); \
		$(TARGET_CONFIGURE_OPTS) \
		./configure --prefix=/usr \
		$(JIMTCL_SHARED) \
	)
endef

define JIMTCL_BUILD_CMDS
	$(MAKE) -C $(@D)
endef

define JIMTCL_INSTALL_STAGING_CMDS
	for i in $(JIMTCL_HEADERS_TO_INSTALL); do \
		cp -a $(@D)/$$i $(STAGING_DIR)/usr/include/ ; \
	done; \
	$(INSTALL) -D $(@D)/libjim.$(JIMTCL_LIB) $(STAGING_DIR)/usr/lib/libjim.$(JIMTCL_LIB)
endef

define JIMTCL_INSTALL_TARGET_CMDS
	$(INSTALL) -D $(@D)/jimsh $(TARGET_DIR)/usr/bin/jimsh
	$(JIMTCL_INSTALL_LIB)
	$(JIMTCL_LINK_TCLSH)
endef

$(eval $(generic-package))