Commit Graph

107 Commits

Author SHA1 Message Date
Thomas E. Hansen
a3b078cb0d [ rc ] For v0.6.9 - to see if the process was right
Good luck everybody...

v0.6.9 - Nice!  ^^
2023-12-22 14:44:30 +01:00
PHO
7c87005092
Support "make -j" (#3135)
* Allow Idris2 to bootstrap with "make -j"

"linear" should explicitly depend on "base" so that "base" is built before
"linear", otherwise it can fail with:

> Error: Module Data.Nat not found
>
> Data.Linear.Copies:5:1--5:16
>  1 | module Data.Linear.Copies
>  2 |
>  3 | import Data.Linear.Bifunctor
>  4 | import Data.Linear.Notation
>  5 | import Data.Nat
>      ^^^^^^^^^^^^^^^

* Allow Idris2 to build with "make -j all"

"all: ${TARGET} libs" is bad because it means "${TARGET}" and "libs" can be
built independently. So "make -j" attempts to build them parallelly and
fail.
2023-11-08 08:18:02 +00:00
Aleksei Volkov
af7ba2fa67
[ ttc ] Compare modification time with nanosecond precision (#3046) 2023-08-31 11:55:57 +01:00
Jens Petersen
48dbc3251b implement DESTDIR support for distros
both 'make install' and 'idris2 --install*' should respect DESTDIR now
2023-08-22 16:44:13 +01:00
CodingCellist
51403ab18c
[ fix ] Only set IDRIS2_PREFIX if it is unset (fixes Issue 3022) (#3024) 2023-07-31 08:18:15 +01:00
Mathew Polzin
2e9c7fb8b5
Create a separate Makefile for the Idris 2 support libraries. (#2869)
* Create a separate Makefile for the Idris 2 support libraries.

* Update INSTALL.md

* satisfy natural language linter

* Add to CHANGELOG

* Update CHANGELOG.md
2023-02-09 16:49:49 -06:00
Kamiλ Shakirov
dbb3853484 Do not build docs for papers 2022-11-15 16:38:13 +01:00
Kamil Shakirov
73733f03ff Cleanup after rebase 2022-11-15 16:38:13 +01:00
Kamil Shakirov
8a35a9dc74 Fix IDRIS2_BOOT_PATH 2022-11-15 16:38:13 +01:00
Kamil Shakirov
502aa6f4fc Do not install papers library 2022-11-15 16:38:13 +01:00
Kamil Shakirov
dccb80d0bf [ fix ] Fix Makefile targets for linear and papers libraries 2022-11-15 16:38:13 +01:00
Edwin Brady
e125c9014f
Prepare release 0.6.0 (#2733)
* Prepare release 0.6.0

* Fix bootstrap chez

* Correct version in bootstrap chez
2022-10-27 16:32:16 +01:00
G. Allais
475d13bb11
[ fix ] parsing of test lib's options (#2725)
Co-authored-by: Mathew Polzin <matt.polzin@gmail.com>
2022-10-21 21:01:54 +01:00
CodingCellist
47c2de3148
[ repl ] Add the ability to get detailed help, e.g. :help :help (#2722)
A common issue for users is that the behaviour of the various repl
commands are not documented anywhere despite some of them having complex
behaviour (e.g. `:set` which accepts a specific set of options). This
implements the ability to call `:?|:h|:help` on repl commands to request
detailed help for a specific repl command, while preserving the
behaviour that calling the help command without any arguments prints the
general help text.

Generic help is defined as the first line of the help text.
Detailed help is defined as the entire help text.

This means that `:help :t`, for example, does not error (there is no
detailed help) but instead just prints the single line of help text.

* [ repl ] Use unlines for detailed help (see #2087)

  Ideally, the lines affected should be multiline strings. But for some
  arcane reason, newlines in those get swallowed in Nix and Windows
  **CI** only Ô.o
  This was already documented in issue #2087.

* [ new ] --except for golden testing lib

  To allow CI to pass despite #2087

Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-10-21 14:35:33 +02:00
G. Allais
1f3809c49a
[ re #2675 ] Do not build libs/{contribs,papers} during bootstrap (#2677)
Co-authored-by: Ben Hormann <benhormann@users.noreply.github.com>
2022-10-04 13:37:45 +01:00
Nicolas B
912112ba97
Remove .d files from c backends on make clean (#2441)
* Remove .d files from c backends on make clean

* Remove .d files from c backends on make clean with the right targets
2022-04-28 10:02:41 +01:00
G. Allais
ec5afa5065
[ libs ] move propaganda out of contrib (#2213) 2022-01-25 12:25:55 +00:00
Maciej Barć
7fd9844329 Makefile: bootstrap - check for chez threading support
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-11-22 12:14:04 +00:00
Attila Lendvai
cab5a0a19b
makefile: propagate IDRIS2_INC_CGS=${IDRIS2_CG} to install-libs
Without this change install-libs will not install the .so files, and
consequentially the test 'chez/chez033' fails with 'Error: INTERNAL
ERROR: Missing .so:Prelude/Cast.so' when it is run by an installed
executable.

Also add a test-installed makefile target to run the tests using the
installed executable.
2021-10-04 17:43:00 +02:00
Edwin Brady
1e90182311
Version increment to 0.5.1 (#1939)
This is to remove the requirement on Chez >9.5
2021-09-19 20:53:32 +01:00
Edwin Brady
ada3eb4449
Version 0.5.0 (#1931)
* Update version numbers and bootstrap scheme

* Use wall clock time for search timeouts

That was always the intention in any case, rather than the process time.
2021-09-18 16:07:34 +01:00
Kamil Shakirov
304c0e666d [ install ] Fix install-libdocs makefile target
On some systems, `/bin/sh` is a symlink to a minimal shell (e.g. `dash`) that doesn't understand bashisms like `mkdir -p some_dir/{one,two,three}`.
2021-09-16 14:34:55 +01:00
G. Allais
426441eecf
[ new ] persistent css switch and alternative style files (#1923) 2021-09-15 15:21:56 +01:00
Kamiλ Shakirov
2428b356f4
[ install, docs ] Add a new makefile target to install libdocs (#1884) 2021-08-31 18:41:03 +01:00
Kamil Shakirov
08d9e7d82c [ install ] Install non-executable files with the executable flag off 2021-08-31 13:21:19 +01:00
Mathew Polzin
fe306f8e4b support explicitly setting a version tag during build. 2021-07-30 21:51:59 -07:00
Edwin Brady
f0df67a2fe
Merge pull request #1656 from stepancheg/bootstrap-build
Write files into bootstrap-build directory during bootstrap
2021-07-16 00:22:23 +01:00
Edwin Brady
a709f6d369 Fix/reorganise tests 2021-07-15 20:24:40 +01:00
Edwin Brady
62586627d8 fix arity for blodwen-set-thread-data
This is an update of PR #540, thanks to @lodi
2021-07-15 15:02:43 +01:00
Niklas Larsson
eb0c59c908
Enable incremental compilation on Windows. (#1694) 2021-07-13 11:29:34 +01:00
Stiopa Koltsov
afaf416673 Write files into bootstrap-build directory during bootstrap
... instead of `bootstrap` which contains source files. Make it easier to understand
how build works, and in particular, which files are sources and
which files are generated.
2021-07-04 03:17:13 +01:00
Stepan Koltsov
8d7d13dd41
Insert @generated markers into generated launcher scripts (#1586)
Took me some time to figure out that `build/exec/idris2` is generated.
2021-06-28 16:44:33 +01:00
Edwin Brady
fc0e0f19d3 Use IDRIS2_CG for incremental library builds
This way there's no problem if chez isn't installed
2021-06-27 16:09:02 +01:00
Edwin Brady
94088bea80 Support for incremental compilation with Chez
This adds a new flag '--inc <backend>' which, if set, compiles all
modules incrementally, and for executables, links the incrementally
compiled modules rather than building the whole program.

Also, adds an environment variable IDRIS2_INC_CGS for providing a comma
separated list of backends to use for incremental builds.

Also, adds '--whole-program', which overrides incremental builds for an
executable.

Incremental builds are much faster if there's nothing to recompile, but
for the Chez backend, generate code which runs at about half the speed.

Currently only works for Chez - other backends ignore the flag.

Also, incremental building of an executable will only work if *all*
required modules have been built incrementally for the backend in use.
2021-06-27 15:40:23 +01:00
Edwin Brady
a0cfa28621 Update version numbers 2021-06-23 16:15:21 +01:00
claymager
b946ec0277
[ fix ] Create library dir if necessary (#1300) 2021-06-14 16:12:46 +01:00
Ruslan Feizerakhmanov
7aee7c9b7c
[ new ] --install-with-src; refactoring around FCs (#1450)
Why:

* To implement robust cross-project go-to-definition in LSP
  i.e you can jump to definition of any global name coming
  from library dependencies, as well as from the local project files.

What it does:

*  Modify `FC`s to carry `ModuleIdent` for .idr sources,
   file name for .ipkg sources or nothing for interactive runs.

*  Add `--install-with-src` to install the source code alongside
   the ttc binaries. The source is installed into the same directory
   as the corresponding ttc file. Installed sources are made read-only.

*  As we install the sources pinned to the related ttc files we gain
   the versioning of sources for free.
2021-06-05 12:53:22 +01:00
Kamil Shakirov
2e61779878 [ docs ] Build docs for the 'test' package 2021-05-27 11:12:44 +01:00
G. Allais
004cc45e9d
[ test ] cosmetic changes & retest capability (#1394)
* Banners for test pools
* Summary with the list of failing tests at the end
* Option to write the list of failing tests to a file
* Option to read the list of tests to run from a file
* Using these two latest features to add a new make target to rerun precisely the tests that failed last time
2021-05-11 09:46:21 +01:00
Matúš Tejiščák
4de7b2133a
[ new ] Add chez-sep codegen (#1359)
Co-authored-by: Johann Rudloff <johann@sinyax.net>
2021-05-11 08:20:19 +01:00
Edwin Brady
587f73a256 Make documentation from Makefile
The documentation is now also linked from
https://www.idris-lang.org/pages/documentation.html
and https://www.idris-lang.org/pages/idris-2-documentation.html
2021-05-01 17:09:25 +01:00
Johann Rudloff
68a5f1f1b7 Copy styles.css from support into generated docs/ folder 2021-04-26 22:45:14 +02:00
John Mager
738bc4331e Update PHONY description
- TARGET isn't phony
- distclean declared elsewhere
- Update with testenv, testenv-clean
2021-04-19 11:23:58 +01:00
John Mager
d0db61ca35 Add testenv-clean 2021-04-19 11:23:58 +01:00
John Mager
c5d2d18568 [ clean ] Revert some from (#1240)
Since `make test` and `make bootstrap-test` now use a different
approach, several changes no longer apply.
2021-04-19 11:23:58 +01:00
John Mager
9b81cb19d3 Set PREFIX for tests 2021-04-19 11:23:58 +01:00
John Mager
b0242b2608 [ refactor ] Introduce NAME_VERSION variable 2021-04-19 11:23:58 +01:00
John Mager
1528583e08 [ clean ] Set PREFIX for bootstrap-test 2021-04-19 11:23:58 +01:00
John Mager
c3ff63ae5f Use absolute path to pass around Idris executable
Rather than tracking how far we are from the project root in the various
Makefile commands, it's much easier to reference the build target with
with an absolute path.
2021-04-11 20:52:36 +01:00
Mathew Polzin
178f26ec17
[ re #1162 ] Test without install (#1240)
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2021-04-05 11:27:56 +01:00