David Thrane Christiansen
8fef03d1cc
feat: support Lake for building Lean core oleans ( #3886 )
...
This is from a ~~pair~~triple programming session with @tydeu and
@mhuisi.
If stage 1 is built with `-DUSE_LAKE=ON`, the CMake run will generate
`lakefile.toml` files for the root, `src`, and `tests`. These Lake
configuration files can then be used to build core oleans. While they do
not yet allow Lake to be used to build the Lean binaries. they do allow
Lake to be used for working interactively with the Lean source. In our
preliminary experiments, this allowed updates to `Init.Data.Nat` to be
noticed automatically when reloading downstream files, rather than
requiring a full manual compiler rebuild. This will make it easier to
work on the system.
As part of this change, Lake is added to stage 0. This allows Lake to
function in `src`, which uses the stage 0 toolchain.
---------
Co-authored-by: Mac Malone <tydeu@hatpress.net>
Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
2024-06-13 16:18:24 +00:00
tydeu
4ec3d78afa
chore: update tests to account for .lake
2023-11-13 20:31:24 -05:00
tydeu
28f7334139
chore: .gitignore fixes
2023-08-02 04:03:56 -04:00
Sebastian Ullrich
7809b269ca
chore: avoid xargs in update-stage0
2022-11-20 10:22:20 -08:00
Leonardo de Moura
9022fb8d48
fix: custom update-stage0 for osx
2022-11-19 19:20:13 -08:00
Chris Lovett
ad7c5b26a7
fix: UTF-8 file path support for lean on Windows
...
* fix msys2 windows build so the windows apps support utf-8 file paths.
* use windres to compile default-manifest.o
* windres is in binutils.
* stop modifying default-manifest.o
* copy to stage0
* fix semicolon joining of lists in add_custom_target
* undo changes to stage0 as per CR feedback.
* fix makefile
* fix: revert cmakelists.txt COMMAND_EXPAND_LISTS change
* fix: msys2 dependencies
* add unit test for decoding UTF-8 chars to prove "lean.exe" can read utf-8 encoded files where utf-8 is also used in the file name.
* fix: utf-8 test by using windows-2022
* fix: do we really need cmake 3.11 or will 3.10 do?
* nope, really does require cmake 11.
2021-09-22 12:21:52 +02:00
Wojciech Nawrocki
e89aa5641e
chore: auto-insert newlines
2021-07-05 19:42:01 +02:00
Sebastian Ullrich
9a5867ffd7
chore: ignore result files from nix build
2020-11-24 19:16:27 +01:00
Sebastian Ullrich
10253e89ea
chore: move bin/ and .oleans into build directory
2020-05-14 14:47:54 +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
27aa0938c8
chore: update .gitignores
2019-11-29 11:18:26 +01:00
Sebastian Ullrich
e0b45d65f7
feat(default.nix,tests/playground): Nix-powered benchmark suite
2019-05-15 13:25:29 +02:00
Leonardo de Moura
79e2abe33f
feat(CMakeLists): put configuration options relevant to leanc at config.h
2019-04-27 21:04:41 -07:00
Sebastian Ullrich
f6d3062524
feat(bin/leanc): add simple C++ compiler wrapper script
2019-03-18 16:11:30 +01:00
Sebastian Ullrich
074b179984
feat(shell/CMakeLists): do not touch src/boot by default, use untracked dir src/stage1 instead
2019-03-18 16:09:20 +01:00
Sebastian Ullrich
e19ed79414
feat(shell/lean): pass environment to and from Lean, remove environment.mk_empty axiom
...
/cc @leodemoura
I didn't remove the implementation of `environment.mk_empty`, we may want to use
it in tests.
2019-03-16 19:27:16 +01:00
Sebastian Ullrich
80a79336f2
chore(.gitignore): ignore library/Makefile
2018-11-07 09:30:32 +01:00
Sebastian Ullrich
ce7f7c8a14
feat(library,src/CMakeLists): use simple Makefile by Simon Hudon to bring back some degree of parallel compilation
2018-10-19 09:52:01 +02:00
Leonardo de Moura
054f6717de
chore(.gitignore): ignore *.produced.out files
2018-05-01 08:43:46 -07:00
Nuno Lopes
8019914ad4
doc(msvc): add instructions on how to get Intellisense working
2018-02-06 10:11:10 -08:00
Nuno Lopes
59b5a4a07a
feat(build): add preliminary MSVC support
...
Still doesn't build fully, but at least Intellisense sort of works now
2018-02-06 10:11:09 -08:00
Nuno Lopes
0d820fa23d
fix(build): fix Cygwin build
2018-01-22 18:07:04 -08:00
Gabriel Ebner
9ef95c9dff
chore(gitignore): ignore autogenerated version.lean file
2017-12-17 15:49:51 +01:00
Gabriel Ebner
981f439de5
chore(gitignore): ignore nix files
2017-06-19 13:16:04 +02:00
Gabriel Ebner
ee8b2b39fe
chore(library): remove gdb_history file
2017-06-12 15:39:46 +02:00
Leonardo de Moura
468211eb9b
chore(.gitignore): ignore VSCode config file
2016-12-18 12:35:25 -08:00
Gabriel Ebner
e03c31d2f9
refactor(gitignore): remove old ignore entries
2016-12-10 08:42:39 -08:00
Gabriel Ebner
09fa1298ce
fix(gitignore): ignore autosave files
2016-12-10 08:42:29 -08:00
Jared Roesch
e65d90ac79
feat(*): C++ code generator
...
in progress move of Lean.native to init
2016-12-05 16:11:41 -08:00
Leonardo de Moura
31c9a76777
feat(util/file_lock): add support for Windows
...
Remark: the lock are not being erased on Windows.
I tried different solutions based on MoveFileEx and DeleteFile.
None of them worked. The one based on MoveFileEx
MoveFileEx(m_fname.c_str(), NULL, MOVEFILE_DELAY_UNTIL_REBOOT);
seems to delete the file after REBOOT.
But, this is not very useful.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2015-12-14 10:07:26 -08:00
Soonho Kong
9fb44c1e93
chore(.gitignore): add compile_commands.json
2015-03-28 22:38:13 -04:00
Soonho Kong
ca16381892
feat(bin): add linja.in and LEAN_BIN_DEP cmake option
...
see the discussion in issue #422
2015-02-04 15:46:08 -08:00
Leonardo de Moura
6b07f857b1
chore(.gitignore): add leanemacs and leanemacs.bat
2015-01-30 15:20:44 -08:00
Leonardo de Moura
3971102953
chore(.gitignore): exclude emacs dependencies subdirectory
2015-01-30 13:05:30 -08:00
Leonardo de Moura
464f991eba
chore(.gitignore): add .lean_options
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-09-04 15:04:57 -07:00
Leonardo de Moura
cb8297e948
chore(.gitignore): ignore .ilean files
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-14 18:05:48 -07:00
Leonardo de Moura
f319d084d4
feat(library/Makefile.common): use new --cache/-c option at Makefile.common
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-10 11:20:08 -07:00
Leonardo de Moura
b279c94037
feat(build): cread .d (dependency) files for .lean files
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-01 09:08:16 -07:00
Leonardo de Moura
3aa59cebb5
chore(.): add make.deps to .gitignore
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-29 09:03:51 -07:00
Leonardo de Moura
4398f3ec04
chore(.gitignore): add .olean files
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-05-24 13:51:39 -07:00
Leonardo de Moura
73cd48cb13
chore(.gitignore): ignore .md.lean files
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-12-27 16:50:06 -08:00
Soonho Kong
6d5adb0429
chore(.gitignore): update .gitignore
2013-12-01 00:48:44 -05:00
Leonardo de Moura
aa4363a060
chore(.gitignore): hide '*.md.lua' files
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-11-18 14:14:23 -08:00
Soonho Kong
fab5cdc598
chore: update .gitignore
2013-11-17 01:02:21 -05:00
Leonardo de Moura
a5adddaf14
Add more tests
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-08-31 18:46:18 -07:00
Soonho Kong
ab0d976341
Update .gitignore
2013-08-01 13:38:04 -07:00
Leonardo de Moura
c32dfe22b6
Add expressions (dependent type theory)
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-07-22 12:46:11 -07:00
Leonardo de Moura
d72f24a5e5
Add gtags files to .gitignore
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-07-17 12:40:31 -07:00
Leonardo de Moura
1448dd5098
Update .gitignore
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-07-16 22:34:54 -07:00
Leonardo de Moura
763b79e0aa
Add basic .gitignore file
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-07-15 18:45:12 -07:00