Commit Graph

135 Commits

Author SHA1 Message Date
Jérémie Dimino 2fb65c05ba
Fix #330 (#510) 2018-02-13 12:49:50 +00:00
Jérémie Dimino b3838284c6
Better support for mli/rei only modules (#489) 2018-02-08 10:12:46 +00:00
Jeremie Dimino f515878028 Update Changelog 2018-02-07 12:34:05 +00:00
Jeremie Dimino f4f8f70bf9 update changelog 2018-02-07 12:12:15 +00:00
Jeremie Dimino 31855cdeda Changelog 2018-02-07 11:41:33 +00:00
Jérémie Dimino d4c9eb6ba0
Do not pass -I <stdlib-dir> (#488) 2018-02-06 11:49:44 +00:00
Jérémie Dimino 80c0bfc879
Split calls to ocamldep (#486)
Instead of doing a single call to ocamldep, do one per file. This is
needed to support "menhir --infer".

This should also make compilation go further when there are files with
syntax errors.
2018-02-06 11:48:04 +00:00
Rudi Grinberg e61142e885
Merge pull request #460 from ocaml/fix-promote-tests-on-osx
Fix bad interaction between promotion and incremental builds on OSX
2018-02-01 20:15:18 +08:00
Rudi Grinberg 6dc08a19b9 Update date for beta17 2018-02-01 18:59:00 +08:00
Jeremie Dimino b9c4dd2339 Remove files from the digest cache when promoting them.
This is to avoid problems with incremental compilation on OSX.

Fix #456
2018-02-01 08:23:25 +00:00
Rudi Grinberg 51b9164ff1 Update date for beta 17 2018-01-31 15:37:55 +08:00
Jérémie Dimino 963bb6c044
Always use a bytecode boot.exe (#463)
Fix #446
2018-01-30 14:51:51 +00:00
Jérémie Dimino 437211f74f
Expose the promote mode (#437) 2018-01-25 19:07:46 +00:00
Rudi Grinberg 2c845c11eb Date beta 17 release 2018-01-23 17:46:14 +08:00
David Allsopp 6873478307 Display a warning for bad jbuild-ignore lines (#389)
jbuild-ignore should only refer to directories in the current directory
(unlike .gitignore): referring to subdirectories doesn't work.

Signed-off-by: David Allsopp <david.allsopp@metastack.com>
2018-01-23 09:14:22 +00:00
David Allsopp 61b3e5f189 Use /Fo instead of -o when invoking CL
The -o option in the Microsoft C Compiler is deprecated (and has been for
a very long time). The warning is tedious, so use /Fo instead. The only
problem with this is that "-o foo.obj" must become "/Fofoo.obj" with no
space, which requires a little support in Arg_spec.

Signed-off-by: David Allsopp <david.allsopp@metastack.com>
2018-01-22 12:17:28 +00:00
David Allsopp d2706b448b Remove readonly attribute on Windows before unlink
The legacy DOS readonly attribute is a tedious difference on Windows,
because a user may have permission to delete a file, but unlink fails
because the attribute is set.

Signed-off-by: David Allsopp <david.allsopp@metastack.com>
2018-01-22 11:14:18 +00:00
Jérémie Dimino 9dd5ab74e4
[WIP] Load rules lazily (#370)
* Change jbuilder to load rules lazily

Rules are now loaded on a per directory basis as needed. This speed up
the start up time on large workspaces.

Does various refactoring as well.

* Simplify the handling of META files

We no longer generate a META.foo.from-jbuilder file. Nobody is using
this feature and it's making the new code more complicated.
2018-01-19 08:50:06 +00:00
Jeremie Dimino ec1a88db98 Update changelog 2018-01-18 11:36:36 +00:00
Jeremie Dimino 878e0ce31f Update changelog 2018-01-16 13:43:02 +00:00
Jérémie Dimino af5d7f5e6f
Report better errors for globs pointing to non-existing directories (#413)
Fix #412
2018-01-15 13:28:32 +00:00
Jérémie Dimino eab1ff6c7b
Add promote actions and include stanzas (#402)
Add a promote action that allows to copy over generated files as
source files and an include stanza allowing to include a file in a
jbuild file.
2018-01-15 13:24:25 +00:00
Jérémie Dimino e28344a24b
Do not use the transitive closure in generated META files (#405) 2018-01-12 16:41:23 +00:00
Jeremie Dimino ce567be675 Update changelog 2018-01-01 22:34:41 +08:00
David Allsopp 9d3c0b649c Fix copy# for Microsoft C compiler
Microsoft CL doesn't support #n and requires the more strictly correct
directive #line

Signed-off-by: David Allsopp <david.allsopp@metastack.com>
2017-12-22 08:16:09 +01:00
Jeremie Dimino f154dc2122 Update changelog 2017-12-18 13:31:21 +00:00
Jeremie Dimino 18d8cb847d Fix the test added in the previous commit 2017-12-18 13:30:49 +00:00
Rudi Grinberg 2cab60b150
Update changelog (#361) 2017-12-12 23:43:29 +08:00
Rudi Grinberg dd99126d36 Update CHANGELOG for next version 2017-11-07 23:02:31 +08:00
Rudi Grinberg 1cf4f81767 Correct change log
Regression was on all 32 bit OCaml rather than Windows
2017-11-06 21:36:25 +08:00
Rudi Grinberg 1f0be6f9e3 Update change log for beta 16 2017-11-06 17:40:51 +08:00
Rudi Grinberg 4ec018c4c7 Update CHANGELOG for 1.0+beta15 2017-11-04 22:05:14 +08:00
Jeremie Dimino 7232176d7a Update changelog 2017-10-14 10:38:58 +08:00
Rudi Grinberg ef517a8f3b Update changelog for 1.0+beta14 2017-10-11 16:12:20 -04:00
Rudi Grinberg a19ada5168 Update CHANGES 2017-10-11 16:00:38 -04:00
Jeremie Dimino 5de73ca740 Add support for locks in rules
This is to allow users define more complicated tests without having
to resort to -j1.
2017-09-29 12:20:08 +01:00
Jeremie Dimino 24e9fbf046 Update changelog 2017-09-29 12:04:27 +01:00
Jeremie Dimino c636331148 Update changelog 2017-09-22 02:26:39 +01:00
Jeremie Dimino e27f7a8368 Update Changelog 2017-09-10 02:36:02 +01:00
Rudi Grinberg ee63bcafaf Update CHANGES for 1.0+beta13 2017-09-05 20:51:11 -04:00
Rudi Grinberg 1c85e646bc Update changelog for 1.0+beta12 release 2017-08-18 19:51:31 -04:00
Jeremie Dimino 374f548eab Update changelog 2017-08-17 15:13:11 +01:00
Jérémie Dimino ca81d1704e Get rid of the deprecated-ppx-method sub-package (#222)
Instead, inline the fields it contains into the parent package
2017-08-17 12:41:49 +01:00
Jérémie Dimino 6bed864057 Better behavior when the targets of a rule already exist in the source tree (#218)
Warn when a file is both present in the source tree and generated by
a rule. Before, jbuilder would silently ignore the rule. One now has
to add a field `(fallback)` to custom rules to keep the current
behavior.
2017-08-15 11:16:11 +01:00
Jeremie Dimino 06b47a73f6 Do not accept per_file anymore
It was renamed per_module and it is planned to reuse per_file for
another purpose.
2017-08-04 09:24:02 +01:00
Jeremie Dimino 3ab39c7c7a Update changelog 2017-08-04 09:22:03 +01:00
Jeremie Dimino 46df511dd4 Update changelog 2017-08-03 17:30:04 +01:00
Jérémie Dimino ea377efbbb Use absolute paths for ppx drivers in .merlin files (#201)
Fixes #196 and #199
2017-07-28 16:49:45 +01:00
Jeremie Dimino f267e3fd9c Update changelog 2017-07-25 17:10:26 +01:00
Jérémie Dimino c7e67d49b8 Use the full path of archives when linking (#197)
Instead of passing `-I <path> file.cma` to the compiler, pass `-I
<path> <path>/file.cma`.

Fixes #118 and #177. Using the fill path should also be slightly
faster as the compiler won't have to do the lookup through all include
paths. The only drawback is that it makes linking command line
slightly longer.
2017-07-25 14:08:39 +01:00
Jeremie Dimino a75e5c4c31 Update changelog 2017-07-25 11:48:46 +01:00
Jeremie Dimino 6e48e70a74 Fix the quoting of FLG lines in .merlin files 2017-07-24 15:32:18 +01:00
Jeremie Dimino 9f9fcc39a9 Update changelog 2017-07-21 17:35:28 +01:00
Jeremie Dimino 4b40cad247 Revert public_interfaces for now
The code to support it is starting to become increasingly complicated
and the number of problem found is a bit alarming.

We'll reinclude it later after a bit more testing and hopefully some
simplifications.
2017-07-21 17:32:39 +01:00
Jeremie Dimino 5e91b687cd Update changelog 2017-07-19 15:29:48 +01:00
Jeremie Dimino 0d1a3b7378 Change the name of intermediate files for reason projects
before:

- foo.re  --> foo.re.ml
- foo.rei --> foo.rei.mli

after:

- foo.re  --> foo.re.ml
- foo.rei --> foo.re.mli

When compiling foo.re.ml with ocamlc or ocamlopt, the compiler checks
for the existence of foo.re.mli to determine whether the file has an
explicit interface or not. With the previous naming scheme, the
compiler always thought that there was no interface and was
re-creating the .cmi, which caused a race condition.

Fixes #184
2017-07-18 16:16:00 +01:00
Jeremie Dimino 71c748860d Fix #190 2017-07-17 12:49:59 +01:00
Jeremie Dimino fff5763a53 Fix #137: fix hint when all missing libs are optional 2017-06-09 14:49:08 +01:00
Jeremie Dimino daeb40b087 Add SCOPE_ROOT
While analysing packages using jbuilder, I found that some packages
use ${ROOT} to refer to the root of the project. However, this doesn't
work as ${ROOT} depends on the workspace configuration.

Add ${SCOPE_ROOT} to make this easier for projects with a lot of
nested sub-directories.
2017-06-09 12:45:05 +01:00
Jeremie Dimino 572774490a Report an error for invalid dependency between modules in wrapped libraries
Report an error when in a wrapped library, a module that is not the
toplevel module depends on the toplevel module. This doesn't make as
such a module would in theory be inaccessible from the outside

If this causes compilation failures of released packages, we'll need
to turn this into a warning.
2017-06-09 12:45:05 +01:00
Jeremie Dimino b63718ada0 Fix error message about too many opam files 2017-06-08 14:11:31 +01:00
Jeremie Dimino 12f458eaad Update changelog 2017-06-08 11:36:44 +01:00
Jeremie Dimino e4300e7b51 Make (run prog ...) behave the same as (run ${bin:prog} ...)
This just seems like a better default
2017-06-08 10:37:25 +01:00
Jeremie Dimino b80f4c9274 Update changelog 2017-06-08 10:00:44 +01:00
Jeremie Dimino 0352ab80a4 Update changelog 2017-06-07 10:52:14 +01:00
Jeremie Dimino e51002d1b7 Restrict what one can do with the OCaml syntax
Until we decide in what direction it should go.
2017-06-06 10:23:22 +01:00
Jeremie Dimino 11985e3948 Update the code to talk about scopes 2017-06-05 13:42:13 +01:00
Jeremie Dimino a392b59fcd copy-and-add-line-directive --> copy# 2017-06-05 12:11:39 +01:00
Jeremie Dimino 624b32b241 Update changelog 2017-06-02 19:05:14 +01:00
Jeremie Dimino 0aaf9ef174 Update changelog 2017-06-01 16:02:38 +01:00
Thomas Refis b52d778d4c Fix .merlin generation: add all workspaces projects to merlin's source path
(otherwise "locate" doesn't work)
2017-05-29 13:22:24 +01:00
Jeremie Dimino e301f38358 typo 2017-05-26 17:31:45 +01:00
Jeremie Dimino e3a07f7f1a update changelog 2017-05-26 17:31:32 +01:00
Jeremie Dimino ed89188ed6 Update changelog 2017-05-26 11:34:15 +01:00
Jeremie Dimino cf121d3640 Don't use unix in bootstrap.ml 2017-05-24 14:21:02 +01:00
Jeremie Dimino 2e7140dfef Fix #86 2017-05-22 10:37:42 +01:00
Jeremie Dimino 9dcb627aee Update changelog 2017-05-19 15:25:42 +01:00
Jeremie Dimino 4dd0de1723 Fix #72 2017-05-19 14:16:00 +01:00
Jeremie Dimino b11638690e Update changelog 2017-05-19 13:29:27 +01:00
Jeremie Dimino 3661b7ae33 Update changelog 2017-05-19 13:11:17 +01:00
Jeremie Dimino 503bc4532b update changelog 2017-05-19 12:15:45 +01:00
Jeremie Dimino 453a44f570 Update changelog 2017-05-18 13:57:05 +01:00
Jeremie Dimino ad3ef27a36 Update changelog 2017-05-17 15:14:05 +01:00
Jérémie Dimino 024477dc54 Update changelog 2017-05-09 07:45:40 +01:00
Jérémie Dimino 9aa3f9364f CHANGES.org --> CHANGES.md 2017-05-08 16:56:21 +01:00