Jimtcl configure - #3802
Open
csanchezdll wants to merge 1 commit into
Open
Jimtcl configure#3802csanchezdll wants to merge 1 commit into
csanchezdll wants to merge 1 commit into
Conversation
csanchezdll
force-pushed
the
jimtcl_configure
branch
from
September 25, 2026 14:28
46d5332 to
4138e45
Compare
csanchezdll
marked this pull request as ready for review
September 25, 2026 14:42
xiaoxiang781216
previously approved these changes
Sep 30, 2026
The Jim Interpreter includes a configure script ro adapt to the features provided by the operating system. It was being called without providing NuttX system libraries so most advanced features were disabled. This change passes the libraries (which need to be already built). Signed-off-by: Carlos Sánchez de La Lama <csanchezdll@gmail.com>
csanchezdll
force-pushed
the
jimtcl_configure
branch
from
October 2, 2026 15:36
4138e45 to
15b9e97
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Jim (TCL) Interpreter uses a configure script to detect operating system features. For the most part, it tries to build test programs using different OS functions, and if linking fails, assumes the function being tested is not available.
Previously, this tests were performed without bringing in NuttX system libraries, so most of them failed and Jim was built with most optional features off. A clear indication of this (and how the problem was detected) was the output from any TCL script not being sent to the console until the interpreter was exited (it was caused by a wrongly detected absence of
isatty())With this PR (which requires also apache/nuttx#20367), Jim is correctly configure, detects NuttX available features, and the output is immediate for TCL-side
puts. It also brings in other Jim features like sockets, signals, etc.Impact
This PR introduces a new variable in
Application.mk:EXTLIBS. It can be used to indicate a certain application builds using an external build system and its product is one or more libraries. This is useful as those external build systems might change the built files depending on the result of the configure step, something that was not supported using the previous static list of source files.It is an optional variable, so this does not impact other existing applications.
Testing
Flashing the device and accessing the console shows Jim now gives immediate output:
Compare with the example in #3646
Also, comparing the generate
jimautoconf.hfiles insideinterpreters/jimtcl/jimtclshows detection now worked correctly: