aboutsummaryrefslogtreecommitdiffhomepage
path: root/Makefile.build
Commit message (Collapse)AuthorAge
* Update headers following #6543.Gravatar Théo Zimmermann2018-02-27
|
* Merge PR #6646: Change references to CAMLP4 to CAMLP5 since we no longer use ↵Gravatar Maxime Dénès2018-02-19
|\ | | | | | | camlp4
| * Change references to CAMLP4 to CAMLP5 to be more accurate since we noGravatar Jim Fehrle2018-02-17
| | | | | | | | longer use camlp4.
* | [build] Fix VM dynamic linking prep in byte builds.Gravatar Emilio Jesus Gallego Arias2018-02-14
|/ | | | | | | We correctly set the path of `libcoqrun` in non-local builds. This bug was introduced by #6038. c.f. #6475 , #5992.
* Merge PR #6448: Cleanup and add debug printers a bitGravatar Maxime Dénès2018-01-18
|\
* \ Merge PR #6518: Fix build of micromega & nsatz with OCaml 4.06Gravatar Maxime Dénès2018-01-08
|\ \
| * | [Makefile] plugins micromega and nsatz depend on unix and numGravatar Vincent Laporte2017-12-28
| | |
* | | [API] remove large file containing duplicate interfacesGravatar Enrico Tassi2017-12-27
|/ / | | | | | | | | ... in favor of having Public/Internal sub modules in each and every module grouping functions according to their intended client.
* | [lib] Split auxiliary libraries into Coq-specific and general.Gravatar Emilio Jesus Gallego Arias2017-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up to this point the `lib` directory contained two different library archives, `clib.cma` and `lib.cma`, which a rough splitting between Coq-specific libraries and general-purpose ones. We know split the directory in two, as to make the distinction clear: - `clib`: contains libraries that are not Coq specific and implement common data structures and programming patterns. These libraries could be eventually replace with external dependencies and the rest of the code base wouldn't notice much. - `lib`: contains Coq-specific common libraries in widespread use along the codebase, but that are not considered part of other components. Examples are printing, error handling, or flags. In some cases we have coupling due to utility files depending on Coq specific flags, however this commit doesn't modify any files, but only moves them around, further cleanup is welcome, as indeed a few files in `lib` should likely be placed in `clib`. Also note that `Deque` is not used ATM.
| * Cleanup debug printers a bit, add generated mli.Gravatar Gaëtan Gilbert2017-12-22
| |
* | Merge PR #6234: Make the micromega extraction check a regular output test.Gravatar Maxime Dénès2017-12-20
|\ \
* \ \ Merge PR #6305: Build with windows line endingsGravatar Maxime Dénès2017-12-18
|\ \ \
* \ \ \ Merge PR #6217: Do dependencies in 1 command per file class.Gravatar Maxime Dénès2017-12-18
|\ \ \ \ | |_|_|/ |/| | |
| | * | For bug 6249, Segmentation fault when building Coq on Windows 10.Gravatar Jim2017-12-16
| | | | | | | | | | | | | | | | | | | | | | | | Enable builds on Windows by removing Windows-style endings where it impacts make. The fix in Makefile.build is a band-aid fix; maximedenes said he would remove the dependency on sed and awk here.
| * | | Do dependencies in 1 command per file class.Gravatar Gaëtan Gilbert2017-12-15
| |/ /
* | | Merge PR #6038: [build] Remove coqmktop in favor of ocamlfind.Gravatar Maxime Dénès2017-12-14
|\ \ \
* | | | [flags] [stm] Reorganize flags.Gravatar Emilio Jesus Gallego Arias2017-12-11
| |/ / |/| | | | | | | | | | | | | | | | | | | | We move the main async flags to the STM in preparation for more state encapsulation. There is still more work to do, in particular we should make some of the defaults a parameter instead of a flag.
| * | [make] remove unneeded generated file "tolink.ml"Gravatar Emilio Jesus Gallego Arias2017-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When statically linking plugins, the "DECLARE PLUGIN" macro takes care of properly setting up the loaded module table. This setup was also done by `coqmktop`, thus in order to ease bisecting, we didn't take care of it in the `coqmktop` deprecation. Fixes #6364.
| * | [build] Remove coqmktop in favor of ocamlfind.Gravatar Emilio Jesus Gallego Arias2017-12-10
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We remove coqmktop in favor of a couple of simple makefile rules using ocamlfind. In order to do that, we introduce a new top-level file that calls the coqtop main entry. This is very convenient in order to use other builds systems such as `ocamlbuild` or `jbuilder`. An additional consideration is that we must perform a side-effect on init depending on whether we have an OCaml toplevel available [byte] or not. We do that by using two different object files, one for the bytecode version other for the native one, but we may want to review our choice. We also perform some smaller cleanups taking profit from ocamlfind.
| * Make the micromega extraction check a regular output test.Gravatar Gaëtan Gilbert2017-11-28
|/ | | | | This allows us to enforce that it works without breaking the build when it doesn't.
* Fix micromega.ml to match generated file and enforce match in make.Gravatar Gaëtan Gilbert2017-11-16
| | | | Mismatch probably caused by c5aca4005.
* Merge PR #1054: Restoring test on ident validity while browsing directory ↵Gravatar Maxime Dénès2017-10-11
|\ | | | | | | structure.
| * Restoring test on ident validity while browsing directory structure.Gravatar Hugo Herbelin2017-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | The test was abandoned at the time of merging subdirectory browsing between coqdep and coqtop, and to limit at the same time the dependency of coqdep in files such as unicode.cmo. But checking ident validity speeds up browsing in arbitrary directory structure and we restore it for this reason. (One could also say that browsing arbitrary directory structures is not intended, but in practice this may happen, as e.g. reported in BZ#5734.)
* | [configure] Support for flambda flags.Gravatar Emilio Jesus Gallego Arias2017-10-10
|/ | | | | | | | | We add a new option to configure `-flambda-opts` to allow passing custom flags to flambda. Example: ``` ./configure -flambda-opts "-O3 -unbox-closures" ```
* Fix hardcoded boot dependencies after #1041.Gravatar Gaëtan Gilbert2017-10-07
| | | | | | | Specifically since e88dfedd99a84e9e375f3583be6fd1de3de36c72. There seem to have been no actual errors due to this, only ocaml complaining about missing .cmi files.
* Merge PR #1041: Miscellaneous fixes about UTF-8 (including a fix to BZ#5715 ↵Gravatar Maxime Dénès2017-10-05
|\ | | | | | | to escape non-UTF-8 file names)
* | coq_makefile: make sure compile flags for Coq and coq_makefile are in syncGravatar Emilio Jesus Gallego Arias2017-09-19
| | | | | | | | | | | | E.g. -safe-string is set by configure.ml and made available to both make (via config/Makefile) and coq_makefile (via config/coq_config.ml -> lib/envars.ml -> CoqMakefile.in).
| * Supporting library names in utf8 in coqdep.Gravatar Hugo Herbelin2017-09-13
|/
* Merge PR #958: coq_makefile: build/use .cma for packed plugins tooGravatar Maxime Dénès2017-08-31
|\
* \ Merge PR #773: [flags] Remove XML output flag.Gravatar Maxime Dénès2017-08-29
|\ \
| | * test-suite: depend on byte compilation tooGravatar Enrico Tassi2017-08-29
| |/ |/| | | | | coq-makefile's tests do depend on this
* | More portable location for the time command.Gravatar Théo Zimmermann2017-08-12
| | | | | | | | On NixOS in particular, /usr/bin/time doesn't exist.
| * [flags] Remove XML output flag.Gravatar Emilio Jesus Gallego Arias2017-08-01
|/ | | | | | | | This is a second try at removing the hooks for the legacy xml export system which can't currently be tested. It is also not included in the API, so it should either be included in it or this PR be applied.
* Merge PR #921: [make] remove compat5 file.Gravatar Maxime Dénès2017-08-01
|\
* \ Merge PR #852: Makefile: fails if some .vo or .cm* file has no sourceGravatar Maxime Dénès2017-07-28
|\ \
| | * [make] remove compat5 file.Gravatar Emilio Jesus Gallego Arias2017-07-27
| |/ |/| | | | | It is empty and not used anymore.
* | make sure that API-leaks cannot be reintroduced by mistakeGravatar Matej Košík2017-07-26
| |
* | Merge branch 'v8.7'Gravatar Maxime Dénès2017-07-20
|\ \
* | | [API] Remove `open API` in ml files in favor of `-open API` flag.Gravatar Emilio Jesus Gallego Arias2017-07-17
| | |
| * | Add timing scriptsGravatar Jason Gross2017-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds timing scripts from https://github.com/JasonGross/coq-scripts/tree/master/timing into the tools folder, and integrates them into coq_makefile and Coq's makefile. The main added makefile targets are: - the `TIMING` variable - when non-empty, this creates for each built `.v` file a `.v.timing` variable (or `.v.before-timing` or `.v.after-timing` for `TIMING=before` and `TIMING=after`, respectively) - `pretty-timed TGTS=...` - runs `make $(TGTS)` and prints a table of sorted timings at the end, saving it to `time-of-build-pretty.log` - `make-pretty-timed-before TGTS=...`, `make-pretty-timed-after TGTS=...` - runs `make $(TGTS)`, and saves the timing data to the file `time-of-build-before.log` or `time-of-build-after.log`, respectively - `print-pretty-timed-diff` - prints a table with the difference between the logs recorded by `make-pretty-timed-before` and `make-pretty-timed-after`, saving the table to `time-of-build-both.log` - `print-pretty-single-time-diff BEFORE=... AFTER=...` - this prints a table with the differences between two `.v.timing` files, and saves the output to `time-of-build-pretty.log` - `*.v.timing.diff` - this saves the result of `print-pretty-single-time-diff` for each target to the `.v.timing.diff` file - `all.timing.diff` (`world.timing.diff` and `coq.timing.diff` in Coq's own Makefile) - makes all `*.v.timing.diff` targets N.B. We need to make `make pretty-timed` fail if `make` fails. To do this, we need to get around the fact that pipes swallow exit codes. There are a few solutions in https://stackoverflow.com/questions/23079651/equivalent-of-pipefail-in-gnu-make; we choose the temporary file rather than requiring the shell of the makefile to be bash.
| * | Fix TIMED=1 on Mac OSXGravatar Jason Gross2017-07-08
|/ / | | | | | | This closes [bug #5596](https://coq.inria.fr/bugs/show_bug.cgi?id=5596).
| * Makefile: fails if some .vo or .cm* file has no sourceGravatar Pierre Letouzey2017-07-05
| | | | | | | | | | | | | | | | | | | | | | This should help preventing weird compilation failures due to leftover object files after deleting or moving some source files By the way: - use plain $(filter-out ...) instead of a 'diff' macro (thanks Jason for the suggestion) - rename FIND_VCS_CLAUSE into FIND_SKIP_DIRS since it contains more than version control stuff nowadays
* | Better support for make TIMED=1 on WindowsGravatar Jason Gross2017-06-30
|/ | | | This fixes [bug #5619](https://coq.inria.fr/bugs/show_bug.cgi?id=5619)
* Makefile.build : restore (temporarily?) the anti-cmi-corruption hacksGravatar Pierre Letouzey2017-06-15
| | | | | | | | Due to the recent conversion of many .mli-only files into .ml files (hugely debatable impact of the API introduction), parallel make may fail badly again (always the same race between ocamlc and ocamlopt for .cmi). Still working on a proper fix, but meanwhile let's reintroduce the old hacks against these corruptions.
* Makefile.build : cleanup now that micromega.ml isn't generated + sync check ↵Gravatar Pierre Letouzey2017-06-14
| | | | | | | of this file There is now a warning if the content of micromega.ml isn't what MExtraction.v would produce.
* Merge PR#498: Bignums as a separate opam packageGravatar Maxime Dénès2017-06-14
|\
* | Makefile.build: do *not* build PLUGINSCMO by default (followup of PR #709)Gravatar Pierre Letouzey2017-06-13
| |
| * BigNums: remove files about BigN,BigZ,BigQ (now in an separate git repo)Gravatar Pierre Letouzey2017-06-13
|/ | | | | | See now https://github.com/coq/bignums Int31 is still in the stdlib. Some proofs there has be adapted to avoid the need for BigNumPrelude.
* Store plugins/micromega/micromega.{ml,mli} files in the repository. Try to ↵Gravatar Matej Košík2017-06-12
| | | | generate them later.
* Merge PR#709: Bytecode compilation apart from 'make world', againGravatar Maxime Dénès2017-06-12
|\