Commit graph

243 commits

Author SHA1 Message Date
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