Age | Commit message (Collapse) | Author | Files | Lines |
|
If building on a system with an installed jim.h, we want
to be sure to pick up the local jim headers in preference.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
json decoder is available since jimtcl 0.79, but the Makefile does
not remove the related object files during 'make clean'.
Add jsmn/*.o in the list of files to remove during 'make clean'.
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
|
|
Based on http://msteveb.github.io/autosetup/articles/handling-cflags/
using autosetup 0.7.1
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
When the build directory and the source directory do not match
some files are looked in the build directory. Fixed it.
Signed-off-by: Asier Llano <allano@hubbell.com>
|
|
Fixes #215
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
In order for build-jim-ext to work against an uninstalled, shared libjim
we also need to create the unversioned symlink.
But not on Windows where we don't currently version the shared lib.
Fixes: #216
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Fixes #214
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Quote the build dir or and the path to jimsh/tclsh
in the Makefile in case they contain spaces.
Also fix a few problems in tests/ that arise when the build
and/or source dir contain spaces.
Fixes #199
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Also add some additional tools that use xtrace.
examples/jcov - code coverage
examples/jtime - code coverage that measures execution time
examples/jtrace - trace script execution
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
If the build host doesn't have neither jimsh nor tclsh installed,
during 'configure' the autosetup will build 'autosetup/jimsh0'
inside the source tree. This happens also when out-of-tree build
is used.
Making dirty the source tree during out-of-tree build causes
applications that use jimtcl as submodule (e.g. OpenOCD) to fail
at 'make distcheck'.
Modify 'autosetup-find-tclsh' to build 'jimsh0' in the current
folder. For jimtcl project it would be the root of the source tree
or the root of the out-of-tree build.
Update 'Makefile.in' to search for 'jimsh0' in the new path during
'distclean'.
Reported-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
|
|
The working directory is not fully cleaned-up and remains dirty
after 'make distclean'.
Add file examples.api/Makefile in the list of files to remove
during 'make distclean'.
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
|
|
Loadable modules and tests
Fixes #179
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
The generation of this field makes the resulting Tcl.html different between builds,
as it records the time of generation, remove this as it causes jimtcl rpms for different
arches (on RHEL/Fedora) to have a file conflict on Tcl.html.
|
|
Disable optimisation during coverage.
Set CCACHE_DISABLE=1 in the environment, just to be sure to disable ccache
Also cleanup coverage files in subdirs too
Add support for both lcov and gcovr
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
To make it easier to generate code coverage output.
Ensure that gcovr is installed, then do:
./configure --coverage
make test coverage
And see the report in coverage.html
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Rather than listing the build rules for each shared object
(loadable module) in the Makefile template, generate the build
rules in configure.
Also, if an extension is configured as a module, any automatic
dependencies required by the extension are configured as modules
by default.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
|
|
autosetup changes:
- The syntax for templates has changed slightly
- Update config.guess and config.sub to 2018-03-08
- Add rpath support
- Add --runstatedir
Also:
- enable rpath when building libjim as shared
- ensure that 'make test' works on MacOS when libjim is shared
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Was broken by the support for --silent-rules
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
And enable silent rules by default if using GNU make.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
- fix popen [open "|pipeline ..."] to return meaningful status in close
(but note that stderr is not captured)
- popen pipelines can now be used as the target of exec redirection
- overally improvements to exec on windows. Now crt file descriptors
are used throughout
- add support for [pid], [wait] and popen on windows
- os.wait is now wait, and integrates with [exec ... &] to be able
to wait for running background tasks
- [socket pipe] is now also [pipe] and is supported on windows
- [file tempfile] is supported on windows
- move duplicated code between jim-aio.c and jim-exec.c to jimiocompat.c
- Fix [exec] on windows to match unix semantics wrt sharing the parent stream
unless redirected rather than using /dev/null
- On windows redirect to or from /dev/null is automatically converted to NUL:
- If signal support is disabled, implement a minimal Jim_SignalId() for exec and wait
- aio now supports getfd, to return the underlying file descriptor.
This is used by exec to support redirection, and allows popen channels
to support exec redirection.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
More reliable way to remove the footer
Reported-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
For reproducible builds
Reported-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
|
|
Otherwise install the shipped docs with a warning.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Not all objects were dependent on the Makefile/headers, so the following
build sequence resulted in failure:
./configure CFLAGS="--coverage" LDFLAGS="--coverage" && make
./configure && make
|
|
|
|
Rather than using a hard-coded table
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Needed when using linenoise line editing with utf-8 support
Note that variable width support is not yet added to linenoise
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Includes support for aliases in sub-interp
These are not identical to Tcl interp, but are conceptually very similar
For example:
set i [interp]
$i alias localcmd parentcmd arg1
$i eval { localcmd x }
Invokes: parentcmd arg1 x
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Also, fix build if JIM_OPTIMIZATION is disabled
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Reported-By: Stuart Cassoff <stwo@bell.net>
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Allow 3rd party tests to be written and use:
package require tcltest
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
CPPFLAGS is a standard variable to pass additional
preprocessor-related parameters.
Debian build system uses that to add -D_FORTIFY_SOURCE=2 and then
checks the buildlogs to ensure the command line contained all the
fortification parameters (they use "-fstack-protector
--param=ssp-buffer-size=4" for CFLAGS).
Example blhc output before the fix:
CPPFLAGS missing (-D_FORTIFY_SOURCE=2): cc -D_GNU_SOURCE -Wall -I. -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -c -o _load-static-exts.o _load-static-exts.c
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
In the autoconf universe LDFLAGS are used for all linker flags, and
LIBS are used to specify additional libraries. Autosetup has support
for that but Makefile.in needs to honour them too.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
Compatibility with some build systems
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Stuart Cassoff <stwo@bell.net>
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Need to include the version in the name of the library
to match the link line
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Many path inside the makefile are hardcoded, replace them with the
appropriate variables. (Main purpose: '$prefix/lib' is simply wrong
on 64bit systems).
Reported-by: Markus Mayer <lotharlutz@gmx.de>
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|