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
Calvin Rose
1696de233c
Add jpm tool, based on cook.
...
Modify cook as well.
2019-05-27 16:50:57 -04:00
Calvin Rose
4d5a95784a
Add LDFLAGS to Lflags in generated janet.pc
2019-05-24 19:58:52 -04:00
Calvin Rose
b43d93cf55
Add pkg-config to install.
2019-05-24 19:38:13 -04:00
Calvin Rose
5deb13d73e
Update version 1.0.0 instead of 1.0.0-dev
2019-05-24 17:49:33 -04:00
Calvin Rose
a303704a7d
Add some tests for the amalgamated source/
...
Adds tests to Makefile and CI on Poisx platforms.
2019-05-23 10:34:01 -04:00
Calvin Rose
7d49e3e6f1
Add unification to match macro.
...
Using a quote on a symbol prevents the match
macro from trying to create a binding to it, and
instead tells it that we are binding to a symbol
that is already in scope.
2019-05-16 10:05:54 -04:00
Calvin Rose
30cb01e2f0
Merge pull request #102 from PaulBatchelor/master
...
Add static library
2019-05-16 07:30:42 -04:00
Paul Batchelor
516e031f67
Add static library
2019-05-15 22:38:18 -04:00
Calvin Rose
3331f2fa02
Update soname.
2019-05-15 11:39:18 -04:00
Calvin Rose
dd1a199ebd
Don't copy headers to JANET_PATH
2019-05-15 10:53:26 -04:00