Commit Graph

1035 Commits (72ea849d2a16de0abb42afd85c014cb136822e1f)

Author SHA1 Message Date
Mark Shinwell 72ea849d2a
Move some middle-end files around (#2281)
* Various file moves in the middle end: this is the first stage of improving separation between the middle end and backend.
* Creation of file_formats/ directory (with associated file moves) to hold the definitions of compilation artifact formats.
* Creation of lambda/ directory (with associated file moves) to hold Lambda language definition files, transformation passes and construction passes from Typedtree.
* Disable (hopefully temporarily) dynlink, debugger and ocamldoc for the dune build.
2019-04-01 17:18:47 +01:00
David Allsopp ed2ec2537f Ensure that files marked executable are #! scripts 2019-03-27 10:32:40 +00:00
David Allsopp 3f91e8750b Skip files in .gitignore in check-typo 2019-03-27 10:32:40 +00:00
David Allsopp db215dda8f Quote directories in pre-commit hook
Belt-and-braces, since we don't use spaces.
2019-03-27 10:32:40 +00:00
David Allsopp ff26bf7a72 Ensure awk supports interval expressions
Travis already added the required option for old versions of GNU awk,
but this was still a problem on current Ubuntu systems if gawk is not
installed - mawk (the default) does not support them.
2019-03-27 10:17:41 +00:00
Anton Kochkov 4405395e9f Fix the bug reporting URL in release-checklist 2019-03-25 21:23:11 +08:00
Damien Doligez 46f901bb94 Small fixes to release-checklist 2019-03-22 15:13:41 +01:00
Stephen Dolan f495bfb7cb
Merge pull request #8514 from stedolan/boot-ocamlc-opt
Use boot/ocamlc.opt for building, if available.
2019-03-22 12:22:14 +00:00
Stephen Dolan 46c427f519 Use boot/ocamlc.opt for building, if available. 2019-03-20 10:31:46 +00:00
Mark Shinwell dbede46c2e
Improve the packing mechanism used to build Dynlink (#2268) 2019-03-19 10:26:35 +00:00
Jérémie Dimino c413136fa3 Delete otherlib/{graph,win32graph} (#2318)
The Graphics library is now distributed as a separate package.
The sources are at https://github.com/ocaml/graphics .

Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2019-03-18 15:05:57 +01:00
Xavier Leroy c5efbb42a4
MPR#3249: ocamlmklib does not support .cmxa files as arguments (#8512)
That's because ocamlopt -a doesn't support .cmxa files as arguments.
It is better to reject those files in ocamlmklib than later.
The manual never said that ocamlmklib accepts .cmxa files.

Closes: #3249
2019-03-18 09:11:36 +01:00
Mark Shinwell 2cc1ea26b9 Remove gprof support (#2314)
This commit removes support for gprof-based profiling (the -p option to ocamlopt).  It follows a discussion on the core developers' list, which indicated that removing gprof support was a reasonable thing to do. The rationale is that there are better easy-to-use profilers out there now, such as perf for Linux and Instruments on macOS; and the gprof support has always been patchy across targets. We save a whole build of the runtime and simplify some other parts of the codebase by removing it.
2019-03-16 19:56:53 +01:00
Nicolás Ojeda Bär bd69c678c2 Add CSV file with Mantis=>GitHub renumbering information 2019-03-15 00:01:48 +01:00
Mark Shinwell 0bd539ae24 GPR#2082: New option -no-insn-sched 2019-03-13 15:03:49 +00:00
David Allsopp 6e84987715 Restore -vmthreads flag as an error (#2312)
This GPR restores -vmthread with an adapted version of the deprecation message as an error message and also keeps the use_vmthreads part of ppx contexts.

* Partially revert #2289
* Convert -vmthread to an error
* Neuter use_vmthreads in ppx context
* Remove Clflags.use_vmthreads
2019-03-13 10:46:30 +01:00
Sébastien Hinderer 2ac104cd3c Update Inria's bootstrap CI job
This commit adapts Inria's bootstrap CI job to take into account the
removal of the threads library. More precisely, it updates the patch
that removes the sinh primitive from the runtime to not patch
otherlibs/threads/stdlib.ml any longer since this file has been removed
from the repository.
2019-03-12 03:33:26 +01:00
Sébastien Hinderer 32dc5b8290 Fix typo in CI script 2019-03-12 03:28:20 +01:00
Jérémie Dimino 705054b346 Delete the vmthreads library (#2289)
* Delete the deprecated vmthreads library

It was deprecated in 4.08.

* Remove the byte/native argument of init_path

It is no longer necessary.

* Error out when passing --{enable,disable}-vmthreads to ./configure

Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2019-03-11 19:38:16 +01:00
Jules Aguillon a241675676 Fix tools/caml-tex printing of sub message locations
List printer fields explicitly to avoid the same problem from happening again
2019-03-11 13:27:48 +01:00
David Allsopp 1befa5bb3e Ensure failed build terminates AppVeyor run
The mingw32 build log is post-processed for AppVeyor, but this was done
without setting -o pipefail.
2019-03-05 17:49:28 +00:00
Xavier Leroy 15cb5caf8a Use "git clean" to start CI from a clean state
Otherwise leftover files from a previous CI build can cause problems.
2019-03-02 19:31:28 +01:00
Xavier Leroy 176cb2dad1 Allow race condition in caml_leave_blocking_section
Since commit 08ed1e8 (GPR#2211) caml_leave_blocking_section writes
to caml_signals_are_pending, a variable that has known race conditions.
2019-03-02 18:29:37 +01:00
Damien Doligez 66117d2cc4 small fixes to release-checklist 2019-03-01 12:00:27 +01:00
Sébastien Hinderer 652cc148a9 Disable rebase on Cygwin 64 in Inria's CI
We do not perform the rebase which is not necessary when building
shared libraries.
2019-03-01 09:26:33 +01:00
Fourchaux 1946594bd7 Fixing typos in various files (#2246)
Note: Typos found with https://github.com/codespell-project/codespell

Here is the (semi-manual) command used to get (and correct) the typos:

$ codespell -i 3 -w --skip=".png,.gif,./ocaml/boot,./ocaml/.git,./ocaml/manual/styles,./ocaml/manual/manual/htmlman" -L minimise,instal,contructor,"o'caml",cristal,pres,clos,cmo,uint,iff,te,objext,nto,nd,mut,upto,larg,exten,leage,mthod,delte,tim,atleast,langage,hten,iwth,mke,contant,succint,methids,eles,valu,clas,modul,que,classe,missings,froms,defaut,correspondance,differents,configury,reachs,cas,approche,normale,dur,millon,amin,oje,transfert
2019-02-13 14:04:56 +01:00
Sébastien Hinderer 3a2ae8c462 Revert "temporary patch to work around a problem with BSD/ocamltest/fork"
This reverts commit 309bad6197.

The problem that made this commit necessary has since bben fixed, in
commit 6015d60fc6.
2019-02-11 16:38:58 +01:00
Damien Doligez 2b2670e72a small fixes to release checklist 2019-02-08 16:21:55 +01:00
Damien Doligez 309bad6197 temporary patch to work around a problem with BSD/ocamltest/fork 2019-02-05 16:07:11 +01:00
Florian Angeletti f15ee3be5d
Merge pull request #1941 from sliquister/ocamlcp-dedup3
reduce boilerplate in compiler command line parsing
2019-02-04 17:03:27 +01:00
Jeremie Dimino 7e0862a212 Refactor load path management and initial environment
- Add a Load_path module which caches files lookup

- Instead of falling back to the external environment, allow to
  declare in the environment that a module comes from the external
  world. This allows persistent structures to shadows non-persistent
  ones
2019-01-30 16:36:38 +00:00
Valentin Gatien-Baron 427e5a5c59 simplify the ocamlc{,opt}p code forwarding options to ocaml{c,opt} 2019-01-22 20:38:15 -05:00
David Allsopp 832db132d9 Make unix, vmthreads and str optional libraries
--disable-unix-lib, --disable-vmthreads and --disable-str-lib added to
prevent building these three libraries.

ocamldoc, the debugger and caml-tex are automatically disabled if their
prerequisites are not built. Using --enable-debugger and
--enable-ocamldoc will result in errors if these tools cannot be built.
2019-01-08 17:27:42 +01:00
Sébastien Hinderer 8550f71441 Build system: use $(ROOTDIR) rather than hardcoded paths to access ocamlc 2019-01-03 17:02:25 +01:00
Sébastien Hinderer d258bb78ac Build system: use ocamlc -depend rather than ocamldep 2019-01-03 16:43:23 +01:00
Florian Angeletti ebdad4fb74
Merge pull request #2210 from Octachron/camltex_ellipsis_test
test suite: caml-tex, test and tweaks for ellipses
2018-12-21 18:51:05 +01:00
Sébastien Hinderer cc3f70b705 Use autoconf to generate the compiler's configuration script 2018-12-21 16:02:47 +01:00
Florian Angeletti 4694786b75 caml-tex: test and tweak for ellipses 2018-12-21 12:41:40 +01:00
Sébastien Hinderer 0723ac158e Inria CI: add -no-shared-libs to script
This option was specified in the Cygwin64 slave's configuration, but this
makes it impossible to use different values on differnet branches,
which is needed when switching to autoconf.
2018-12-21 11:01:14 +01:00
David Allsopp 2b41b3f0a5 Update the pre-commit-githook for typo.prune 2018-12-20 11:46:34 +01:00
David Allsopp a18647c582 Update comments in tools/check-typo
ocaml-typo=prune => typo.prune
2018-12-20 11:46:34 +01:00
David Allsopp 1b5278a829 Update travis-ci.sh to cope with typo.prune 2018-12-20 11:46:34 +01:00
Gabriel Scherer 295f71cb96 make alldepend (with new one-dep-per-file printing) 2018-12-12 09:38:49 +01:00
Gabriel Scherer 46ef054330 Makefiles: restructure CAMLDEP usage to easily add flags
This change should be a refactoring no-op.

Before, a DEPFLAGS variable existed in some makefiles to contain
include directories to be passed to ocamldep invocations, but no
support for easily adding command-line flags to ocamldep was available
(invocations would systematically use -slash, which was duplicated
across callsites).

With this PR, a new DEPINCLUDES variable contains the include
directories, and DEPFLAGS is repurposed to contain other command-line
flags for the tool -- currently "slash".
2018-12-12 09:30:55 +01:00
Gabriel Scherer b98d3e738f add a variant of check-typo to compare against a git reference
./tools/check-typo-since trunk
./tools/check-typo-since HEAD~10

In most cases, this should be much faster than running check-typo on
the whole directory.
2018-12-09 13:31:26 +00:00
Gabriel Scherer bd29de9efe check-typo: make --check-prune faster
this comment special-cases the prune-detection logic to use the `git
check-attr` layer directly, instead of using the convenience function
`get_attrs ..` which parses its output.

On my machine, calling --check-prune on the testsuite files goes from
17s to 12s when this patch is applied.
2018-12-09 13:31:26 +00:00
Gabriel Scherer bf72878ee3 .gitattributes: prune directories recursively
Before this change, check-typo would run on manual/Makefile for
example, while this file lives within a pruned directory so it
ought to be ignored by the tool.

Note: the check-typo code seems to assume that the only pruned things
are directory, it prints "pruned directory ..." when something is
pruned. I haven't changed this part of the logic; but note that normal
./check-typo invocation will only check pruning for directories.
2018-12-09 13:31:26 +00:00
David Allsopp 89ad24e5cc Update Inria CI scripts to recognise cygwin64
OCAML_ARCH is now cygwin on the Cygwin32 worker and cygwin64 on the
Cygwin64 worker. The rebase "trick" is now only used on the Cygwin64
worker, where it is required.
2018-11-28 19:45:15 +00:00
Leo White 403003cad5 Add support for "let" operators 2018-11-27 13:30:55 +00:00
Runhang Li 97329f30ed Extend `open` to arbritrary module expressions in structures and to
applicative module paths in signatures
2018-11-26 16:20:37 +00:00