aboutsummaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2017-08-29coq_makefile: do not overwrite CAMLFLAGSEnrico Tassi
2017-08-29coq_makefile: use dedicated variable for extra packagesEnrico Tassi
CAMLPKGS is now used to hold extra findlib -packages The previous solution was to use CAMLFLAGS but since 4.05 an invocation of `ocamlopt -pack useless.cmxa foo.cmx -o packedfoo.cmx` fails saying that `useless.cmxa` is not a compilation unit description. CAMLPKGS is used in all `ocamlopt` invocations but for the one performing the packing.
2017-08-29coq_makefile: build/use .cma for packed pluginsEnrico Tassi
The build chain is always ml -> cmo -> cma ml -> cmx -> cmxa -> cmxs If we are packing, then it becomes ml -> cmo \ ml -> cmo --> cmo -> cma ml -> cmo / ml -> cmxo \ ml -> cmxo --> cmxo -> cmxa -> cmxs ml -> cmxo / The interest of always having a .cma or .cmxa is that such file can carry linking flags, that in findlib terms means which -package was use to build the plugin.
2017-08-21Fix coqdoc URLs under Windows.Théo Zimmermann
URLs on Windows are the same as on Unix, they use / not \.
2017-08-16Merge PR #964: More portable location for the time command.Maxime Dénès
2017-08-16Merge PR #880: Fix coqdoc bug #5648 on user idents colliding with keywords ↵Maxime Dénès
wrongly tagged as keywords
2017-08-12fix coq_makefileMatej Košík
Make sure that when plugin writer does not use -bypass-API, API is opened by default.
2017-08-12More portable location for the time command.Théo Zimmermann
On NixOS in particular, /usr/bin/time doesn't exist.
2017-08-01Merge PR #921: [make] remove compat5 file.Maxime Dénès
2017-08-01Merge PR #917: Moving --print-version to -print-version for consistency.Maxime Dénès
2017-07-27[toplevel] Remove long ago deprecated and NOOP options.Emilio Jesus Gallego Arias
Minor clean up, no sense in having these as they do nothing.
2017-07-27[make] remove compat5 file.Emilio Jesus Gallego Arias
It is empty and not used anymore.
2017-07-25Adding -print-version in addition to -print-version for consistency.Hugo Herbelin
2017-07-20fake_ide: do as coqide to find out coqtop pathEnrico Tassi
2017-07-20coq-makefile: strip windows drive letter when DESTDIR is not emptyEnrico Tassi
In unix one can concatenate a prefix with an absolute path in order to obtain a valid path. This is not the case on Windows.
2017-07-20coq-makefile: treat coq_makefile as any other coq binaryEnrico Tassi
In particular, find it under $(COQBIN)
2017-07-20coq-makefile: quote using ' to preserve \ (windows paths)Enrico Tassi
2017-07-20In fake_ide, call coqtop.exe instead of coqtop on Win32.Maxime Dénès
2017-07-20Avoid using unsupported signals under Windows in fake_ide.Maxime Dénès
2017-07-20Merge branch 'v8.7'Maxime Dénès
2017-07-17[API] Remove `open API` in ml files in favor of `-open API` flag.Emilio Jesus Gallego Arias
2017-07-15Fixing #5648 (too early decision of tagging ident as keyword in html coqdoc).Hugo Herbelin
Fix proposed by the reporter, Vincent Laporte. Note that for LaTeX output, the selection of a keyword was already done after checking if the ident is recognized as a Coq ident by coqtop. Incidentally, being now explicit on an wildcard-catching of exceptions.
2017-07-11Add timing scriptsJason Gross
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.
2017-07-08Fix TIMED=1 on Mac OSXJason Gross
This closes [bug #5596](https://coq.inria.fr/bugs/show_bug.cgi?id=5596).
2017-07-07Merge PR #844: Better support for make TIMED=1 on WindowsMaxime Dénès
2017-07-05Merge PR #840: Quote $(OCAMLFIND) in CoqMakefile.in for WindowsMaxime Dénès
2017-07-04Merge branch 'v8.6'Pierre-Marie Pédrot
2017-07-04Bump year in headers.Pierre-Marie Pédrot
2017-06-30Fix more potential quoting issues: COQBIN , COQLIBJason Gross
2017-06-30Also quote $(COQLIB)/grammarJason Gross
In case COQLIB has backslashes, as it does on Windows, or spaces
2017-06-30Create a variable for CAMLDOC in CoqMakefile.inJason Gross
2017-06-30Quote $(OCAMLFIND) in CoqMakefile.in for WindowsJason Gross
This, I hope, will fix [bug #5620](https://coq.inria.fr/bugs/show_bug.cgi?id=5620)
2017-06-30Better support for make TIMED=1 on WindowsJason Gross
This fixes [bug #5619](https://coq.inria.fr/bugs/show_bug.cgi?id=5619)
2017-06-27Merge PR#731: Mini-cleaning around OCaml file namesMaxime Dénès
This is only a partial merge, we stick with using the standard OCaml (un)capitalize functions.
2017-06-27A cleaning phase about ocaml file names.Hugo Herbelin
Ocaml file names are restricted since 2008 to A..Z followed by a..z0..9'_. We take this constraint into account in tools manipulating Ocaml file names.
2017-06-23Merge PR#794: Cleanup of ltac cmxsMaxime Dénès
2017-06-20Merge PR#742: Fix `make TIMED=1` garbageMaxime Dénès
2017-06-18[ide] Add route_id parameter to query call.Emilio Jesus Gallego Arias
This is necessary in order for clients to identify the results of queries. This is a minor breaking change of the protocol, affecting only this particular call. This change is necessary in order to fix bug ####.
2017-06-15Move TIMER to right in front of COQCJason Gross
Save the COQC variable for the actual path to coqc, as per https://github.com/coq/coq/pull/742#pullrequestreview-44072778
2017-06-15Fix `make TIMED=1` garbageJason Gross
It should not emit ` (user: 0.00 mem: 2852 ko)` multiple times
2017-06-15Strip trailing whitespaceJason Gross
2017-06-15coqdep: correct support of Local Declare ML ModulePierre Letouzey
2017-06-12Merge PR#709: Bytecode compilation apart from 'make world', againMaxime Dénès
2017-06-12Add support for "-bypass-API" argument of "coq_makefile"Matej Košík
Plugin-writers can now use: -bypass-API parameter with "coq_makefile". The effect of that is that instead of -I API the plugin will be compiled with: -I config" -I dev -I lib -I kernel -I library -I engine -I pretyping -I interp -I parsing -I proofs -I tactics -I toplevel -I printing -I intf -I grammar -I ide -I stm -I vernac
2017-06-07Merge PR#698: Trunk miscMaxime Dénès
2017-06-02Drop '.' from CErrors.anomaly, insert it in argsJason Gross
As per https://github.com/coq/coq/pull/716#issuecomment-305140839 Partially using ```bash git grep --name-only 'anomaly\s*\(~label:"[^"]*"\s*\)\?\(Pp.\)\?(\(\(Pp.\)\?str\)\?\s*".*[^\.!]")' | xargs sed s'/\(anomaly\s*\(~label:"[^"]*"\s*\)\?\(Pp.\)\?(\(\(Pp.\)\?str\)\?\s*".*\s*[^\.! ]\)\s*")/\1.")/g' -i ``` and ```bash git grep --name-only ' !"' | xargs sed s'/ !"/!"/g' -i ``` The rest were manually edited by looking at the results of ```bash git grep anomaly | grep '\.ml' | grep -v 'anomaly\s*\(~label:"[^"]*"\s*\)\?\(Pp\.\)\?(\(\(Pp.\)\?str\)\?\s*".*\(\.\|!\)")' | grep 'anomaly\($\|[^_]\)' | less ```
2017-06-01Fix coq_makefile uninstall target under OSX.Maxime Dénès
2017-06-01Bump year in headers.Maxime Dénès
2017-05-31removing duplicate line from "tools/CoqMakefile.in"Matej Košík
2017-05-30coq_makefile : do not build bytecode versions of plugins by defaultPierre Letouzey
make install does not install these *.cm(o|a) files either. You could always do manually : - make bytefiles : to build the bytecode *.cm(o|a) files - make install-byte : to install these files - make byte : to compile the whole development with the bytecode version of Coq (this builds the *.cm(o|a) files, but also the .vo via coqc -byte). Technically, the behavior of make is controlled by the OPT variable, which could be -byte or -opt. For instance, 'make byte' corresponds to a 'make OPT:=-byte' Note that coqdep is used with the new option "-dyndep var" : when seeing a Declare ML Module "foo", "coqdep -dyndep var" does not decide whether to depend on foo.cma or foo.cmxs, but rather use some Makefile variables such as foo$(DYNLIB), whose content is later set according to $(OPT)