Sebastian Ullrich
b3a85631d8
chore: set warningAsError in CI only ( #3030 )
...
Don't fail local builds because of this
2023-12-06 08:18:39 +00:00
Sebastian Ullrich
544b704a25
test: add Lake tests
2023-07-21 09:19:19 +02:00
Sebastian Ullrich
d991f5efe0
fix: ship libLake.a
2023-07-21 09:19:19 +02:00
Sebastian Ullrich
8999ef067b
chore: Nix: fixup Lake integration
2023-07-21 09:19:19 +02:00
Sebastian Ullrich
2a7ae7b28a
chore: Nix: explicit src
2023-01-26 13:32:42 +01:00
Sebastian Ullrich
da2ea1fa98
chore: Nix: fix symbol interposition
2023-01-12 12:50:17 +01:00
Siddharth
b6eb780144
feat: LLVM backend ( #1837 )
2022-12-30 12:45:30 +01:00
Sebastian Ullrich
10d2403e83
chore: Nix: link dynamically by default
...
The Nix way
2022-12-22 12:13:22 +01:00
Sebastian Ullrich
cbf1b433d7
chore: Nix: linkFarm, not symlinkJoin
2022-12-21 20:06:18 +01:00
Sebastian Ullrich
73f9377322
chore: Nix: cache depRoots
2022-12-21 15:22:13 +01:00
Sebastian Ullrich
9e83115072
chore: Nix: lazy-trees compatibility
2022-12-04 18:52:33 +01:00
Siddharth Bhat
dfb5548cab
fix: update libleanrt.bc, rename to lean.h.bc
...
This adds `lean.h.bc`, a LLVM bitcode file of the Lean
runtime that is to be inlined. This is programatically generated.
1. This differs from the previous `libleanrt.ll`, since it produces an
LLVM bitcode file, versus a textual IR file. The bitcode file
is faster to parse and build an in-memory LLVM module from.
2. We build `lean.h.bc` by adding it as a target to `shell`,
which ensures that it is always built.
3. We eschew the need for:
```cpp
```
which causes breakage in the build, since changing the meaning of
`static` messes with definitions in the C++ headers.
Instead, we build `lean.h.bc` by copying everything in
`src/include/lean/lean.h`, renaming `inline` to
`__attribute__(alwaysinline)` [which forces LLVM to generate
`alwaysinline` annotations], then running the `-O3` pass pipeline
to get reasonably optimised IR, and will be perfectly inlined
when linked into the generated LLVM code by
`src/Lean/Compiler/IR/EmitLLVM.lean`.
Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
2022-11-28 16:20:12 +01:00
Siddharth
4d47c8abc6
feat: add LLVM C API bindings ( #1497 )
...
Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
2022-11-21 09:50:01 +01:00
Sebastian Ullrich
9c3a283eb1
chore: update-stage0: simplify
2022-11-20 10:22:20 -08:00
Sebastian Ullrich
50a0c9bda7
chore: Nix: remove dead ileans
2022-10-13 18:12:55 +02:00
Mario Carneiro
37252e5fa7
chore: remove Bootstrap package
2022-09-02 16:39:03 -07:00
Mario Carneiro
bf89c5a0f5
chore: move Std -> Bootstrap
2022-08-29 01:26:12 -07:00
Sebastian Ullrich
4562fcfbd7
chore: Nix: include orphan modules like lean.mk does
2022-08-27 17:41:46 +02:00
Sebastian Ullrich
f4de40d7dc
feat: turn on warningAsError
2022-07-29 10:31:19 -07:00
Sebastian Ullrich
8972cc9baf
chore: Nix: cache Leanc-deps
2022-07-16 16:19:01 +02:00
Sebastian Ullrich
0f6bda61c9
chore: Nix: buildLeanPackage devShell
2022-07-08 23:24:04 +02:00
Sebastian Ullrich
d679044a9b
chore: Nix: use --deps-json for faster, single IFD per package
2022-07-06 16:12:30 +02:00
Sebastian Ullrich
a16eff2996
chore: Nix: implement roots
2022-07-06 16:12:30 +02:00
Sebastian Ullrich
4a9bc88a4e
chore: fix USE_GMP=OFF by removing GMP linking customization
2022-03-26 16:29:52 +01:00
Sebastian Ullrich
126c7dd4ea
chore: Nix: command for (one-time) linking .ileans
2022-03-09 10:29:25 +01:00
Sebastian Ullrich
8cbd7ccf09
test: reimplement package tests using Lake
2022-02-09 12:21:11 -08:00
Sebastian Ullrich
a7ba103e0a
chore: remove leanpkg
2022-02-04 19:03:40 +01:00
Sebastian Ullrich
2f02ddeba1
fix: Nix: revise propagation of load-dynlibs
2022-01-25 23:25:52 +01:00
Sebastian Ullrich
cf1654df1f
fix: Nix: precompilation against stdlib, once more
2022-01-25 23:25:52 +01:00
Sebastian Ullrich
9b87428555
fix: Nix: work around https://github.com/NixOS/nixpkgs/issues/148189
2022-01-25 23:25:52 +01:00
Sebastian Ullrich
23db584b8f
fix: Nix: precompilation against stdlib
2022-01-25 23:25:52 +01:00
Sebastian Ullrich
ac28f89527
fix: Nix: link package's shared library dynamically against dependencies
...
refactor: Nix: dynlib handling
2022-01-25 23:25:52 +01:00
Sebastian Ullrich
fb57b73e1f
fix: Nix: compatibility with standard build
2022-01-21 09:24:43 +01:00
Sebastian Ullrich
9ab5f0376e
feat: Nix: iTree attribute for symlinking (complete) ilean files
2022-01-14 19:02:10 +01:00
Sebastian Ullrich
d2a1e20dd0
feat: bundling LLVM on Linux
2021-11-18 09:42:35 +01:00
Sebastian Ullrich
7a91c494b9
chore: submodule hints
2021-10-15 06:56:02 -07:00
Sebastian Ullrich
89f9045646
test: add lake tests
2021-10-15 06:56:02 -07:00
Sebastian Ullrich
f9ab429f75
fix: Nix build
2021-09-30 10:24:45 +02:00
Sebastian Ullrich
e6927253cf
feat: use leanc written in Lean for testing & distribution
...
building is still handled by a (minimal) Bash script for bootstrapping purposes
2021-09-25 09:59:50 +02:00
Sebastian Ullrich
f49d05bd76
chore: Nix: remove Leanpkg from stage 0
2021-09-22 16:03:57 +02:00
Sebastian Ullrich
d3eb5deeea
chore: Nix: fix macOS build
2021-09-22 16:00:13 +02:00
Sebastian Ullrich
5a4309e599
refactor: bootstrap.nix
2021-09-22 14:43:32 +02:00
Sebastian Ullrich
d65871241d
chore: replace sed with perl in test driver
...
Consistent across all three platforms
2021-09-16 21:33:56 +02:00
Sebastian Ullrich
b3bb2bac97
chore: move all C++ code into libleanshared, use C stub for main
...
Avoids any issues with cross-lib C++
2021-09-16 07:03:37 -07:00
Sebastian Ullrich
af78071000
chore: use -Bsymbolic in favor of -Bsymbolic-functions, which Zig doesn't like
2021-09-08 17:24:31 +02:00
Sebastian Ullrich
9702fe1981
chore: leanc: use C instead of C++ compiler
2021-09-08 17:24:31 +02:00
Sebastian Ullrich
2418acd216
chore: Nix: fix stage0
2021-08-20 09:42:05 -07:00
Sebastian Ullrich
5f4b1b1d44
Revert "Revert "feat: reintroduce libleanshared, link lean & leanpkg against it""
...
This reverts commit ccbc9d00db .
2021-08-20 09:42:05 -07:00
Sebastian Ullrich
ccbc9d00db
Revert "feat: reintroduce libleanshared, link lean & leanpkg against it"
2021-08-20 15:39:00 +02:00
Sebastian Ullrich
aa177dacc3
chore: Nix: fix macOS linker flags
2021-08-18 13:54:52 +02:00