Commit Graph

1112 Commits

Author SHA1 Message Date
Jeremie Dimino b46cef533a Make Findlib.package abstract 2018-02-07 18:10:05 +00:00
Jeremie Dimino f949588742 Actions printed by "jbuilder rules" are now using relative paths
This seems more natural
2018-02-07 18:10:05 +00:00
Jeremie Dimino 1588ce90f2 Update js_of_ocaml tests 2018-02-07 14:20:56 +00:00
Jeremie Dimino a794de8b2b Refactoring 2018-02-07 14:19:58 +00:00
Jeremie Dimino f515878028 Update Changelog 2018-02-07 12:34:05 +00:00
Jeremie Dimino b17b476048 Set the obj_dir for executables 2018-02-07 12:34:01 +00:00
Grégoire Henry 0f0c0c2997 Compatibility layer: add link from `obj.cmi` -> `.foo.objs/obj.cmi` 2018-02-07 12:33:57 +00:00
Grégoire Henry fda3c7f680 Implement #427 2018-02-07 12:33:52 +00:00
Jeremie Dimino f4f8f70bf9 update changelog 2018-02-07 12:12:15 +00:00
Jeremie Dimino fae08c79be Allow to set the concurrency level from the config file 2018-02-07 12:11:27 +00:00
Jeremie Dimino 3347d4d59f Regenerate doc/jbuild 2018-02-07 12:11:27 +00:00
Jeremie Dimino 31855cdeda Changelog 2018-02-07 11:41:33 +00:00
Jérémie Dimino 0570e09f9a
Add a configuration file and a quiet mode (#490) 2018-02-07 11:38:21 +00:00
Jérémie Dimino 4e4f651b37
Don't stop on the first error (#477)
Before, jbuilder used to stop its execution after an error was
encountered. Now it continues until all branches have been explored.

To implement this feature, Future was rewritten as a Fiber module with
a simpler semantic.

This patch contains various other refactorings.
2018-02-06 14:39:03 +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 a1c02df143
Build_system.prefix_rules (#479)
* Build_system.prefix_rules

Add a way to implicitly add a build prefix to all rules added by the given
function

* Make sure that on_load_dir callbacks handle the prefix right

* Make sure that prefix_rules prefixes don't contain targets

* Move prefix validation to user facing function

* document prefix_rules
2018-02-05 18:38:42 +08:00
Jeremie Dimino f19a1d1fc3 jbuilder-universe --> dune-universe 2018-02-02 13:39:42 +00:00
Rudi Grinberg 8cc868e642
Merge pull request #478 from rgrinberg/bootstrap-g
bootstrap with -g
2018-02-02 17:17:43 +08:00
Rudi Grinberg 0f04e70c0e bootstrap with -g 2018-02-02 14:48:29 +08:00
Rudi Grinberg 092248e220
Merge pull request #476 from Armael/typos
Fix a couple typos in README.md
2018-02-01 22:56:12 +08:00
Armaël Guéneau d1286e73ae Fix a couple typos in README.md 2018-02-01 14:05:52 +01:00
Jérémie Dimino f618096d6e
Add a test for dependency cycles (#475) 2018-02-01 13:05:32 +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
Rudi Grinberg 73e5f1fe85
Merge pull request #474 from ocaml/fix-469
Fix #469
2018-02-01 18:50:02 +08:00
Jeremie Dimino f17e61dd3a Fix #469 2018-02-01 10:17:51 +00:00
Rudi Grinberg cbe881334c
Merge pull request #473 from rgrinberg/fix-468
Make target_hint not fail when target is Path.root
2018-02-01 17:53:53 +08:00
Jeremie Dimino 143145b19c Remove old stuff about updated files
This dates from the time we were using timestamps for incremental
compilation.
2018-02-01 08:23:36 +00: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 56c6f3bee7 Make target_hint not fail when target is Path.root
fix #468
2018-02-01 16:22:11 +08:00
Rudi Grinberg 5881f4301d
Merge pull request #471 from rgrinberg/jsoo-install-tests
Add tests of js_of_ocaml flag
2018-02-01 16:03:14 +08:00
Rudi Grinberg 3646e554a9 Add tests of js_of_ocaml flag
Make sure that adding js runtime files reflects correctly in the META and
.install files
2018-02-01 04:31:18 +08:00
Rudi Grinberg 00623728e1
Merge pull request #466 from rgrinberg/lib_db-check-dir
Verify that scope by path lookup uses valid dirs
2018-01-31 20:59:22 +08:00
Rudi Grinberg 3bf3c91105 Verify that scope by path lookup uses valid dirs
The dirs must be sub directories of the anonymous_scope path. Which is the build
root of the context of the lib db.
2018-01-31 19:18:55 +08:00
Rudi Grinberg 51b9164ff1 Update date for beta 17 2018-01-31 15:37:55 +08:00
Rudi Grinberg e788dd8a7f
Merge pull request #465 from rgrinberg/odoc-scope-bug
Fix scoping related odoc rules
2018-01-31 15:22:19 +08:00
Rudi Grinberg 4272d34fa6 Fix scoping related odoc rules
the lib component isn't just a library name. It can contain the scope as well
which we should resolve correctly
2018-01-31 03:43:39 +08:00
Rudi Grinberg a80d70aa26
Merge pull request #462 from rgrinberg/scope-ppx-bug-new-scopes
Fix scoping related ppx bug
2018-01-31 00:55:41 +08:00
Rudi Grinberg 721c80273a Update ppx scope tests 2018-01-31 00:48:58 +08:00
Rudi Grinberg a29f144bc1 Use correct scopes for generating ppx preprocessors
Use the intenral scope whenever there's an internal lib in the preprocessors.
Otherwise use the external scope.
2018-01-31 00:48:58 +08:00
Rudi Grinberg dcb3845fc4 Associate the empty scope name to the anonymous scope 2018-01-31 00:48:58 +08:00
Rudi Grinberg 1013db83b5 Add Lib.public_name 2018-01-31 00:48:58 +08:00
Rudi Grinberg ce65e27045 Add Lib_db.Scope.name 2018-01-31 00:48:58 +08:00
Rudi Grinberg 91f6a67850 Add ability to look up scopes by external name 2018-01-31 00:48:57 +08:00
Jérémie Dimino 963bb6c044
Always use a bytecode boot.exe (#463)
Fix #446
2018-01-30 14:51:51 +00:00
Rudi Grinberg f6cefa40cc
Merge pull request #451 from rgrinberg/scope-refactor
Scope Refactor
2018-01-30 19:25:53 +08:00
Rudi Grinberg 672120b3b8 Introduce explicit scopes for Lib_db
This commit introduces explicit scopes in Lib_db and refactors dune to use these
scopes where appropriate. Briefly, they are appropriate whenever we previously
used a directory to resolve the scope with Lib_db.find ~dir and friends. So a
Lib_db.Scope.t replaces a (dir, Lib_db.t) pair.

This allows to be explicit about the anonymous and external scope. Which is
important when building ppx drivers.

We also harmonize the error handling with the Findlib module. In both cases
we use a flat string list of errors. Rather than the more specific type we had
before in Findlib.
2018-01-30 19:21:40 +08:00
Rudi Grinberg a3ff5e5f30
Merge pull request #368 from rgrinberg/fanout-cleanup
replace double fanout with fanout3
2018-01-29 23:16:06 +08:00
Rudi Grinberg a02b6472e7 replace double fanout with fanout3 2018-01-29 23:13:02 +08:00