awk is symbolic link in Cygwin, which means it can't be used in -pp for
a native Windows build. Just use gawk instead, as no other package
provides the awk command on Cygwin.
Except for the Camlinternal* modules and the new Stdlib module, all
modules in the stdlib now compile to Stdlib__<module>.
Pervasives is renamed to Stdlib and now contains a list of aliases
from the long names to the short ones, so that from inside and outside
the stdlib we can refer to the standard modules as just List or
Stdlib.List rather than Stdlib__list.
In order to avoid printing the long names in error messages and in the
toplevel, the following heuristic is added to Printtyp: given a path
Foo__bar, if Foo.Bar exists and is a direct or indirect alias to
Foo__bar, then prefer Foo.Bar.
A bootstrap step was required to replace Pervasives by Stdlib as the
module opened by default.
Before, cyclic dependencies were reported as a warning, and ocamldep -sort would exit with code 0.
Now, the message says "error" and the exit code is nonzero.
It adds the "utils" directory of te compiler to the list of
included directories.
This is useful for the tests which rely on Ocaml's Config module.
For the moment, such tests will still need to explicitly add
config.cmo / config.cmx to the list of linked modules thanks to the
all_modules variable.
This variable lists the files that need to be compiled and linked
to build a test.
By default, its value is derived from the "modules" variable and the
name of the test file. But it can now be overriden, which turns
out to be necessary, sometimes, e.g. when the modules have been
compiled separately.
When -promote is set, running the test automatically overwrites each
reference output file with the actual output of the test. This option,
which mirrors the "make promote" target of old-style testsuite tests,
is very useful when a minor change in compiler/toplevel output affects
a lot of reference files in innocuous ways.
This is the only option of ocamltest that overwrites file in the
source directory, so it should be used with care -- under strict
version-control supervision.
The 'make promote' target is not yet supported for new-style testsuite
tests, as this feature depends on the not-yet-merged GPR#1574
https://github.com/ocaml/ocaml/pull/1574
For a previous discussions of this feature, see GPR#1519
https://github.com/ocaml/ocaml/pull/1519
This commit distinguishes the OS tests from the library tests.
It introduces the "libunix" and "libwin32unix" tests to figure out which
library is used.
It also changes to meaning of the "windows" test to pass on all Windows platforms.
Finally, a "not-windows" test is introduced, to be used until negation
on tests is implemented.
According to its name, this test should be related to
MPR #5080 (https://caml.inria.fr/mantis/view.php?id=5080).
However, (1) the .ml source file does not use any quotation and (2)
the flags -pp 'camlp4o pa_macro.cmo' defined in the ADD_COMPFLAGS
make variable are not used while compiling the test, because the
rules in Makefile.okbad, which do not use ADD_COMPFLAGS, take precedence.
This test thus seems useless.
This module contains types describing test results and functions to
build and use them.
Before this commit, only successful actions were returning an environemnt.
Starting from this commit, actions always return an environemnt, no matter
their result.
This will make it possible to write negations over tests.
Before this commit this was done by the compile actions themselves but it
is actually better to do it only once during the setup of the
build environment.