Folkert
99a3c08911
bake roc_alloc and friends into the dynamic library for glue
2023-03-29 19:43:59 +02:00
Brendan Hansknecht
8d5f443fcd
Merge remote-tracking branch 'origin/main' into pluggable-glue
2023-03-21 11:07:47 -07:00
Anton-4
8da9af94f2
use latest basic-cli, better error messages
2023-03-20 20:06:36 +01:00
Folkert
fdf1489df6
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman
2023-03-14 01:01:26 +01:00
Brendan Hansknecht
cb191d3788
Split utils into error and command utils
...
Error utils pulls in snafu which requires procedural macros.
This means it can't start compiling until syn and macro related crates are compiled.
This deals compiling all crates that depend on commands like running zig for the bitcode.
The split enables those crates to run sooner.
2023-03-10 09:39:43 -08:00
Brendan Hansknecht
d5e191d083
split up bitcode building to reduce dependency chains
2023-03-10 09:39:43 -08:00
Folkert
fe15a2e79c
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman
2023-03-08 19:46:00 +01:00
Folkert
938f7172dd
restore creation of the libapp.o file
2023-03-08 19:43:34 +01:00
Brendan Hansknecht
f42f61e271
run a toml formatter and then clean it up a bit
2023-03-06 19:47:57 -08:00
Brendan Hansknecht
4a89bee0a5
centralize package versions except for vendor and excluded
2023-03-06 19:29:09 -08:00
Brendan Hansknecht
5485c8a5b0
update to using workspace package spec
2023-03-06 16:36:18 -08:00
Brendan Hansknecht
21af20597e
remove unused dependencies
2023-03-06 12:09:00 -08:00
Brendan Hansknecht
5573ab2275
Merge branch 'glue-getters-rtfeldman' into pluggable-glue
2023-03-05 17:11:25 -08:00
Brendan Hansknecht
17ece67999
get roc glue working directly with .roc
plugin files
2023-03-05 12:33:46 -08:00
Folkert
d224992bc1
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman
2023-03-05 17:24:05 +01:00
Brendan Hansknecht
7a944113a0
move build_file and related functions to roc_build
...
This is needed of glue to be able to call build_file.
Also does some other changes to avoid circular dependencies.
2023-03-04 10:00:43 -08:00
Folkert
454f3c603e
give the new exposed symbols to the surgical linker
2023-02-25 19:35:46 +01:00
Folkert
0d4135c57a
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman
2023-02-22 21:11:39 +01:00
Folkert
6c15284a8f
more wip; now we just need to generate the exposed procs at the right time
2023-02-08 22:56:38 +01:00
Folkert
c79ae98d16
use allocate_with_refcount in the dev backend
2023-02-08 00:56:45 +01:00
Anton-4
4d237d79a7
also search dirs one level below
2023-01-31 19:37:30 +01:00
Anton-4
b47e086f50
support more complex target folder situation
2023-01-31 17:32:55 +01:00
Folkert
bb44063419
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman
2023-01-18 20:06:26 +01:00
Anton-4
73f46b6613
update flake so that rust 1.65 is used for default.nix, macos clippy fixes
2023-01-17 18:44:24 +01:00
Anton-4
a97c53d7ca
1.65 changes and clippy fixes
2023-01-17 18:09:16 +01:00
Brendan Hansknecht
b79c855f15
enable using both cargo-fuzz and afl.rs for fuzzing
2023-01-04 11:45:47 -08:00
Folkert
1c1112ec35
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman
2023-01-04 20:45:01 +01:00
Ayaz
ea53a50447
Merge pull request #4836 from roc-lang/intern-layouts-2
...
Intern list element layouts and thread mut layout interner through LLVM backend
2022-12-29 18:41:35 -06:00
Ayaz
7076c889a5
Merge pull request #4828 from roc-lang/refactor-build
...
Refactor build
2022-12-29 18:41:22 -06:00
Ayaz Hafiz
759f8d86af
Fix lifetime errors due to interner
...
In the llvm backend, there are the lifetimes `'a` (lifetime of the
global arena) and `'ctx` (lifetime of constructed LLVM values). `'a`
lives longer than `'ctx`, but the compiler didn't enforce this until
the layout interner was introduced, for some reason. We have to make
sure that containers of lifetime `'a` have no `'ctx` references.
2022-12-29 11:38:34 -06:00
Folkert
479caaf0a9
clean up path usage
2022-12-29 16:50:21 +01:00
Folkert
356875a851
simplify host extension
2022-12-29 16:50:20 +01:00
Folkert
a2c760aa56
keep conditional compilation local
2022-12-29 16:50:20 +01:00
Ayaz Hafiz
7ab7fdfa7b
Push interned layouts as mut throughout the backend, and intern box layouts
2022-12-28 18:51:26 -06:00
Brendan Hansknecht
d33e0a9f19
add links to docs
2022-12-15 14:45:25 -08:00
Brendan Hansknecht
1878250e36
add message about supported sanitizers
2022-12-15 14:43:52 -08:00
Brendan Hansknecht
bf9a588acf
clippy
2022-12-15 08:49:44 -08:00
Brendan Hansknecht
4571b5b805
some minor cleanup
2022-12-15 08:39:33 -08:00
Brendan Hansknecht
a0622d57a2
ignore stderr print. They are warnings.
2022-12-15 08:29:10 -08:00
Brendan Hansknecht
5ea5208070
also remove unnecessary command from debug path
2022-12-15 08:29:10 -08:00
Brendan Hansknecht
ed002ca68a
add a feature flag and environment variable to enable santizers and fuzzing
2022-12-15 08:29:10 -08:00
Brendan Hansknecht
1164fb4767
ignore fixup chains
2022-12-14 20:31:56 -08:00
Brendan Hansknecht
1b92a24577
avoid building platform for link type dylib and no link
...
Both of these cases do not tie to a platform. The roc app can be built without considering the platform.
It is often the case that the platform is using one of these options because roc cannot build the platform.
This allows for more flexibility and avoids wasting time compiling the platform.
2022-12-14 17:34:07 -08:00
Richard Feldman
e3687935a3
Merge remote-tracking branch 'origin/main' into refactor-platform-info
2022-12-09 22:21:25 -05:00
Richard Feldman
63e9f5da8c
Go back to old opt_main_for_host
2022-12-09 22:18:52 -05:00
Folkert
a72556b927
refactor entry point
2022-12-09 15:10:25 +01:00
Richard Feldman
8b463686bc
Propagate multiple entrypoints to alias analysis
2022-12-08 15:31:42 -05:00
Anton-4
0b98609a22
check the exit status of the link cmd
2022-11-29 16:53:04 +01:00
Anton-4
91266a03c6
change matadata filename based on target
2022-11-28 15:18:15 +01:00
Richard Feldman
28bccb792f
Merge remote-tracking branch 'origin/main' into precompiled-legacy
2022-11-24 02:20:50 -05:00