Commit Graph

481 Commits

Author SHA1 Message Date
Jérémie Dimino fe30935fa2 Rename 'extract-makefile' to 'rules' 2017-05-19 08:27:21 +01:00
Rudi Grinberg 1309a92ec5 Fix links in rst docs
Were not converted correctly by pandoc so they must be fixed manually
2017-05-19 08:25:46 +01:00
Rudi Grinberg c0e0dfc107 Add doc target to test docs locally
Requires a local sphinx
2017-05-19 08:25:46 +01:00
Jeremie Dimino d219020b2f added jbuilder extract-makefile 2017-05-18 19:05:01 +01:00
Jeremie Dimino a3ee81055d Refactor IO functions and fix invalid IOs in gen_rules 2017-05-18 17:12:32 +01:00
Jeremie Dimino 9df1bad58c Change an error into a warning
Otherwise this breaks the build of atd.
2017-05-18 16:50:53 +01:00
Jeremie Dimino 6f20a3d938 external-lib-deps now suggest an opam command 2017-05-18 14:31:31 +01:00
Jeremie Dimino 453a44f570 Update changelog 2017-05-18 13:57:05 +01:00
Jeremie Dimino a399d9df8a Declare dependencies on external library files
This way, when an external library is reinstalled, jbuilder knows to
rebuild things.

Currently, because the library dependencies transitive closures are
computed dynamically and jbuilder doesn't yet support dynamic targets,
every single rule has to depend on all the external files.

When jbuilder support dynamic targets, we can setup one alias per
external directory.

Tested the build of 97 Jane Street repository at once. No slow down
observed for the initial build.

Then a null build goes from ~1.5s to 2s. The test case is a bit
extreme so it's bot that bad given the benefits.
2017-05-18 13:52:35 +01:00
Jeremie Dimino 08af136c97 Fix another stupid bug 2017-05-17 15:24:09 +01:00
Jeremie Dimino ad3ef27a36 Update changelog 2017-05-17 15:14:05 +01:00
Jeremie Dimino 80792e4e74 Handle the alternative findlib directory layout
Some packages still use this, such as ocp-blah and llvm
2017-05-17 15:12:11 +01:00
Jeremie Dimino b2a9d6dc51 Add: jbuilder installed-libraries --not-available 2017-05-17 14:56:53 +01:00
Jeremie Dimino 1814fc4299 Much better for findlib packages not found 2017-05-17 14:56:53 +01:00
Louis Roché f57c084f4b fix typo in quick start documentation (#79) 2017-05-17 08:12:58 +01:00
Jeremie Dimino 4621e554d2 Really ignore invalid findlib packages 2017-05-16 15:46:53 +01:00
Jeremie Dimino 60ad83c522 Improve opam parsing errors & use opam-file-format to extract the version 2017-05-16 14:47:52 +01:00
Jeremie Dimino f2a857f406 Fix Super_context.expand_and_eval_set
It declared its own dependencies as action dependencies rather than
rule dependencies
2017-05-16 12:19:18 +01:00
Jeremie Dimino ecf9207830 Update links in the readme 2017-05-15 17:32:16 +01:00
Jeremie Dimino d0be25cd88 manual.org and quick-start.org no longer exist 2017-05-15 17:14:10 +01:00
Rudi Grinberg d0c273abcb Merge pull request #78 from rgrinberg/readthedocs
Read The Docs
2017-05-15 11:55:20 -04:00
Rudi Grinberg 56093df13e Read The Docs
Port manual to RST to make it usable on readthedocs.

conf.py was only there to make it easy to preview changes if you have sphinx
installed.
2017-05-15 11:53:55 -04:00
Jeremie Dimino bd62dc8306 Merge build_interpret functions 2017-05-15 15:15:20 +01:00
Jeremie Dimino 9a5bb0ca1f Compute dynamic dependencies correctly for memoized arrows 2017-05-15 15:09:56 +01:00
Jeremie Dimino 648b2b2990 Revert some changes:
- Make targets explicit b7ad08df84.
- Get rid of Vfile      e73fd90b65.

Without vfile we need some new concepts to avoid parsing the requires
file multiple times and with vfile it's annoying to specify the
dependencies by hand.

Will leave that for future work. Just use memoize where it make sense,
for instance when we read the result from only the current directory
(for instance the ocamldep stuff).
2017-05-15 14:58:37 +01:00
Rudi Grinberg 5adfe2d668 Ignore local switch directory (#77)
This makes jbuilder usable for building projects that use a local switch
2017-05-15 10:30:02 +01:00
Jérémie Dimino be3593e449 Distinguish rule dependencies from action dependencies 2017-05-15 09:37:46 +01:00
Jérémie Dimino b7ad08df84 Make targets explicit 2017-05-15 09:37:46 +01:00
Jérémie Dimino b6b417e640 simplification 2017-05-15 09:37:46 +01:00
Jérémie Dimino e73fd90b65 Get rid of Vfile
replace it by just memoize
2017-05-15 09:37:46 +01:00
Jérémie Dimino f5192122f8 add Build.memoize 2017-05-15 09:37:46 +01:00
Jeremie Dimino dd79bdd8d1 Suffix all alias files, to avoid clashes with doc 2017-05-15 09:37:46 +01:00
Jeremie Dimino 87c958f2e0 Add Build.if_file_exists 2017-05-15 09:37:46 +01:00
hhugo c880cd3e2d disable warning 60 with --dev 2017-05-14 13:06:22 +01:00
Jeremie Dimino 15f43615c5 Add a note about % in user rules
Related to #73
2017-05-11 16:07:59 +01:00
Jeremie Dimino 4c9f894fe4 fix stupid bug 2017-05-10 16:44:01 +01:00
Jeremie Dimino 76db4d5641 Use OCAML_COLOR and stop using OCAMLPARAM when possible 2017-05-10 16:31:44 +01:00
Jeremie Dimino a573643b1e Remove version in README.org 2017-05-09 15:11:54 +01:00
Jeremie Dimino b514644f9b Revert "Add support for hooks"
This reverts commit c937dc9183.
2017-05-09 15:11:09 +01:00
Jérémie Dimino c937dc9183 Add support for hooks 2017-05-09 08:18:10 +01:00
Jérémie Dimino 024477dc54 Update changelog 2017-05-09 07:45:40 +01:00
Jeremie Dimino cbc890dc5c Add the version to the exe 2017-05-08 17:19:27 +01:00
Jeremie Dimino ddadf85d62 doc 2017-05-08 17:11:04 +01:00
Jeremie Dimino add2a063c0 Detect the package name as topkg-jbuilder does 2017-05-08 16:56:21 +01:00
Jeremie Dimino 09b8e04f1c Use topkg-jbuilder as an external package 2017-05-08 16:56:21 +01:00
Jeremie Dimino 221baefb81 Make subst add the version to the opam file 2017-05-08 16:56:21 +01:00
Jeremie Dimino e498b5a720 Add jbuilder.descr 2017-05-08 16:56:21 +01:00
Jeremie Dimino 61f0f8fd0e Fix bootstrap 2017-05-08 16:56:21 +01:00
Jeremie Dimino 6d0c8198eb Substitute watermarks for jbuilder itself 2017-05-08 16:56:21 +01:00
Jeremie Dimino 87df38d1f6 Fix call to git describe 2017-05-08 16:56:21 +01:00