From 17f9e85d9785b2ab77426e6d8644840fa7f37d85 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Wed, 28 Feb 2018 06:30:42 +0100 Subject: [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. --- Makefile.build | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) (limited to 'Makefile.build') 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 -- cgit v1.2.3