mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-11-24 15:07:37 +03:00
94088bea80
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.
20 lines
618 B
Plaintext
20 lines
618 B
Plaintext
package idris2app
|
|
|
|
depends = network
|
|
|
|
sourcedir = "src"
|
|
|
|
-- Set if you want the executable to generate profiling data
|
|
-- (Currently supported by Racket and Chez back ends, others ignore it)
|
|
-- opts = "--profile"
|
|
|
|
-- Set if you want incremental builds. This is good for development, since
|
|
-- small changes compile faster, but bad for deployment since the resulting
|
|
-- executable runs at around half the speed.
|
|
-- (Alternatively: set the environment variable IDRIS2_INC_CGS=chez)
|
|
-- For this to work, you need to do the initial incremental build from clean.
|
|
-- opts = "--inc chez"
|
|
|
|
main = Idris.Main
|
|
executable = idris2
|