PR#6069: improve ocamldoc error message

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@13974 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#6069: improve ocamldoc error message (bis)

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@13976 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#5111: additional class for info tags

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@13981 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
ocamldoc|html: Add missing space in record fields

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@13984 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#5149: (point 15) add line breaks in html source before <pre> tags

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@13990 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#6109: Fix typos in ocamlbuild error messages

(Patch by Gabriel Kerneis!)

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@13993 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
ocamlbuild: really stop compilation after plugin compilation when -just-plugin is called

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@13994 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
ocamlbuild: move plugin second-run to the end of the initialization phase

If in the future we want to be able to use information from _tags when
compiling the myocamlbuild.ml plugin, we should compile the plugin
*after* the OCaml-tags rules of Ocaml_specific have been loaded
(OCaml_specific.init()). This patch does not change the plugin
compilation, but it delays it to the end of the initialization phase
to allow such future changes.

This means that the parsing of configuration files
(including traversing directories to find _tags files in depth) will
be done twice (once during the first run to compile the plugin, and
then once when run from the plugin). Of these operations, the only
that has user-visible consequences (and the first candidate to
performance degradations) is the hygiene checking, which we therefore
disable during the first run. Note that checksumming files is not
duplicated (it is done after the initialization phase).

Note that the semantics of _tags files in subdirectories is that they
are only ranging over files in that subhierarchy (even "true: foo"
lines do not apply to the files in ancestor or
sibling directories). This means that no _tags file in a subdirectory
can add tags to "myocamlbuild.ml". If performance of file traversing
ever was to become an issue, we could therefore skip it and read only
the root _tags file if present.

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@13995 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
ocamlbuild: use all the tags applying to "myocamlbuild.ml" to compile the plugin

The long-term goal is to allow composability of myocamlbuild.ml
plugins, as discussed in PR#5680 and PR#6093. The current attempt is
to give to the myocamlbuild.ml all the tags that apply to it according
to the _tags file and other configuration options passed to
ocamlbuild. For example, if -use-ocamlfind is used, any
(true: package(foo)) or ("myocamlbuild.ml": package(foo)) line would
have the ocamlfind package `foo` usable from myocamlbuild.ml.

The present implementation has two downsides:

(1) Relying on _tags is a bit unpleasant because people that write
    (true: foo) lines do not expect it to get also applied to the
    plugin compilation (though in fact the previous implementation
    used "profile" and "debug" tags passed in this way). There might
    be case of build breaking because the (true: tags) passed make
    myocamlbuild.ml compilation fail. A workaround would be to add
    ("myocamlbuild.ml": -foo) for any problematic tag `foo` -- I don't
    expect this situation to happen in practice, but you never know.

(2) The general tags passed to the myocamlbuild.ml compilation have
    been rather arbitrarily set to (ocaml,program,link,byte)
    (or native). OCamlbuild doesn't really have tags to describe going
    straight from a .ml (or several) to an executable, as its usual
    rules enforce separate compilation and linking steps. This means
    that some ocamlbuild rule might misbehave due to the absence of
    the "compile" step, but in practice most tag-driven compilation
    options are such that the link-options are a superset of the
    compile-options, so this will still work in many case
    (in particular for ocamlfind packages). Long-term, it may be
    better to split myocamlbuild.ml compilation in the usual compile
    then link steps.

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@13996 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
fix whitespace and formatting

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@14000 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
update some packages

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@14001 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
ocamlbuild testsuite: teset terminal colors when leaving ocamlbuild_test

(Patch by Gabriel Kerneis)

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@14002 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
quis debugget ipsos debugger

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@14004 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
small cleanup

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@14005 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
missing changes from 4.00.1 to 4.01.0

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@14006 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
make depend correctly even if the X11 includes are not in /usr

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@14007 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
last commit before release 4.01.0

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@14008 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
last commit before release 4.01.0+beta1

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@14009 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
increment version number after release 4.01.0+beta1

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@14011 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
ocamlbuild: polish the interaction between Param_tags.init() and plugin execution

Before this path, [Param_tags.init()] was run before
[Plugin.execute_plugin_if_needed()]. It had the downside of making
plugin compilation warn about any unknown parametrized tag present in
a _tags file, even those that would be defined by the plugin
itself. The fix is to [really_acknowledge] only the tags used for the
plugin compilation, and delay the full [Param_tags.init()] call to
after plugin execution.

This was discussed in detail in PR#5680, comment 0010186.

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.01@14013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02