summaryrefslogtreecommitdiff
path: root/.gitignore
diff options
context:
space:
mode:
authorDavid Allsopp <david.allsopp@metastack.com>2021-01-03 11:16:23 +0000
committerDavid Allsopp <david.allsopp@metastack.com>2021-05-11 13:53:32 +0100
commit5f87ca619c8637e5889a7b4cfc1e276ace9410a2 (patch)
tree846fd1008039a4021c33fdf5c7fdc8870b4bf9e4 /.gitignore
parentea2b165323657177bb5e3c162098fcf2ec0769e2 (diff)
downloadocaml-5f87ca619c8637e5889a7b4cfc1e276ace9410a2.tar.gz
Bootstrap flexlink without partialclean
Currently, the flexdll target does a coldstart, overriding SUPPORT_DYNAMIC_LINKING and calling the C compiler to create ocamlrun.exe. This temporary runtime and stdlib are used with the boot compiler to build (bytecode) flexlink. The bootstrap then does a partial clean of the runtime and stdlib and then world[.opt] does another coldstart which builds boot/ocamlrun.exe this time with flexlink and rebuilds the boot stdlib. This wastes a lot of effort. The boot stdlib will be the same in both builds, because its compilation is not affected by the availability or not of shared library support. Most of the runtime is also identical - it's only the platform-specific unit which changes. This change introduces libcamlrun_non_shared and ocamlruns. The flexdll target builds just ocamlruns and copies it to boot/ocamlruns. This runtime is then used to build the stdlib. Nothing is cleaned which means that the subsequent coldstart will only rebuild the platform-specific unit and ocamlrun and the stdlib build will not build anything.
Diffstat (limited to '.gitignore')
-rw-r--r--.gitignore1
1 files changed, 1 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index bfc37866dc..dd0dfece2d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -67,6 +67,7 @@ _build
/asmcomp/CSE.ml
/boot/ocamlrun
+/boot/ocamlruns
/boot/camlheader
/boot/ocamlc.opt