Commit graph

357 commits

Author SHA1 Message Date
Brian Carroll
44bca1c8c5
clippying & fmt'ing 2022-05-26 00:27:18 +01:00
Brian Carroll
873d9d4e06
wasm: create separate steps for parsing the host and compiling the app 2022-05-22 20:49:16 +01:00
Brian Carroll
8114ec60c1
Start using Result to handle Wasm module parse failures 2022-05-22 09:36:33 +01:00
Anton-4
0f59f3097a
cargo fix --edition 2022-05-16 17:04:17 +02:00
Brian Carroll
aaea254e8f
Pass precompiled host bytes to gen_wasm in CLI 2022-05-15 11:11:08 +01:00
Brian Carroll
ca7d916065 Delete llvm feature from roc_build and roc_cli 2022-05-09 20:40:57 +01:00
Folkert
35eff878ae
fix two strings 2022-05-08 00:20:37 +02:00
Folkert
d40e26c52e
revert to llvm-as/llc 2022-05-07 22:17:44 +02:00
Folkert
58889507de
remove usage of llvm-as and llc 2022-05-07 20:47:23 +02:00
Brian Carroll
58dc7a9635 Make wasi_libc_sys a required dependency of roc_build to fix repl_test 2022-05-04 22:33:07 +01:00
Brian Carroll
5fffea969a Provide a way for non-wasm Rust code to find the WASI libc 2022-05-03 19:12:36 +01:00
Brian Carroll
dd1d49db75 Build WASI libc using Zig, instead of using a checked-in binary 2022-05-03 08:00:58 +01:00
Folkert de Vries
5e47e4767e
Merge pull request #2967 from rtfeldman/arm-sjlj
SJLJ roc_panic on AArch64
2022-04-29 16:32:15 +02:00
Ayaz Hafiz
89757dc31f Remove MonoProblem 2022-04-28 20:34:04 -04:00
Ayaz Hafiz
3fb1b39871 Spin ldopen on Aarch64 tests 2022-04-27 22:43:39 -04:00
Ayaz Hafiz
0f863bdd85
Explicitly use large code models in AArch64 code gen
This appears to be necessary to compile our programs on AArch64 boxes.
My guess is special-cased code due to PIEs for large code models in
LLVM's codebase but I really have no idea.
2022-04-26 16:42:55 -04:00
Richard Feldman
57b7832917
Upgrade target-lexicon 2022-04-23 20:51:57 -04:00
Richard Feldman
62484d3890
Add roc run to run even if there are build errors. 2022-04-20 15:44:39 -04:00
Richard Feldman
412eb763bb
Add support for x64 linux 2022-04-13 01:21:12 -04:00
Richard Feldman
e1a88f190c
Add a target triple for 32-bit musl linux 2022-04-13 01:21:12 -04:00
Richard Feldman
babe281b5d
Merge pull request #2780 from rtfeldman/no-link
Add --no-link flag for more complex linking cases
2022-04-08 23:49:48 -04:00
Richard Feldman
c19f8acb8c
Merge pull request #2781 from rtfeldman/zig-macos
add target triple for zig on macos
2022-04-06 13:43:11 -04:00
Brendan Hansknecht
19c02aa087
Merge pull request #2789 from rtfeldman/atomic-rc
Use zig for all refcounts and add atomic support
2022-04-03 22:23:28 +00:00
Brendan Hansknecht
6f8de4492e correct typo 2022-04-01 23:09:32 -07:00
Brendan Hansknecht
ef49d5714b change incref to use the zig builtin 2022-04-01 13:41:46 -07:00
Folkert
0dd2cec09a
update with new clippy lints 2022-03-31 19:34:51 +02:00
Brendan Hansknecht
0ba29e26a4 add target triple for zig on macos 2022-03-29 18:56:04 -07:00
Brendan Hansknecht
76ffb4f278 Add --no-link flag for more complex linking cases 2022-03-29 18:20:29 -07:00
SylvanSign
b3c6b5ccc9
fix target str issue with zig and GNU/Linux + ARM 2022-03-27 15:41:02 -04:00
Folkert
311e464b70
add load_internal 2022-03-23 15:18:22 +01:00
Anton-4
5ec2125ac6
Merge branch 'trunk' into windows_fixes 2022-02-28 19:12:18 +01:00
Anton-4
5f865a4a0c fmt 2022-02-28 18:18:41 +01:00
Anton-4
6acd2f338b successful cargo build on windows 2022-02-28 18:11:14 +01:00
Brendan Hansknecht
39d070e543 flip platform flag to be default 2022-02-25 20:10:36 -08:00
Brendan Hansknecht
85ae871ced remove init_arch from link 2022-02-25 15:36:12 -08:00
Brendan Hansknecht
8393604b58 fix building without llvm 2022-02-25 10:41:11 -08:00
Brendan Hansknecht
3dce239bea remove default features from build to avoid accidentally including them 2022-02-25 10:19:43 -08:00
Brendan Hansknecht
ec411b7a62 Also build host for size when using --opt-size 2022-02-24 16:21:12 -08:00
Brendan Hansknecht
69b4e78ac7 Add --opt-size and compiling smaller binaries 2022-02-24 15:39:50 -08:00
Folkert de Vries
3066aef1b7
Merge pull request #2550 from rtfeldman/improve-link-lib64
[Enhancement] Improve library lookup in native linker
2022-02-23 23:25:33 +01:00
Richard Feldman
7dc92fe6f4
clippy 2022-02-21 22:15:24 -05:00
Richard Feldman
afa8d228ef
cargo fmt 2022-02-21 20:35:29 -05:00
Brian J. Cardiff
b27eee7f6b Read ROC_LINK_FLAGS env var to inject more link flags
Flags should not contain whitespaces since the value is split on them
Update compiler/build/src/link.rs

Co-authored-by: Richard Feldman <oss@rtfeldman.com>
2022-02-21 21:29:58 -03:00
Emi Simpson
b5b26eabc9
Amend ff0c994: 🐛 Search the /lib/<arch> directory 2022-02-21 17:18:11 -05:00
Emi Simpson
97b99e7cfb
Amend ff0c994: 🐛 Re-add support for Rust < 0.58 2022-02-21 15:34:55 -05:00
Emi Simpson
ff0c994668
Improve library lookup in native linker
🐛 Fix bug where /usr/lib isn't checked if /usr/lib/{arch} exists
 Better error messages on missing libraries
 Check /usr/lib64 for libraries
2022-02-21 10:18:23 -05:00
Brendan Hansknecht
f3ef21773f Add timing info for dev and wasm backend 2022-02-19 00:09:27 -08:00
Brian Carroll
85b418ebdf wasm: get rid of Result from gen_wasm, rename a function, improve comments 2022-02-08 11:03:48 +00:00
Jan Van Bruggen
2f80d64056
Link macOS with AudioUnit, CoreAudio, IOKit frameworks
AudioUnit & CoreAudio are necessary to get
[Bevy](https://docs.rs/bevy/latest/bevy/)'s "hello world" example
working inside a Roc platform.

IOKit is necessary to get
[Bevy](https://docs.rs/bevy/latest/bevy/)'s "breakout" example
working inside a Roc platform.

Credit to @hafiz for discovering this solution.
2022-01-31 11:17:30 -07:00
Richard Feldman
29caf5d301
Make macOS frameworks link properly 2022-01-30 11:01:31 -05:00