Idris2/idris2.ipkg
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

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