diff options
author | Emilio Jesus Gallego Arias <e+git@x80.org> | 2018-02-28 06:30:42 +0100 |
---|---|---|
committer | Emilio Jesus Gallego Arias <e+git@x80.org> | 2018-03-05 14:48:42 +0100 |
commit | 17f9e85d9785b2ab77426e6d8644840fa7f37d85 (patch) | |
tree | 0984400b6fb6776477df2ae74a02e5d2e8bdfa33 /Makefile.build | |
parent | 15331729aaab16678c2f7e29dd391f72df53d76e (diff) |
[build] Simpler byte/opt toplevel build.
Instead of playing static linking games, we just ship two different
top-level files depending on whether we want to enable `Drop` support
[bytecode case] or not.
The savings of the old approach [1 line of code] were not worth the
complexities of the linking hack.
Diffstat (limited to 'Makefile.build')
-rw-r--r-- | Makefile.build | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/Makefile.build b/Makefile.build index f583c3337..ffe605757 100644 --- a/Makefile.build +++ b/Makefile.build @@ -386,21 +386,16 @@ coqbinaries: $(COQTOPEXE) $(CHICKEN) $(CSDPCERT) $(FAKEIDE) coqbyte: $(COQTOPBYTE) $(CHICKENBYTE) -COQTOP_OPT_MLTOP=toplevel/coqtop_opt_bin.cmx -COQTOP_BYTE_MLTOP=toplevel/coqtop_byte_bin.cmo - -$(COQTOP_BYTE_MLTOP): toplevel/coqtop_byte_bin.ml - $(SHOW)'OCAMLC $<' - $(HIDE)$(OCAMLC) $(MLINCLUDES) $(BYTEFLAGS) -package compiler-libs.toplevel -c $< +COQTOP_OPT=toplevel/coqtop_opt_bin.ml +COQTOP_BYTE=toplevel/coqtop_byte_bin.ml ifeq ($(BEST),opt) -$(COQTOPEXE): $(LINKCMX) $(LIBCOQRUN) $(TOPLOOPCMA:.cma=.cmxs) $(COQTOP_OPT_MLTOP) +$(COQTOPEXE): $(LINKCMX) $(LIBCOQRUN) $(TOPLOOPCMA:.cma=.cmxs) $(COQTOP_OPT) $(SHOW)'COQMKTOP -o $@' - $(HIDE)$(OCAMLOPT) -linkall -linkpkg -I toplevel \ + $(HIDE)$(OCAMLOPT) -linkall -linkpkg -I vernac -I toplevel \ -I kernel/byterun/ -cclib -lcoqrun \ - $(SYSMOD) -package camlp5.gramlib \ - $(LINKCMX) $(OPTFLAGS) $(LINKMETADATA) \ - $(COQTOP_OPT_MLTOP) toplevel/coqtop_bin.ml -o $@ + $(SYSMOD) -package camlp5.gramlib \ + $(LINKCMX) $(OPTFLAGS) $(LINKMETADATA) $(COQTOP_OPT) -o $@ $(STRIP) $@ $(CODESIGN) $@ else @@ -409,13 +404,12 @@ $(COQTOPEXE): $(COQTOPBYTE) endif # VMBYTEFLAGS will either contain -custom of the right -dllpath for the VM -$(COQTOPBYTE): $(LINKCMO) $(LIBCOQRUN) $(TOPLOOPCMA) $(COQTOP_BYTE_MLTOP) +$(COQTOPBYTE): $(LINKCMO) $(LIBCOQRUN) $(TOPLOOPCMA) $(COQTOP_BYTE) $(SHOW)'COQMKTOP -o $@' - $(HIDE)$(OCAMLC) -linkall -linkpkg -I toplevel \ + $(HIDE)$(OCAMLC) -linkall -linkpkg -I lib -I vernac -I toplevel \ -I kernel/byterun/ -cclib -lcoqrun $(VMBYTEFLAGS) \ - $(SYSMOD) -package camlp5.gramlib,compiler-libs.toplevel \ - $(LINKCMO) $(BYTEFLAGS) \ - $(COQTOP_BYTE_MLTOP) toplevel/coqtop_bin.ml -o $@ + $(SYSMOD) -package camlp5.gramlib,compiler-libs.toplevel \ + $(LINKCMO) $(BYTEFLAGS) $(COQTOP_BYTE) -o $@ # For coqc COQCCMO:=clib/clib.cma lib/lib.cma toplevel/usage.cmo tools/coqc.cmo |