Edwin Brady
a76a1322eb
Initial merge of reference counting C back end
...
Written by Volkmar Frinken (@vfrinken). This is intended as a
lightweight (i.e. minimal dependencies) code generator that can be
ported to multiple platforms, especially those with memory constraints.
It shouldn't be expected to be anywhere near as fast as the Scheme back
end, for lots of reasons. The main goal is portability.
2020-10-11 15:05:00 +01:00
Guillaume ALLAIS
b449e5ae8a
[ fix #361 ] Use the default totality by default
2020-08-31 16:42:53 +01:00
Edwin Brady
0d81e3b59c
Version increment
2020-08-16 12:06:38 +01:00
Denis Buzdalov
0119c217c9
Putting .ipkg
mentioning to a variable and making names symmetrical.
2020-07-21 11:05:47 +01:00
Rui Barreiro
68c9990c8a
moved big foreign functions to support and added outputDir
2020-07-06 16:58:02 +01:00
Christian Rasmussen
24bb84fcf5
Avoid traversing all Idris modules twice when installing
2020-06-28 21:36:48 +02:00
Edwin Brady
33957c4328
contrib needs to be built before network now
2020-06-25 12:12:20 +01:00
Edwin Brady
9ea4108c82
Also need contrib for the tests
2020-06-23 23:29:28 +01:00
Kamil Shakirov
9e42eb1be1
Fix 'install-api' makefile target
...
When building from a clean state `src/IdrisPaths.idr` must be generated first
before installing `idris2api.ipkg`.
2020-06-18 17:19:48 +06:00
Kamil Shakirov
52cdc7a26f
Do not supply already exported variables to bootstrap scripts
2020-06-17 18:22:09 +06:00
Kamil Shakirov
fdb106a787
Pass MAKE variable
2020-06-17 15:48:18 +06:00
wchresta
788e6943a4
Split bootstrap into separate build and test stage
...
* Refactor bootstrap and bootstrap-rkt scripts
* Move the execution of the test phase after bootstrapping from bootstrap
scripts into the Makefile. This allows separate execution of build
and test seperately.
* Solves #125
2020-05-25 00:59:12 -04:00
Edwin Brady
0d5c709fc6
Add IDRIS2_CG environment variable
...
This allows setting code generators globally, which makes building with
alternative back ends smoother.
2020-05-23 19:03:56 +01:00
Edwin Brady
e7d27bc46a
Fix IDRIS2_BOOT_PATH
...
I don't know why I removed network, it's still needed...
2020-05-23 17:32:52 +01:00
Edwin Brady
e17f66244a
Move network support to libidris2_support
...
This makes the support stuff much simpler, and also makes the racket
bootstrap process easier
2020-05-23 15:52:33 +01:00
Edwin Brady
e3df2d59b0
Tidy up Racket CG
...
Instead of dumping the required dynamic libraries in the working
directly, where the executable won't necessarily find them, take the
same approach as the Chez backend and create a subdirectory for the
required runtime files and use a shell script to start up with the right
library paths.
2020-05-23 15:18:18 +01:00
Niklas Larsson
dbffcce112
Merge bootstrap for unix and windows
2020-05-23 14:51:00 +02:00
Niklas Larsson
61ec7757ed
Merge pull request #107 from melted/fix_win_tests
...
Fix windows tests
2020-05-23 13:08:41 +02:00
Edwin Brady
65e3f63598
Make sure literals are normalise on LHS
...
The hack (optimisation?) to normalise integer literals when below some
threshold is fine on the RHS, but on the LHS causes problems since we
need them in normal form for pattern matching. Fixes #112
2020-05-23 11:48:15 +01:00
Niklas Larsson
04d6e5ee68
Allow errors when installing cmd file
...
It will not be present on a fresh bootstrap yet.
2020-05-23 11:08:25 +02:00
Niklas Larsson
2b8f570ae9
Add cmd file to install on windows
2020-05-23 11:08:25 +02:00
Edwin Brady
b0b3861498
Merge pull request #94 from melted/win_bootstrap
...
Windows support
2020-05-21 19:19:51 +01:00
Edwin Brady
941c8b1ab5
Point bootstrap tests at the right place
...
We also need to separate building the runtests binary from running the
tests, because runtests refers to the boostrap libraries, and the tests
refer to the newly built libraries.
This worked locally, using inconsistent TTC versions for the bootstrap
version and new version, but let's see what it does on a clean machine
2020-05-21 17:11:12 +01:00
Niklas Larsson
d50bb099ea
Windows support
2020-05-21 15:13:06 +02:00
Kamil Shakirov
ebb98700bf
Remove stale src/IdrisPath.idr on each 'make clean' run
...
${PREFIX} can now be properly changed on each rebuild
2020-05-21 00:38:43 +06:00
Edwin Brady
0cd484fa09
Add idris2api.ipkg
...
This is a small variation that installs all the modules as a library,
which could be used by external tools, eg fancy REPLs, code generators,
etcs.
2020-05-20 16:38:46 +01:00
Edwin Brady
451ed0f213
Update Makefile
...
Remove all idris2sh so that travis and the bootstrap scripts look in the
right place
2020-05-20 14:19:06 +01:00
Edwin Brady
9cc4cba065
Change executable name
...
I think we can be the official Idris2 now
2020-05-20 13:31:04 +01:00
Kamil Shakirov
880981d5b4
More fixes and improvements
...
* Ignore build artifacts in 'tests' directory
* Remove unused variables in makefiles
* Add 'bootstrap-clean' rule to delete build artifacts from 'bootstrap' directory
* Add 'distclean' rule to delete all build artifacts from the source tree
2020-05-20 15:31:30 +06:00
Edwin Brady
9eba9113dd
Update racket bootstrap scripts
...
Need to pass the LD_LIBRARY_PATH all the way through or racket doesn't
know where to look. I really don't know why it doesn't work to just set
it at the top level in the script, but it didn't (on my Mac, at least).
2020-05-20 00:03:39 +01:00
Edwin Brady
746df34470
Don't overwrite idris2sh.rkt
...
Better to copy and update the new version with the prefix
2020-05-19 23:01:04 +01:00
Edwin Brady
5b88afb3ef
Add racket bootstrap script
2020-05-19 22:56:27 +01:00
Edwin Brady
ddd3ff151d
Fix up bootstrap scripts
...
They weren't quite right; I've now successfully built from the script on
a machine with only Chez available.
2020-05-19 21:39:36 +01:00
Edwin Brady
7defc40c47
Better bootstrapping process
2020-05-19 21:08:32 +01:00
Edwin Brady
bd6a4903b5
Finish tests
2020-05-19 20:06:37 +01:00
Edwin Brady
a972778eab
Add test script
...
They don't all pass yet, for minor reasons. Coming shortly...
Unfortunately the startup overhead for chez is really noticeable here!
2020-05-19 18:25:18 +01:00
Edwin Brady
3eb67aebd8
Install support library to PREFIX/lib
...
If you happen to build via racket, putting it in a place where the
system knows to look means that it will successfully run the executable.
2020-05-19 16:28:24 +01:00
Kamil Shakirov
b801b97fcc
Refactor makefiles
2020-05-19 18:50:47 +06:00
Edwin Brady
ede324dc6c
Don't collapse empty lines in 'lines'
...
Now the vim mode works!
2020-05-19 10:47:05 +01:00
Edwin Brady
3634ec76b7
Finish bootstrap scripts
...
I got this working on my Mac, which doesn't have Idris 2 of any form
installed. So it might work... good luck!
2020-05-18 21:18:32 +01:00
Edwin Brady
b69068f4ff
Update bootstrap scripts
2020-05-18 20:33:38 +01:00
Edwin Brady
456414cffd
Generate IdrisPaths
2020-05-18 20:24:48 +01:00
Edwin Brady
1f3c557889
Fiddle about with bootstrap scripts
...
Not quite there, but nearly
2020-05-18 18:02:56 +01:00
Edwin Brady
f7b285ec6c
Add paths for install
...
Also remove libraries we aren't using quite yet...
2020-05-18 16:29:18 +01:00
Edwin Brady
155dddb5f3
Another attempt at making the bootstrap step work
2020-05-18 16:02:30 +01:00
Edwin Brady
dec7dff622
Add libraries
2020-05-18 14:00:08 +01:00