Calvin Rose
1ef6db16ed
Add janet_vm_save and janet_vm_load.
...
This lets a user multiplex multiple Janet VMs on a single
thread or process if they are willing to implement context switching
themselves.
2021-07-16 20:59:03 -05:00
Calvin Rose
230b734663
Delete jpm and related testing from this repository.
...
JPM and related functionality has been moved to it's own repository
and will be versioned separately from Janet. The distribution process
could later be modified to bundle a version of jpm with Janet but this
is perhaps not needed.
2021-07-15 20:49:41 -05:00
Calvin Rose
41a7154aa5
Remove jhydro from CI pipeline.
2021-06-27 12:49:19 -05:00
Calvin Rose
2040709585
Re-add make docs
.
...
Wasn't hurting anything.
2021-05-30 16:44:37 -05:00
Calvin Rose
dfa5fa1187
Remove some stupid shell gymnastics in Makefile.
2021-05-30 09:14:34 -05:00
Calvin Rose
1baab5eb61
Remove typed arrays from the core.
...
Typed arrays will instead live in an external jpm nodule.
Also, changes have been made to `jpm` to allow other natives to use the
typedarray headers.
2021-04-29 12:33:49 -05:00
Damien Ready
27e400fba3
Prepare the .tar distribution with folder layout
2021-03-20 10:53:51 -05:00
Calvin Rose
d3e52a2afb
Fix makefile to attach build identifier.
2021-02-27 19:50:31 -06:00
Calvin Rose
bdf14170a4
Get ready for 1.15.0 release.
2021-02-08 18:10:46 -06:00
Calvin Rose
259d5fabd9
Update Makefile and build_win for better builds.
...
Use build/c/janet.c in both to prevent accidental inclusion
of build/janet.h (which may be stale) instead of the source headers.
2021-01-31 09:59:53 -06:00
Calvin Rose
6dfb689d1f
Update versions to indicate 14.1
2021-01-16 15:54:27 -06:00
Calvin Rose
f5877ac6d1
Revert makefile.
2021-01-05 20:29:50 -06:00
Calvin Rose
adc41e31f4
Address #547 - don't drop references.
...
Keep a separate stack for tagged references. May cause pegs to
use more memory but makes the backref and backmatch features much more
powerful.
Also disables the second stack if backref and backmatch are not used in the peg.
2021-01-05 20:27:15 -06:00
Calvin Rose
c357af02c2
Allow iterating over fibers with each and similar.
2021-01-03 16:17:36 -06:00
Calvin Rose
d0ac318980
Don't print to stderr in Makefile to detect version. Fix #544
2021-01-03 12:59:16 -06:00
Calvin Rose
392d5d51df
Fix build info for 1.13.1
2020-12-13 11:59:52 -06:00
Calvin Rose
2dc04d2957
On install, merge janetconf.h into janet.h
...
This results in a cleaner amalgmated build
2020-11-17 09:53:12 -06:00
Calvin Rose
ea45165db8
Merge branch 'master' into ev
2020-10-10 09:04:05 -05:00
Andrew Chambers
bf6ebc4a68
Add missing Makefile dependencies for install.
2020-10-07 10:19:49 +13:00
Calvin Rose
d3182dce51
Merge branch 'master' into ev
2020-09-12 10:02:01 -05:00
Calvin Rose
93602ad9ea
Prepare 1.12.0 Release.
2020-09-07 15:28:46 -05:00
Calvin Rose
babfe50550
Merge branch 'master' into ev
...
Also add poll implementation for ev.
2020-09-07 12:52:50 -05:00
Calvin Rose
24b8b0e382
Fix NaNboxing bug that cause flaky builds.
...
The macro janet_checktype(x, JANET_NUMBER) was incorrect when
x was NaN. This caused the initial unmarshalling dictionary to be missing
entries in certain cases.
2020-09-06 14:59:29 -05:00
Calvin Rose
1a9c14acde
Add checksum to build/janet.c to check for inconsistent builds.
2020-09-06 11:04:07 -05:00
Calvin Rose
3563e7e1aa
Add -fPIC to default cflags when building boot image.
2020-08-03 17:32:41 -05:00
Calvin Rose
5899671d96
Merge branch 'master' into ev
2020-08-03 07:54:53 -05:00
Calvin Rose
8c1eb23aa1
Add -fPIC to default cflags when building boot image.
2020-08-02 13:52:21 -05:00
Calvin Rose
297de01d95
Add preliminary channel implementation.
2020-08-01 13:13:58 -05:00
Calvin Rose
d393fbf360
Merge branch 'master' into ev
2020-07-25 14:07:47 -05:00
Calvin Rose
d37eda4e9b
Don't use x43bot to test install.
2020-07-25 13:23:57 -05:00
Calvin Rose
3960d0f6de
Merge branch 'master' into ev
2020-07-25 13:17:05 -05:00
Calvin Rose
5be5e5b58f
Update soname.
2020-07-25 13:11:52 -05:00
Calvin Rose
df145f4bc9
Merge branch 'master' into ev
2020-07-19 17:20:43 -05:00
Calvin Rose
9e163db491
Test building binaries with jpm.
...
Test in CI with both meson and normal build.
Also test windows.
2020-07-18 15:50:58 -05:00
Calvin Rose
3ba2c7e7e8
Address #394 and #451 - Prepare for 1.11.0
...
Prefix MANPATH and PKG_CONFIG_PATH variables
with JANET_ to disassociate with standard env variables
that have a different format.
2020-07-18 13:09:53 -05:00
Calvin Rose
a0abf307b4
Merge branch 'master' into ev
2020-07-03 12:14:48 -05:00
Calvin Rose
9c5e97144d
More small changes to help with cross compilation
...
via makefile. Add option to turn off built in
getline via janetconf.
2020-06-27 12:39:16 -05:00
Calvin Rose
328ee94412
Merge branch 'master' into ev
2020-06-22 22:25:44 -05:00
Calvin Rose
853b33b67c
On nix platforms, patch jpm with path information.
...
This means we no longer need to guess paths after install.
Custom directory layouts can now be better supported at install
time without need for environment variables.
2020-06-14 14:04:23 -05:00
Calvin Rose
19f3568e18
Update for 1.10.0.
2020-06-14 12:15:56 -05:00
Calvin Rose
a78af0a7fb
Do not explicitly free state machines, instead return a status.
...
This makes it harder to have some kind of use after free issue.
2020-05-30 11:31:05 -05:00
Calvin Rose
b68b0a256e
Start with ev module.
2020-05-28 10:39:40 -05:00
Calvin Rose
92df01b99d
Add valtest and debug to Makefile help.
2020-05-15 17:59:05 -05:00
LouisJackman
d6cd69e659
Add make help target
2020-05-15 07:51:21 +01:00
Calvin Rose
1add0c7d43
make test-install should be easier to clean.
2020-05-09 10:30:09 -05:00
Calvin Rose
d2ebf4b52d
Merge branch 'net'
2020-04-26 12:27:37 -05:00
Calvin Rose
69eb9531da
Rename auxbin/jpm -> jpm.
2020-04-26 08:55:32 -05:00
Calvin Rose
596111c988
Merge branch 'master' into net
2020-04-17 15:08:26 -05:00
Calvin Rose
810ef7401c
Update changelog and bump version to dev version.
2020-04-04 21:50:27 -05:00
Calvin Rose
bb5c478704
Switch to two digit sonames.
...
Janet's versioning scheme is not 'true' semantic versioning.
Minor versions can have and often do have breaking changes.
Although such breakages are mostly avoided, only limited effort is
made to prevent this, and no system is in place to verify this.
Thus, stricter version pinning is needed.
2020-04-04 18:30:18 -05:00
Calvin Rose
6b89da4bb2
Use -Wl,-install_name,... on macos.
2020-04-04 13:44:21 -05:00
Calvin Rose
1d0e862129
Update Makefile for pkg-config issues and soname.
2020-04-04 13:09:59 -05:00
Calvin Rose
8f1527712e
Merge branch 'master' into net
2020-03-05 18:08:35 -06:00
Calvin Rose
f06addfe06
For #240 , address case when LDCONFIG is empty
2020-03-03 18:13:25 -06:00
Calvin Rose
7c2c50ee16
For #240 - don't run ldconfig for DESTDIR installs.
2020-03-03 18:03:44 -06:00
Calvin Rose
8580d3c27e
Address #240 - Support DESTDIR in Makefile.
2020-03-03 17:45:59 -06:00
Calvin Rose
951e10f272
Address #292
...
Faulty Makefile fallback.
2020-03-03 08:21:14 -06:00
Calvin Rose
2779037f13
Clean up Makefile.
2020-02-25 20:02:03 -06:00
Calvin Rose
c0d2140d14
Begin net/ module in core.
...
Humble beginnings.
2020-02-01 20:39:54 -06:00
Calvin Rose
1bdde9c4f7
Fix warnings.
2020-01-28 23:46:14 -06:00
Calvin Rose
333ae7c4f8
Make amalgamtion the default when building.
...
This way we can support fewer build configurations. Also, remove
all undefined behavior due to use of memcpy with NULL pointers. GCC
was exploiting this to remove NULL checks in some builds.
2020-01-28 23:38:52 -06:00
Calvin Rose
62cf407f0c
Remove lto.
...
Gosh Darnit, Travis!
2020-01-20 13:53:59 -06:00
Calvin Rose
bbed72f39f
Only enable lto on linux for now.
...
Was failing with clang, as the default clang linker doesn't
do LTO.
2020-01-20 13:37:10 -06:00
Calvin Rose
3c87d89df3
Enable LTO by default
...
Most compilers support it, and it gives a good perf increase OOTB.
2020-01-20 11:38:22 -06:00
Calvin Rose
8fbcae6029
Remove -march=native from Makefile
...
Instead, one can pass in CFLAGS to make
2020-01-18 20:01:12 -06:00
Calvin Rose
a68ee7aac6
Update Copyright 2020.
2020-01-12 10:50:37 -06:00
Thodoris Sotiropoulos
5575e7577a
Fix faults in Make build
2020-01-02 22:15:55 +02:00
Calvin Rose
9dd152dc28
Add features.h for feature test macros.
...
Because we use an amalgated build, feature
test macros should be set in a single file that
is included before any other headers, and is placed
at the top of the amalgamated build.
2019-12-30 19:06:15 -05:00
Calvin Rose
407d8af026
Address #233
...
Move _POSIX_C_SOURCE to internal header.
2019-12-30 12:31:26 -05:00
Calvin Rose
52dd0f132a
Remove emscripten build.
...
Prefer using custom toolchain with amalgmated build.
2019-12-28 16:11:15 -05:00
Calvin Rose
aa7f3411f5
Use JANET_SINGLE_THREADED to disable threads.
2019-12-12 17:39:22 -06:00
Calvin Rose
eb1c21b0da
Fix some example issue and warnings under -Os.
2019-12-08 12:40:05 -06:00
Calvin Rose
8a91c52fa2
Change pthreads linking with jpm, make, and meson.
...
Try to add pthread deps when compiling programs with jpm.
2019-11-27 14:52:20 -06:00
Calvin Rose
bca0392738
First work on threading.
...
Posix only, needs to be disabled on windows. Also
the Makefile needs to be configurable, and meson.build
needs to take pthreads into account.
2019-11-26 23:13:53 -06:00
Calvin Rose
8911daaf6c
Add --test flag to jpm.
...
Also test some select packages when testing installation.
This is used in CI to make sure that versions of Janet work with
the most libraries.
2019-11-09 10:03:56 -06:00
Calvin Rose
6591e7636d
Copy janetconf to build for amalg target.
...
This makes testing the amalg easier.
2019-11-08 20:36:16 -06:00
Calvin Rose
58e3e63a89
Add jpm to release bundle.
2019-11-08 11:00:12 -06:00
Calvin Rose
cf19cd5292
Add the quickbin command to jpm.
...
This is useful for making one off executable scripts
without needing to set up a project.janet file.
2019-10-29 20:33:18 -05:00
Calvin Rose
280dca3998
Add shell.c to the amalgamation.
...
This allows easy builds of the full interpreter with no
build system.
1. Get janet.c, janet.h, janetconf.h, and shell.c in a directory. Edit
janetconf.h as desired.
2. gcc shell.c janet.c -lm -ldl -O2 -o janet (on GNU-Linux for example)
3. ./janet -h (Yay!)
2019-10-29 19:18:44 -05:00
Calvin Rose
0d16b9e1a1
Move init.janet into cli-main in boot.janet
...
This makes it easier to get the CLI functionality when
embedding Janet, although the main reason is the init script
is now pre-compiled to bytecode when generating the boot image.
2019-10-29 18:16:32 -05:00
Calvin Rose
6ae5a9be60
Add -fvisibility in Makefile, provide meson example commands.
...
Shaves off 10 kb in binary. Also -fpic -> -fPIC in Makefile and jpm.
2019-10-05 10:38:58 -05:00
Crestwave
63e3e02a39
Fix installation on Haiku
2019-10-02 05:52:55 +00:00
Calvin Rose
9d020c3ec5
Update CHANGELOG.md
2019-09-22 18:00:53 -05:00
Calvin Rose
a8afc5b81f
Sourcemapping uses line, column instead of offsets.
...
This should be friendlier to most users. It does, however, mean
we lose range information. However, range information could be
recovered by re-parsing, as janet's grammar is simple enough to do this.
2019-09-22 17:18:28 -05:00
Calvin Rose
1b283c47b4
Remove macos update_dyld_shared_cache
...
This just doesn't work well for a non global install.
It is better packages that need this to run it themselves.
2019-09-20 13:13:05 -05:00
Calvin Rose
908a3b6f5c
Address #160 : Use ldconfig alternative on macos.
...
update_dyld_shared_cache seems to work on macos.
2019-09-18 12:20:59 -05:00
Alberto González Palomo
8753d2dcb8
Defuse tarbomb: wrap tar file contents in directory
...
https://en.wikipedia.org/wiki/Tar_(computing)#Tarbomb
http://www.linfo.org/tarbomb.html
2019-09-09 18:59:29 +02:00
Calvin Rose
8dc91755f7
Work on makefile and build for jpm.1
2019-09-05 12:28:11 -05:00
Calvin Rose
05695a35c7
Fix test-install after removing cook.
2019-08-28 21:05:34 -05:00
Calvin Rose
58ffb9d7a5
Remove cook and path from default install
...
Instead, combine cook into jpm so we can manipulate
JANET_PATH without messing with jpm. path was moved to
and external repository, https://github.com/janet-lang/path.git
2019-08-28 20:54:31 -05:00
Calvin Rose
f903ee8acc
Add quotes and remove input path as make target.
...
Make doesn't handle that or auto escape that very well, so
we only put known paths as Make targets.
2019-08-27 18:10:03 -05:00
Calvin Rose
b0b1024f8a
Try to fix some tests for CI.
2019-07-27 11:05:53 -05:00
Calvin Rose
cc07ff987d
Fix normal native building and make test-install.
...
Add executable generation testing to make test-install.
2019-07-27 09:53:28 -05:00
Calvin Rose
0384b83c31
Update emscripten makefile.
2019-06-24 17:23:01 -04:00
Calvin Rose
f7f2f5e84f
Address #129 .
...
Don't rm -rf the wrong directory on uninstall.
2019-06-24 08:28:40 -04:00
Calvin Rose
a29e717fd7
Start working to a full meson build.
...
One build system instead of three for Make + Meson + build_win.bat.
2019-06-20 16:33:28 -04:00
Calvin Rose
3d76d988c3
More work on installation and moving files around.
...
Move all installed libraries into auxlib.
Move all installed executable scripts into auxbin.
2019-06-01 10:38:28 -04:00
Calvin Rose
75818217a6
Update CI tasks.
2019-05-28 14:02:45 -04:00
Calvin Rose
f12f896020
Change test-install
2019-05-28 12:59:21 -04:00
Calvin Rose
7569930b0c
More work on cook and jpm.
2019-05-28 08:48:35 -04:00