Leonardo de Moura
cdd1dbbb36
feat: user-defined environment extensions
...
New test demonstrates how to use them.
The user-defined extensions cannot be used in the same file where they
were declared because the `initialize` commands are only executed when
we import the modules containing them.
TODO: user-defined attributes.
2021-07-26 16:18:48 -07:00
Sebastian Ullrich
a006558bb3
chore: search for llvm-config in PATH instead of LLVM_TOOLS_BINARY_DIR
...
...because it is not there with Nix
2021-07-09 11:00:58 +02:00
Sebastian Ullrich
5c07c188b4
feat: generate LLVM module of runtime
2021-07-09 11:00:58 +02:00
Sebastian Ullrich
b3535e4e3e
fix: LLVM setup
2021-06-18 12:24:43 +02:00
Sebastian Ullrich
27d52a352f
fix: leanpkg: actually detect import cycles
2021-06-12 10:09:55 +02:00
Wojciech Nawrocki
c772dc49ef
chore: use leanc for all C code
2021-06-06 15:34:44 +02:00
Wojciech Nawrocki
485f8ea2d0
feat: setup Emscripten file paths
2021-06-06 15:34:44 +02:00
Wojciech Nawrocki
7e1faa0be1
chore: fix CMake dependencies
2021-06-06 15:34:44 +02:00
Wojciech Nawrocki
8ada0ba043
feat: initial Emscripten support
2021-06-06 15:34:44 +02:00
Sebastian Ullrich
744423f25a
fix: leanpkg: make flags; extend test
2021-05-30 17:29:54 +02:00
Sebastian Ullrich
32fd82efc2
fix: link lean statically against GMP again
2021-04-14 20:37:07 +02:00
Sebastian Ullrich
ac9fee5854
test: add Lean 3-style interactive server tests
...
Fixes #376
2021-04-03 00:23:46 +02:00
Sebastian Ullrich
6664f58a0e
chore: link lean using leanc
2021-03-06 10:17:50 +01:00
Leonardo de Moura
9234145955
chore: disable test on Windows
...
See comment
2021-02-28 11:11:53 -08:00
Sebastian Ullrich
9e237f8a12
feat: basic port of leanpkg
2020-12-29 14:42:48 -08:00
Leonardo de Moura
e28b337a2c
chore: remove old frontend support from lean.cpp
...
We also remove the option `-n` (for new frontend)
2020-10-25 10:16:52 -07:00
Sebastian Ullrich
67684db0c3
chore: delete more CMake cruft
2020-10-14 19:08:06 +02:00
Sebastian Ullrich
c54d51b0c9
chore: go back to previous bootstrapping scheme where the stage N+1 stdlib is created using the stage N compiler
2020-09-24 18:57:53 +02:00
Sebastian Ullrich
308b4fc421
chore: always remake leanmake tests
2020-09-24 18:57:53 +02:00
Wojciech Nawrocki
098c7af1b6
feat: server tests
2020-08-31 06:50:01 -07:00
Sebastian Ullrich
0f6b9f5c94
chore: clean up stage 0 executable build
...
Previously we were building identical libInit/Std/Lean.a from the same stage0/stdlib sources. Now we simply link
everything right into libleancpp.a, again.
2020-07-03 19:26:00 +02:00
Sebastian Ullrich
46065a9b3b
feat: leanmake: auto-detect PKG
2020-06-13 15:22:01 +02:00
Leonardo de Moura
f7818757ef
chore: add Lean package to CMakeLists.txt
2020-05-26 13:50:04 -07:00
Leonardo de Moura
ae3a433f9c
chore: add Std to CMakeLists.txt
...
@Kha did I miss anything?
2020-05-22 11:19:14 -07:00
Sebastian Ullrich
f45fcb4898
test: add tests/compiler/foreign and doc/examples/compiler
2020-05-22 09:22:26 -07:00
Sebastian Ullrich
78a3305764
chore: duplicate install file
2020-05-18 14:51:18 +02:00
Sebastian Ullrich
a6fbf3c20e
refactor: make stages internally consistent by compiling the stageN lib with the stageN compiler, rename static libraries
...
The old stage1 is now stage0.5, which at least suggests that it's not an entirely consistent stage in general
2020-05-14 23:13:51 +02:00
Sebastian Ullrich
aa3bca1cf5
refactor: make Makefile reusable
2020-05-14 14:47:54 +02:00
Sebastian Ullrich
342675181a
fix: build
2020-05-14 14:47:54 +02:00
Sebastian Ullrich
279746fa6a
chore: change stage1-3 into homogeneous ExternalProjects from new top-level /CMakeLists.txt
...
This ensures stage2+3 are full, standalone Lean installations
2020-05-14 14:47:54 +02:00
Sebastian Ullrich
10253e89ea
chore: move bin/ and .oleans into build directory
2020-05-14 14:47:54 +02:00
Sebastian Ullrich
73b4cf329d
fix: Windows build
2020-05-14 14:47:54 +02:00
Sebastian Ullrich
053d4bab1c
chore: factor out and unify common test behavior; retrieve lean from PATH
...
`./test_single.sh foo.lean yes` is now `./test_single.sh -i foo.lean`
2020-05-14 14:38:52 +02:00
Sebastian Ullrich
bc40796729
chore: remove fail/ tests
...
Checking for *any* failure is never a good idea. Use `$f.expected.ret` instead.
2020-05-14 14:38:52 +02:00
Sebastian Ullrich
76a97ea4fc
feat: infer module name from cwd instead of LEAN_PATH, also make build system less specific to Init/
2020-05-14 14:38:52 +02:00
Sebastian Ullrich
e7920bcdb5
chore: remove test special case
2020-05-04 11:11:11 +02:00
Sebastian Ullrich
ea85f3a318
fix: make install...
2020-03-11 15:20:56 +01:00
Simon Hudon
92c8773137
feat: file IO using handles
2020-01-12 08:02:48 -08:00
Leonardo de Moura
6c474a1eb6
test: add tests/lean/newfrontend
...
cc @Kha
2020-01-06 14:07:22 -08:00
Leonardo de Moura
3fb3b34762
chore: disable test
2020-01-06 13:42:29 -08:00
Sebastian Ullrich
f183ea6fae
chore: reenable test
...
/cc @leodemoura
2019-12-14 12:09:04 +01:00
Leonardo de Moura
6ee5aa5276
chore: disable test
...
@Kha I will try to figure out why it is broken later.
2019-12-13 17:54:40 -08:00
Sebastian Ullrich
0c9f01ac18
fix: truly separate stage2/3 builds by copying all sources
2019-12-11 09:45:01 -08:00
Sebastian Ullrich
1d403dffee
chore: bin_lean should build bin_lean_stage0 first
2019-12-09 13:06:21 +01:00
Sebastian Ullrich
6195c31a04
chore: remove stdlib_ tests
2019-12-07 21:51:59 +01:00
Sebastian Ullrich
e98fdc4db6
chore: check-stage3 target for checking (eventually) deterministic bootstrap
2019-12-07 21:02:13 +01:00
Sebastian Ullrich
d5f30ddb83
fix: update-stage0
2019-11-27 05:53:22 -08:00
Sebastian Ullrich
98b83e96cb
chore: do not build bin_lean_stage2 by default
2019-11-27 05:53:22 -08:00
Sebastian Ullrich
682ad9f605
feat: stage 2 and 3 builds
...
While stage 1 is still the main build and the source of `bin/lean`, we now have optional targets
* lean_stage2, lean_stage3: build respective executable in `<build>/shell` from previous stage, compiling the stdlib
from scratch
* bin_lean_stage2: copy `lean_stage2` to `bin/` (stage 3 should always be identical to stage 2)
2019-11-27 05:53:22 -08:00
Leonardo de Moura
b21559b338
chore: move Makefile.in
2019-11-22 07:48:04 -08:00