* [ptxdist] [PATCH v4] jimtcl: new package
@ 2018-10-04 18:05 Ladislav Michl
2018-10-05 5:45 ` Michael Olbrich
0 siblings, 1 reply; 3+ messages in thread
From: Ladislav Michl @ 2018-10-04 18:05 UTC (permalink / raw)
To: ptxdist
Jim is an opensource small-footprint implementation of the Tcl
programming language. So far only default extensions are
compiled - lets see what users really need.
This package is intended to replace Tcl (which is in staging
already) as it fits PTXdist more due to its small size.
Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
---
Changes:
-v2: use http url to help poor firewalled developers in corporate
-v3: bootstrap using host-jimtcl. If no tclsh is found inside host-jimtcl
package just compiles its own bootsrap shell. Add config support
for build options.
-v4: set CCACHE=none to prevent jimtcl to discover ccache on its own
(squashed patch by Roland Hieber)
rules/host-jimtcl.in | 6 +++
rules/host-jimtcl.make | 40 +++++++++++++++++++
rules/jimtcl.in | 50 +++++++++++++++++++++++
rules/jimtcl.make | 91 ++++++++++++++++++++++++++++++++++++++++++
4 files changed, 187 insertions(+)
create mode 100644 rules/host-jimtcl.in
create mode 100644 rules/host-jimtcl.make
create mode 100644 rules/jimtcl.in
create mode 100644 rules/jimtcl.make
diff --git a/rules/host-jimtcl.in b/rules/host-jimtcl.in
new file mode 100644
index 000000000..ccd2d23bd
--- /dev/null
+++ b/rules/host-jimtcl.in
@@ -0,0 +1,6 @@
+## SECTION=hosttools_noprompt
+## SECTION=hosttools_platform
+
+config HOST_JIMTCL
+ tristate
+ default ALLYES
diff --git a/rules/host-jimtcl.make b/rules/host-jimtcl.make
new file mode 100644
index 000000000..60738f752
--- /dev/null
+++ b/rules/host-jimtcl.make
@@ -0,0 +1,40 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2018 by Ladislav Michl <ladis@linux-mips.org>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_JIMTCL) += host-jimtcl
+
+#
+# Paths and names
+#
+HOST_JIMTCL := $(JIMTCL)
+HOST_JIMTCL_DIR := $(HOST_BUILDDIR)/$(HOST_JIMTCL)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# Package is not using autoconf but autosetup which is enough compatible...
+#
+HOST_JIMTCL_CONF_TOOL := autoconf
+# autosetup/cc.tcl tries to discover ccache on its own, so use 'CCACHE=none'
+# to prevent that and leave PTXCONF_SETUP_CCACHE in charge.
+HOST_JIMTCL_CONF_ENV := \
+ $(HOST_ENV) \
+ CCACHE=none
+HOST_JIMTCL_CONF_OPT := \
+ --prefix=/usr \
+ --disable-lineedit \
+ --disable-docs
+
+# vim: syntax=make
diff --git a/rules/jimtcl.in b/rules/jimtcl.in
new file mode 100644
index 000000000..1e052d3e4
--- /dev/null
+++ b/rules/jimtcl.in
@@ -0,0 +1,50 @@
+## SECTION=scripting_languages
+
+menuconfig JIMTCL
+ tristate
+ prompt "jimtcl "
+ select HOST_JIMTCL
+ select LIBC_M if JIMTCL_MATH
+ select OPENSSL if JIMTCL_SSL
+ help
+ Jim provides a powerful Tcl language implemented in roughly
+ 10k lines of code making it suitable for deployment on
+ Embedded Systems.
+
+if JIMTCL
+
+config JIMTCL_SHELL
+ bool "install jimsh"
+ help
+ Install Tcl shell on the target
+
+config JIMTCL_SYMLINK
+ bool "install tclsh symlink"
+ depends on JIMTCL_SHELL
+ help
+ Make tclsh symlink to jimsh
+
+config JIMTCL_UTF8
+ bool "support utf8"
+
+config JIMTCL_LINEEDIT
+ bool "line editing"
+ default y
+
+config JIMTCL_REFERENCES
+ bool "support references"
+ default y
+
+config JIMTCL_MATH
+ bool "support math functions"
+
+config JIMTCL_SSL
+ bool "ssl/tls support in the aio extension"
+
+config JIMTCL_POSIX_REGEX
+ bool "use POSIX regex instead the built-in (Tcl-compatible) regex"
+
+config JIMTCL_RANDOM_HASH
+ bool "randomise hash tables"
+
+endif
diff --git a/rules/jimtcl.make b/rules/jimtcl.make
new file mode 100644
index 000000000..a169a7936
--- /dev/null
+++ b/rules/jimtcl.make
@@ -0,0 +1,91 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2018 by Ladislav Michl <ladis@linux-mips.org>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_JIMTCL) += jimtcl
+
+#
+# Paths and names
+#
+JIMTCL_VERSION := 0.78
+JIMTCL_MD5 := bde9021d78a77fe28e1bbc423142ab23
+JIMTCL := jimtcl-$(JIMTCL_VERSION)
+JIMTCL_SUFFIX := tar.xz
+JIMTCL_URL := http://repo.or.cz/jimtcl.git;tag=$(JIMTCL_VERSION)
+JIMTCL_SOURCE := $(SRCDIR)/$(JIMTCL).$(JIMTCL_SUFFIX)
+JIMTCL_DIR := $(BUILDDIR)/$(JIMTCL)
+JIMTCL_LICENSE := BSD-2-Clause
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# Package is not using autoconf but autosetup which is enough compatible...
+#
+JIMTCL_CONF_TOOL := autoconf
+# autosetup/cc.tcl tries to discover ccache on its own, so use 'CCACHE=none'
+# to prevent that and leave PTXCONF_SETUP_CCACHE in charge.
+JIMTCL_CONF_ENV := \
+ $(CROSS_ENV) \
+ CCACHE=none \
+ autosetup_tclsh=$(PTXCONF_SYSROOT_HOST)/usr/bin/jimsh
+JIMTCL_CONF_OPT := \
+ $(CROSS_AUTOCONF_USR) \
+ $(call ptx/ifdef, PTXCONF_JIMTCL_UTF8,--utf8,) \
+ $(call ptx/ifdef, PTXCONF_JIMTCL_LINEEDIT,,--disable-lineedit) \
+ $(call ptx/ifdef, PTXCONF_JIMTCL_REFERENCES,,--disable-references) \
+ $(call ptx/ifdef, PTXCONF_JIMTCL_MATH,--math,) \
+ $(call ptx/ifdef, PTXCONF_JIMTCL_SSL,--ssl,) \
+ $(call ptx/ifdef, PTXCONF_GLOBAL_IPV6,--ipv6,) \
+ --shared \
+ $(call ptx/ifdef, PTXCONF_JIMTCL_POSIX_REGEX,--disable-jim-regexp,) \
+ --disable-docs \
+ $(call ptx/ifdef, PTXCONF_JIMTCL_RANDOM_HASH,--random-hash,)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/jimtcl.install:
+ @$(call targetinfo)
+ @$(call world/install, JIMTCL)
+ @ln -sf libjim.so.$(JIMTCL_VERSION) $(JIMTCL_PKGDIR)/usr/lib/libjim.so
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/jimtcl.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, jimtcl)
+ @$(call install_fixup, jimtcl, PRIORITY, optional)
+ @$(call install_fixup, jimtcl, SECTION, base)
+ @$(call install_fixup, jimtcl, AUTHOR, "Ladislav Michl <ladis@linux-mips.org>")
+ @$(call install_fixup, jimtcl, DESCRIPTION, \
+ "A small footprint implementation of the Tcl programming language")
+
+ifdef PTXCONF_JIMTCL_SHELL
+ @$(call install_copy, jimtcl, 0, 0, 0755, -, /usr/bin/jimsh)
+ifdef PTXCONF_JIMTCL_SYMLINK
+ @$(call install_link, jimtcl, jimsh, /usr/bin/tclsh)
+endif
+endif
+ @$(call install_lib, jimtcl, 0, 0, 0644, libjim)
+
+ @$(call install_finish, jimtcl)
+
+ @$(call touch)
+
+# vim: syntax=make
--
2.19.0
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ptxdist] [PATCH v4] jimtcl: new package
2018-10-04 18:05 [ptxdist] [PATCH v4] jimtcl: new package Ladislav Michl
@ 2018-10-05 5:45 ` Michael Olbrich
2018-10-05 6:19 ` Ladislav Michl
0 siblings, 1 reply; 3+ messages in thread
From: Michael Olbrich @ 2018-10-05 5:45 UTC (permalink / raw)
To: ptxdist
On Thu, Oct 04, 2018 at 08:05:57PM +0200, Ladislav Michl wrote:
> Jim is an opensource small-footprint implementation of the Tcl
> programming language. So far only default extensions are
> compiled - lets see what users really need.
> This package is intended to replace Tcl (which is in staging
> already) as it fits PTXdist more due to its small size.
>
> Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
> ---
> Changes:
> -v2: use http url to help poor firewalled developers in corporate
> -v3: bootstrap using host-jimtcl. If no tclsh is found inside host-jimtcl
> package just compiles its own bootsrap shell. Add config support
> for build options.
Hmmm, is the host-jimtcl needed? I would expect, that bootstrapping works
for the target packages as well, or is this incompatible with
cross-compiling?
> -v4: set CCACHE=none to prevent jimtcl to discover ccache on its own
> (squashed patch by Roland Hieber)
>
> rules/host-jimtcl.in | 6 +++
> rules/host-jimtcl.make | 40 +++++++++++++++++++
> rules/jimtcl.in | 50 +++++++++++++++++++++++
> rules/jimtcl.make | 91 ++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 187 insertions(+)
> create mode 100644 rules/host-jimtcl.in
> create mode 100644 rules/host-jimtcl.make
> create mode 100644 rules/jimtcl.in
> create mode 100644 rules/jimtcl.make
>
> diff --git a/rules/host-jimtcl.in b/rules/host-jimtcl.in
> new file mode 100644
> index 000000000..ccd2d23bd
> --- /dev/null
> +++ b/rules/host-jimtcl.in
> @@ -0,0 +1,6 @@
> +## SECTION=hosttools_noprompt
> +## SECTION=hosttools_platform
> +
> +config HOST_JIMTCL
> + tristate
> + default ALLYES
> diff --git a/rules/host-jimtcl.make b/rules/host-jimtcl.make
> new file mode 100644
> index 000000000..60738f752
> --- /dev/null
> +++ b/rules/host-jimtcl.make
> @@ -0,0 +1,40 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2018 by Ladislav Michl <ladis@linux-mips.org>
> +#
> +# See CREDITS for details about who has contributed to this project.
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +HOST_PACKAGES-$(PTXCONF_HOST_JIMTCL) += host-jimtcl
> +
> +#
> +# Paths and names
> +#
> +HOST_JIMTCL := $(JIMTCL)
> +HOST_JIMTCL_DIR := $(HOST_BUILDDIR)/$(HOST_JIMTCL)
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +#
> +# Package is not using autoconf but autosetup which is enough compatible...
> +#
> +HOST_JIMTCL_CONF_TOOL := autoconf
> +# autosetup/cc.tcl tries to discover ccache on its own, so use 'CCACHE=none'
> +# to prevent that and leave PTXCONF_SETUP_CCACHE in charge.
> +HOST_JIMTCL_CONF_ENV := \
> + $(HOST_ENV) \
> + CCACHE=none
> +HOST_JIMTCL_CONF_OPT := \
> + --prefix=/usr \
> + --disable-lineedit \
> + --disable-docs
> +
> +# vim: syntax=make
> diff --git a/rules/jimtcl.in b/rules/jimtcl.in
> new file mode 100644
> index 000000000..1e052d3e4
> --- /dev/null
> +++ b/rules/jimtcl.in
> @@ -0,0 +1,50 @@
> +## SECTION=scripting_languages
> +
> +menuconfig JIMTCL
> + tristate
> + prompt "jimtcl "
> + select HOST_JIMTCL
> + select LIBC_M if JIMTCL_MATH
> + select OPENSSL if JIMTCL_SSL
> + help
> + Jim provides a powerful Tcl language implemented in roughly
> + 10k lines of code making it suitable for deployment on
> + Embedded Systems.
> +
> +if JIMTCL
> +
> +config JIMTCL_SHELL
> + bool "install jimsh"
> + help
> + Install Tcl shell on the target
> +
> +config JIMTCL_SYMLINK
> + bool "install tclsh symlink"
> + depends on JIMTCL_SHELL
depends on !TCL
For now, at least until TCL is gone.
> + help
> + Make tclsh symlink to jimsh
> +
> +config JIMTCL_UTF8
> + bool "support utf8"
> +
> +config JIMTCL_LINEEDIT
> + bool "line editing"
> + default y
> +
> +config JIMTCL_REFERENCES
> + bool "support references"
> + default y
> +
> +config JIMTCL_MATH
> + bool "support math functions"
> +
> +config JIMTCL_SSL
> + bool "ssl/tls support in the aio extension"
> +
> +config JIMTCL_POSIX_REGEX
> + bool "use POSIX regex instead the built-in (Tcl-compatible) regex"
> +
> +config JIMTCL_RANDOM_HASH
> + bool "randomise hash tables"
Too many options I think. The ones with additional dependencies are ok,
IPv6 too. For the rest I'd prefer a sane default, unless there are good
reasons to make it configurable. Maybe Tcl compatibility?
> +
> +endif
> diff --git a/rules/jimtcl.make b/rules/jimtcl.make
> new file mode 100644
> index 000000000..a169a7936
> --- /dev/null
> +++ b/rules/jimtcl.make
> @@ -0,0 +1,91 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2018 by Ladislav Michl <ladis@linux-mips.org>
> +#
> +# See CREDITS for details about who has contributed to this project.
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_JIMTCL) += jimtcl
> +
> +#
> +# Paths and names
> +#
> +JIMTCL_VERSION := 0.78
> +JIMTCL_MD5 := bde9021d78a77fe28e1bbc423142ab23
> +JIMTCL := jimtcl-$(JIMTCL_VERSION)
> +JIMTCL_SUFFIX := tar.xz
> +JIMTCL_URL := http://repo.or.cz/jimtcl.git;tag=$(JIMTCL_VERSION)
> +JIMTCL_SOURCE := $(SRCDIR)/$(JIMTCL).$(JIMTCL_SUFFIX)
> +JIMTCL_DIR := $(BUILDDIR)/$(JIMTCL)
> +JIMTCL_LICENSE := BSD-2-Clause
Trailing whitespace.
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +#
> +# Package is not using autoconf but autosetup which is enough compatible...
> +#
> +JIMTCL_CONF_TOOL := autoconf
> +# autosetup/cc.tcl tries to discover ccache on its own, so use 'CCACHE=none'
> +# to prevent that and leave PTXCONF_SETUP_CCACHE in charge.
> +JIMTCL_CONF_ENV := \
> + $(CROSS_ENV) \
> + CCACHE=none \
> + autosetup_tclsh=$(PTXCONF_SYSROOT_HOST)/usr/bin/jimsh
> +JIMTCL_CONF_OPT := \
> + $(CROSS_AUTOCONF_USR) \
> + $(call ptx/ifdef, PTXCONF_JIMTCL_UTF8,--utf8,) \
> + $(call ptx/ifdef, PTXCONF_JIMTCL_LINEEDIT,,--disable-lineedit) \
> + $(call ptx/ifdef, PTXCONF_JIMTCL_REFERENCES,,--disable-references) \
> + $(call ptx/ifdef, PTXCONF_JIMTCL_MATH,--math,) \
> + $(call ptx/ifdef, PTXCONF_JIMTCL_SSL,--ssl,) \
> + $(call ptx/ifdef, PTXCONF_GLOBAL_IPV6,--ipv6,) \
> + --shared \
> + $(call ptx/ifdef, PTXCONF_JIMTCL_POSIX_REGEX,--disable-jim-regexp,) \
> + --disable-docs \
> + $(call ptx/ifdef, PTXCONF_JIMTCL_RANDOM_HASH,--random-hash,)
> +
> +# ----------------------------------------------------------------------------
> +# Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/jimtcl.install:
> + @$(call targetinfo)
> + @$(call world/install, JIMTCL)
> + @ln -sf libjim.so.$(JIMTCL_VERSION) $(JIMTCL_PKGDIR)/usr/lib/libjim.so
Why is this needed?
Michael
> + @$(call touch)
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/jimtcl.targetinstall:
> + @$(call targetinfo)
> +
> + @$(call install_init, jimtcl)
> + @$(call install_fixup, jimtcl, PRIORITY, optional)
> + @$(call install_fixup, jimtcl, SECTION, base)
> + @$(call install_fixup, jimtcl, AUTHOR, "Ladislav Michl <ladis@linux-mips.org>")
> + @$(call install_fixup, jimtcl, DESCRIPTION, \
> + "A small footprint implementation of the Tcl programming language")
> +
> +ifdef PTXCONF_JIMTCL_SHELL
> + @$(call install_copy, jimtcl, 0, 0, 0755, -, /usr/bin/jimsh)
> +ifdef PTXCONF_JIMTCL_SYMLINK
> + @$(call install_link, jimtcl, jimsh, /usr/bin/tclsh)
> +endif
> +endif
> + @$(call install_lib, jimtcl, 0, 0, 0644, libjim)
> +
> + @$(call install_finish, jimtcl)
> +
> + @$(call touch)
> +
> +# vim: syntax=make
> --
> 2.19.0
>
>
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ptxdist] [PATCH v4] jimtcl: new package
2018-10-05 5:45 ` Michael Olbrich
@ 2018-10-05 6:19 ` Ladislav Michl
0 siblings, 0 replies; 3+ messages in thread
From: Ladislav Michl @ 2018-10-05 6:19 UTC (permalink / raw)
To: ptxdist
On Fri, Oct 05, 2018 at 07:45:57AM +0200, Michael Olbrich wrote:
> On Thu, Oct 04, 2018 at 08:05:57PM +0200, Ladislav Michl wrote:
> > Jim is an opensource small-footprint implementation of the Tcl
> > programming language. So far only default extensions are
> > compiled - lets see what users really need.
> > This package is intended to replace Tcl (which is in staging
> > already) as it fits PTXdist more due to its small size.
> >
> > Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
> > ---
> > Changes:
> > -v2: use http url to help poor firewalled developers in corporate
> > -v3: bootstrap using host-jimtcl. If no tclsh is found inside host-jimtcl
> > package just compiles its own bootsrap shell. Add config support
> > for build options.
>
> Hmmm, is the host-jimtcl needed? I would expect, that bootstrapping works
> for the target packages as well, or is this incompatible with
> cross-compiling?
We need tcl shell for usb_modeswitch package anyway, so better to build it
right here.
> > -v4: set CCACHE=none to prevent jimtcl to discover ccache on its own
> > (squashed patch by Roland Hieber)
> >
> > rules/host-jimtcl.in | 6 +++
> > rules/host-jimtcl.make | 40 +++++++++++++++++++
> > rules/jimtcl.in | 50 +++++++++++++++++++++++
> > rules/jimtcl.make | 91 ++++++++++++++++++++++++++++++++++++++++++
> > 4 files changed, 187 insertions(+)
> > create mode 100644 rules/host-jimtcl.in
> > create mode 100644 rules/host-jimtcl.make
> > create mode 100644 rules/jimtcl.in
> > create mode 100644 rules/jimtcl.make
> >
> > diff --git a/rules/host-jimtcl.in b/rules/host-jimtcl.in
> > new file mode 100644
> > index 000000000..ccd2d23bd
> > --- /dev/null
> > +++ b/rules/host-jimtcl.in
> > @@ -0,0 +1,6 @@
> > +## SECTION=hosttools_noprompt
> > +## SECTION=hosttools_platform
> > +
> > +config HOST_JIMTCL
> > + tristate
> > + default ALLYES
> > diff --git a/rules/host-jimtcl.make b/rules/host-jimtcl.make
> > new file mode 100644
> > index 000000000..60738f752
> > --- /dev/null
> > +++ b/rules/host-jimtcl.make
> > @@ -0,0 +1,40 @@
> > +# -*-makefile-*-
> > +#
> > +# Copyright (C) 2018 by Ladislav Michl <ladis@linux-mips.org>
> > +#
> > +# See CREDITS for details about who has contributed to this project.
> > +#
> > +# For further information about the PTXdist project and license conditions
> > +# see the README file.
> > +#
> > +
> > +#
> > +# We provide this package
> > +#
> > +HOST_PACKAGES-$(PTXCONF_HOST_JIMTCL) += host-jimtcl
> > +
> > +#
> > +# Paths and names
> > +#
> > +HOST_JIMTCL := $(JIMTCL)
> > +HOST_JIMTCL_DIR := $(HOST_BUILDDIR)/$(HOST_JIMTCL)
> > +
> > +# ----------------------------------------------------------------------------
> > +# Prepare
> > +# ----------------------------------------------------------------------------
> > +
> > +#
> > +# Package is not using autoconf but autosetup which is enough compatible...
> > +#
> > +HOST_JIMTCL_CONF_TOOL := autoconf
> > +# autosetup/cc.tcl tries to discover ccache on its own, so use 'CCACHE=none'
> > +# to prevent that and leave PTXCONF_SETUP_CCACHE in charge.
> > +HOST_JIMTCL_CONF_ENV := \
> > + $(HOST_ENV) \
> > + CCACHE=none
> > +HOST_JIMTCL_CONF_OPT := \
> > + --prefix=/usr \
> > + --disable-lineedit \
> > + --disable-docs
> > +
> > +# vim: syntax=make
> > diff --git a/rules/jimtcl.in b/rules/jimtcl.in
> > new file mode 100644
> > index 000000000..1e052d3e4
> > --- /dev/null
> > +++ b/rules/jimtcl.in
> > @@ -0,0 +1,50 @@
> > +## SECTION=scripting_languages
> > +
> > +menuconfig JIMTCL
> > + tristate
> > + prompt "jimtcl "
> > + select HOST_JIMTCL
> > + select LIBC_M if JIMTCL_MATH
> > + select OPENSSL if JIMTCL_SSL
> > + help
> > + Jim provides a powerful Tcl language implemented in roughly
> > + 10k lines of code making it suitable for deployment on
> > + Embedded Systems.
> > +
> > +if JIMTCL
> > +
> > +config JIMTCL_SHELL
> > + bool "install jimsh"
> > + help
> > + Install Tcl shell on the target
> > +
> > +config JIMTCL_SYMLINK
> > + bool "install tclsh symlink"
> > + depends on JIMTCL_SHELL
>
> depends on !TCL
>
> For now, at least until TCL is gone.
Ok.
> > + help
> > + Make tclsh symlink to jimsh
> > +
> > +config JIMTCL_UTF8
> > + bool "support utf8"
> > +
> > +config JIMTCL_LINEEDIT
> > + bool "line editing"
> > + default y
> > +
> > +config JIMTCL_REFERENCES
> > + bool "support references"
> > + default y
> > +
> > +config JIMTCL_MATH
> > + bool "support math functions"
> > +
> > +config JIMTCL_SSL
> > + bool "ssl/tls support in the aio extension"
> > +
> > +config JIMTCL_POSIX_REGEX
> > + bool "use POSIX regex instead the built-in (Tcl-compatible) regex"
> > +
> > +config JIMTCL_RANDOM_HASH
> > + bool "randomise hash tables"
>
> Too many options I think. The ones with additional dependencies are ok,
> IPv6 too. For the rest I'd prefer a sane default, unless there are good
> reasons to make it configurable. Maybe Tcl compatibility?
Well, it has impact on size, defaults are choosen to be Tcl compatible.
> > +
> > +endif
> > diff --git a/rules/jimtcl.make b/rules/jimtcl.make
> > new file mode 100644
> > index 000000000..a169a7936
> > --- /dev/null
> > +++ b/rules/jimtcl.make
> > @@ -0,0 +1,91 @@
> > +# -*-makefile-*-
> > +#
> > +# Copyright (C) 2018 by Ladislav Michl <ladis@linux-mips.org>
> > +#
> > +# See CREDITS for details about who has contributed to this project.
> > +#
> > +# For further information about the PTXdist project and license conditions
> > +# see the README file.
> > +#
> > +
> > +#
> > +# We provide this package
> > +#
> > +PACKAGES-$(PTXCONF_JIMTCL) += jimtcl
> > +
> > +#
> > +# Paths and names
> > +#
> > +JIMTCL_VERSION := 0.78
> > +JIMTCL_MD5 := bde9021d78a77fe28e1bbc423142ab23
> > +JIMTCL := jimtcl-$(JIMTCL_VERSION)
> > +JIMTCL_SUFFIX := tar.xz
> > +JIMTCL_URL := http://repo.or.cz/jimtcl.git;tag=$(JIMTCL_VERSION)
> > +JIMTCL_SOURCE := $(SRCDIR)/$(JIMTCL).$(JIMTCL_SUFFIX)
> > +JIMTCL_DIR := $(BUILDDIR)/$(JIMTCL)
> > +JIMTCL_LICENSE := BSD-2-Clause
>
> Trailing whitespace.
Ok.
> > +
> > +# ----------------------------------------------------------------------------
> > +# Prepare
> > +# ----------------------------------------------------------------------------
> > +
> > +#
> > +# Package is not using autoconf but autosetup which is enough compatible...
> > +#
> > +JIMTCL_CONF_TOOL := autoconf
> > +# autosetup/cc.tcl tries to discover ccache on its own, so use 'CCACHE=none'
> > +# to prevent that and leave PTXCONF_SETUP_CCACHE in charge.
> > +JIMTCL_CONF_ENV := \
> > + $(CROSS_ENV) \
> > + CCACHE=none \
> > + autosetup_tclsh=$(PTXCONF_SYSROOT_HOST)/usr/bin/jimsh
> > +JIMTCL_CONF_OPT := \
> > + $(CROSS_AUTOCONF_USR) \
> > + $(call ptx/ifdef, PTXCONF_JIMTCL_UTF8,--utf8,) \
> > + $(call ptx/ifdef, PTXCONF_JIMTCL_LINEEDIT,,--disable-lineedit) \
> > + $(call ptx/ifdef, PTXCONF_JIMTCL_REFERENCES,,--disable-references) \
> > + $(call ptx/ifdef, PTXCONF_JIMTCL_MATH,--math,) \
> > + $(call ptx/ifdef, PTXCONF_JIMTCL_SSL,--ssl,) \
> > + $(call ptx/ifdef, PTXCONF_GLOBAL_IPV6,--ipv6,) \
> > + --shared \
> > + $(call ptx/ifdef, PTXCONF_JIMTCL_POSIX_REGEX,--disable-jim-regexp,) \
> > + --disable-docs \
> > + $(call ptx/ifdef, PTXCONF_JIMTCL_RANDOM_HASH,--random-hash,)
> > +
> > +# ----------------------------------------------------------------------------
> > +# Install
> > +# ----------------------------------------------------------------------------
> > +
> > +$(STATEDIR)/jimtcl.install:
> > + @$(call targetinfo)
> > + @$(call world/install, JIMTCL)
> > + @ln -sf libjim.so.$(JIMTCL_VERSION) $(JIMTCL_PKGDIR)/usr/lib/libjim.so
>
> Why is this needed?
usb_modeswitch fails to link otherwise.
> Michael
>
> > + @$(call touch)
> > +
> > +# ----------------------------------------------------------------------------
> > +# Target-Install
> > +# ----------------------------------------------------------------------------
> > +
> > +$(STATEDIR)/jimtcl.targetinstall:
> > + @$(call targetinfo)
> > +
> > + @$(call install_init, jimtcl)
> > + @$(call install_fixup, jimtcl, PRIORITY, optional)
> > + @$(call install_fixup, jimtcl, SECTION, base)
> > + @$(call install_fixup, jimtcl, AUTHOR, "Ladislav Michl <ladis@linux-mips.org>")
> > + @$(call install_fixup, jimtcl, DESCRIPTION, \
> > + "A small footprint implementation of the Tcl programming language")
> > +
> > +ifdef PTXCONF_JIMTCL_SHELL
> > + @$(call install_copy, jimtcl, 0, 0, 0755, -, /usr/bin/jimsh)
> > +ifdef PTXCONF_JIMTCL_SYMLINK
> > + @$(call install_link, jimtcl, jimsh, /usr/bin/tclsh)
> > +endif
> > +endif
> > + @$(call install_lib, jimtcl, 0, 0, 0644, libjim)
> > +
> > + @$(call install_finish, jimtcl)
> > +
> > + @$(call touch)
> > +
> > +# vim: syntax=make
> > --
> > 2.19.0
> >
> >
> > _______________________________________________
> > ptxdist mailing list
> > ptxdist@pengutronix.de
>
> --
> Pengutronix e.K. | |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-10-05 6:19 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-04 18:05 [ptxdist] [PATCH v4] jimtcl: new package Ladislav Michl
2018-10-05 5:45 ` Michael Olbrich
2018-10-05 6:19 ` Ladislav Michl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox