Commit Graph

9285 Commits (bb514ec5ca7840fac756b7efec6088c1a7742998)

Author SHA1 Message Date
Gabriel Scherer bb514ec5ca ocamlbuild: track location information of tags
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14147 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:50 +00:00
Gabriel Scherer d70b93a252 ocamlbuild: a short location printing implementation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14146 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:47 +00:00
Gabriel Scherer 75beffa385 ocamlbuild: mark ocaml_lib's tag as used
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14145 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:45 +00:00
Gabriel Scherer b9a17966ce ocamlbuild: detect tags in _tags not used by any flag declaration (typos?)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14144 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:43 +00:00
Gabriel Scherer 98227477ec minor typos in ocamlbuild/signatures.mli
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14143 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:41 +00:00
Gabriel Scherer 7629d96d21 ocamlbuild: deprecate warn_%c, warn_error_%c (replaced by parametrized tags) and strict-sequence (strict_sequence)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14142 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:39 +00:00
Gabriel Scherer 0f968f11b2 ocamlbuild: allow flag declarations to be marked as deprecated
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14141 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:37 +00:00
Gabriel Scherer 53d1c7c63d ocamlbuild: turn the flags.ml structure into a record to ease adding metadata
I plan to add at least documentation and deprecation information to
each flagset, so structuring it as a record is important.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14140 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:35 +00:00
Gabriel Scherer 9d89a6b2a5 ocamlbuild: move show_documentation's implementation in the respective modules to improve encapsulation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14139 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:33 +00:00
Gabriel Scherer 955877a316 ocamlbuild: add a warn_error(X) parametrized tag to fully deprecate warn_%c, warn_error_%c
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14138 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:31 +00:00
Gabriel Scherer 23803c2515 ocamlbuild testsuite: test -no-plugin and -just-plugin
The second test currently fails, because the plugin is not build if no
target is passed. This will be fixed shortly.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14137 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:29 +00:00
Gabriel Scherer c01593d18e ocamlbuild testsuite: minor style change
I just got bitten by a weird issue where the test I expected to run
was ignored, and never appeared in test runs. I just forgot the final
`()` parameter to the `test` function, and `foo;;` was perfectly happy
to accept an input of non-unit type. Now using explicits `let () =` to
avoid that issue in the future.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14136 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:27 +00:00
Gabriel Scherer dad0226a8f ocamlbuild testsuite: fix typo
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14135 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:25 +00:00
Gabriel Scherer 2c71c6fad4 ocamlbuild testsuite: implement negation in Match
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14134 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:24 +00:00
Gabriel Scherer 9636eeec44 ocamlbuild testsuite: preliminary step for an implementation of negation in Match
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14133 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:22 +00:00
Gabriel Scherer 525dae500e ocamlbuild testsuite: clean Match implementation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14132 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:20 +00:00
Gabriel Scherer 0e4b8c1691 ocamlbuild testsuite: add -no-ocamlfind to some tests
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14131 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:18 +00:00
Gabriel Scherer da9d0495c8 ocamlbuild testsuite: test modular plugin compilation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14130 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:16 +00:00
Gabriel Scherer 38e0fba827 ocamlbuild testsuite: fix the PrincipalFlag test
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14129 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:14 +00:00
Gabriel Scherer 34186b97d2 ocamlbuild testsuite: split level0.ml into internal.ml, findlibonly.ml, external.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14128 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:12 +00:00
Gabriel Scherer 89fe1e121e ocamlbuild testsuite: factorize the color-code magic
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14127 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:10 +00:00
Gabriel Scherer 0c83a6f7fa ocamlbuild testsuite: add a "requirements" field to skip tests we cannot run
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14126 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:08 +00:00
Gabriel Scherer dfc06e175c ocamlbuild: document most of the ocaml_specific rules
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:06 +00:00
Gabriel Scherer c19689fc93 ocamlbuild: add a free-form documentation field to rules
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14124 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-15 11:36:02 +00:00
Gabriel Scherer 8ba031a7db Format: pp_print_list and pp_print_text, contributed by Daniel Bünzli
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-13 15:55:41 +00:00
Damien Doligez fadcc73c50 Merge branch 4.01 from 4.01.0+rc1 to 4.01.0
Command line used:
  svn merge --accept postpone -r 14055:14115 $REPO/version/4.01 .


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14121 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 15:21:52 +00:00
Hongbo Zhang 3501cb4d96 fix location bug PR#6170
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14116 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 14:18:01 +00:00
Alain Frisch 2b9f8f34ea Cancel commit 14093, experiment will be carried on the exception_registration branch.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14106 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-11 18:15:01 +00:00
Alain Frisch dc7fa347ca Experimenting with exception registration, to avoid explicit pattern matching on many exception constructors in 'driver' code.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14093 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-11 14:26:52 +00:00
Alain Frisch 637893aa3c Fix dependencies.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14092 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-11 14:23:43 +00:00
Alain Frisch 97f19db88e Adding an ocp-indent customization file for the project.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14091 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-11 14:13:58 +00:00
Gabriel Scherer 7b0694c3d0 Changes: attribution information for 4.01
I had collected attribution information for the announce only, but
Damien agreed to put them in the Changes file as well.

This change also fixes minor problems with the Changes content:
- type-based disambiguation of constructors and labels was not mentioned
- the open! syntax was not mentioned
- PR#5552 was mislabeled
- PR#5758 (matching on floats) was announced despite being also
  present in the 4.00.1 changes
- I moved PR#5986 (Marshal.Compat_32) from 'bug' to 'feature'
- PR#5243 was absent (ocamlbuild API documentation)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14089 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-11 13:11:03 +00:00
Alain Frisch ef35b10412 Remove the dump_ast tool. A better replacement is part of the standalone ppx_tools package.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14087 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-10 14:28:36 +00:00
Alain Frisch eb0f68d351 Fix order of application of ppx rewriters (matching the order on the command-line).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14086 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-10 14:15:47 +00:00
Alain Frisch e01f145c2e More direct style, remove the temporary file created by -pp processor right after it has been read.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14085 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-10 13:48:43 +00:00
Alain Frisch 0769ab46a7 Introduce and use higher-level wrappers around parsing routine for .ml/.mli files, taking care of -pp and -ppx preprocessors.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14084 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-10 13:44:34 +00:00
Alain Frisch 202483b02c Cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14083 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-10 12:21:45 +00:00
Alain Frisch a3dbe15046 Move some tools to a dedicated external project (https://github.com/alainfrisch/ppx_tools).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14082 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-09 16:59:23 +00:00
Alain Frisch c33ca79107 Some more helper functions.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14081 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-09 16:43:59 +00:00
Alain Frisch 30d350779f Support for patterns in concrete syntax.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14080 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-09 13:04:09 +00:00
Alain Frisch 1c7e67c782 Use Ast_helper.default_loc instead of Location.none by default.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14079 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-09 12:23:32 +00:00
Alain Frisch 0a93a84a06 Doc, cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14078 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-09 12:12:33 +00:00
Xavier Clerc e82104a755 Remove labltk from the distribution (will be available as a third-party library).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14077 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-09 09:32:00 +00:00
Xavier Clerc 83ca86dd23 PR#6166: document -ocamldoc option of ocamlbuild
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14076 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-09 08:52:42 +00:00
Fabrice Le Fessant a20f6e647b Fix PR#6164
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14075 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-07 07:14:19 +00:00
Alain Frisch abdbda7e33 Cosmetic.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14073 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-06 16:21:00 +00:00
Gabriel Scherer b57aca60ad ocamlbuild: make -plugin-tags and -use-ocamlfind interact better
When both those features are used together, we use ocamlfind packages
instead of hardlinking unix.cmxa and ocamlbuildlib.cmxa during the
ocamlbuild plugin compilation. This helps to avoid double-linking
errors (with unix.cmxa and "-package unix") when -plugin-tags request
ocamlfind packages depending on unix (or ocamlbuild).

This change was designed and implemented in collaboration with Jun Maillard.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14069 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-06 11:36:32 +00:00
Jacques Garrigue 1d1b6c157b add test results for PR#6163
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14066 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-06 05:44:48 +00:00
Jacques Garrigue d09dee8f9c Fix PR#6163
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14065 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-06 05:35:55 +00:00
Jacques Garrigue 567bca77d2 Fix PR#6158
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14063 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-05 08:26:01 +00:00