Jérémie Dimino
c6cc8204bf
Add (foreach ...) form
2017-05-29 07:51:52 +01:00
Jérémie Dimino
1e41feaf8a
Add simplified version of rules
2017-05-29 07:51:52 +01:00
Jérémie Dimino
7c9dcbf284
Added deps/targets inference
2017-05-29 07:51:52 +01:00
Jérémie Dimino
b9c9b19f0a
Refactoring
2017-05-29 07:51:52 +01:00
Jérémie Dimino
73a4cef9f8
Move the context out of Action.t
...
And add it to the rule. It is never dynamic, so it is simpler this
way, we just set it in Super_context.add_rule.
2017-05-29 07:51:52 +01:00
Jérémie Dimino
7f0a2d7e12
Remove unused function
2017-05-29 07:51:52 +01:00
Jeremie Dimino
500f224098
Delete old odoc artifacts before running odoc
2017-05-26 18:34:49 +01:00
Jeremie Dimino
37d7131a11
Simplify hack for not deleting odoc files
2017-05-26 18:34:49 +01:00
Jeremie Dimino
35ba1bc0f1
Remove the dir field in Action.t
...
Simplify things for Build.progn
2017-05-26 18:34:49 +01:00
Jeremie Dimino
0a1f4f5658
Replace Build.and_... by Build.progn
2017-05-26 18:34:49 +01:00
Jeremie Dimino
23f00abf18
Update odoc rules
2017-05-26 18:34:49 +01:00
Jeremie Dimino
d9165fc53e
Memoize a computation in odoc.ml
2017-05-26 18:34:49 +01:00
Jeremie Dimino
76d637fa74
Fix dependencies
2017-05-26 18:34:49 +01:00
Jeremie Dimino
43f413a59a
Support library indexes
2017-05-26 18:34:49 +01:00
Jeremie Dimino
7f8f4b23ee
Start of odoc rules
2017-05-26 18:34:49 +01:00
Jeremie Dimino
60d09f7e27
Print background process failures when exiting
2017-05-26 17:30:34 +01:00
Jeremie Dimino
550a8d8f57
Fix #101
2017-05-26 17:23:49 +01:00
Jeremie Dimino
9f9660b91a
Remove the global ppx_drivers variable in super_context.ml
...
Fix #100
2017-05-26 14:25:51 +01:00
Jeremie Dimino
1de95b9d81
Print the contents of OCAMLPARAM in the log
2017-05-26 14:07:21 +01:00
Jeremie Dimino
f3cdbfa66f
Fix Path.rm_rf
...
It didn't delete the toplevel directory
2017-05-26 11:37:10 +01:00
Richard Davison
91d03de221
Add clean subcommand ( #89 )
2017-05-26 11:32:32 +01:00
Jeremie Dimino
2e7140dfef
Fix #86
2017-05-22 10:37:42 +01:00
Jeremie Dimino
d01270757f
Remove ocamllex/ocamlyacc from the context
...
They were unused and this prevent jbuilder to be used with
opam-cross-windows.
Fixes #75
2017-05-19 15:24:55 +01:00
Jeremie Dimino
4dd0de1723
Fix #72
2017-05-19 14:16:00 +01:00
Jeremie Dimino
c6dac87ee9
Ignore all directories starting with '.' pr '_'
2017-05-19 12:36:06 +01:00
Jérémie Dimino
0a2157919c
Split more long lines in makefiles
2017-05-19 08:27:21 +01:00
Jérémie Dimino
42cb733c6a
Remove --debug-{actions,rules}
...
They are superseeded by 'jbuilder rules'
2017-05-19 08:27:21 +01:00
Jérémie Dimino
00ddd7f7a2
Improve formatting
2017-05-19 08:27:21 +01:00
Jérémie Dimino
0a98963293
fix
2017-05-19 08:27:21 +01:00
Jérémie Dimino
fe30935fa2
Rename 'extract-makefile' to 'rules'
2017-05-19 08:27:21 +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
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
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
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
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
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
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
Jeremie Dimino
add2a063c0
Detect the package name as topkg-jbuilder does
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
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
Jeremie Dimino
dce491e661
Add a subst command for watermarking files
2017-05-08 16:56:21 +01:00
Jeremie Dimino
4130bc2f63
Add support for ${version:<package>}
2017-05-05 12:26:56 +01:00
Jeremie Dimino
ef6be544a3
Keep the package context after parsing
2017-05-05 11:21:46 +01:00
Jeremie Dimino
fbe0810156
Improve location of errors for mispelled package in jbuild files
2017-05-05 10:59:07 +01:00
Jeremie Dimino
f017e810d8
Remove some dead code
...
vjs is mostly unused now given that Jane Street jbuild files are
automatically rewritten. We keep the Vjs version though, just in case.
2017-05-02 13:34:52 +01:00
Jeremie Dimino
b73e672cad
Move js_of_ocaml to Buildable
2017-05-02 13:30:58 +01:00
Jeremie Dimino
411d1a2f2c
Refactoring
...
- add Super_context.resolve_program and use it everywhere.
- add src/js_of_ocaml.mli
2017-05-02 12:01:27 +01:00
hhugo
86a4f0324a
Add js_of_ocaml support ( #60 )
...
Add rules for building .js files from .bc files using js_of_ocaml as well as rules for separate js compilation when --dev is passed.
2017-05-02 11:25:37 +01:00
Rudi Grinberg
afce8c7f4f
Specify package for aliases
...
Useful for running tests for a specific package
2017-05-02 09:57:03 +01:00
Jeremie Dimino
416d4c6ead
Move rules for module compilation in their own file
2017-04-28 15:13:43 +01:00
Jeremie Dimino
a8c2dcc928
Move expand_and_eval_set to Super_context
2017-04-28 15:01:19 +01:00
Jeremie Dimino
5f270372bf
Move Merlin rules to their own file
2017-04-28 14:54:16 +01:00
Jeremie Dimino
3a266c686e
Cleanup lib stuff
2017-04-28 14:50:24 +01:00
Jeremie Dimino
130cadf855
Move pp stuff to Super_context.PP
2017-04-28 14:40:33 +01:00
Jeremie Dimino
17ae22295d
Move Action_interpret to Super_context
2017-04-28 14:24:02 +01:00
Jeremie Dimino
c6080880b3
Move ocamldep stuff to Ocamldep
2017-04-28 14:19:21 +01:00
Jeremie Dimino
6a40b7602c
Move Dep_conf_interpret to Super_context
2017-04-28 14:01:47 +01:00
Jeremie Dimino
32c20cc561
Move var expansions to Super_context
2017-04-28 13:53:44 +01:00
Jeremie Dimino
c18eabec72
Move a few more things to Utils and document them
2017-04-28 13:26:16 +01:00
Jeremie Dimino
1b6bc01a2d
Split out Ocaml_flags
2017-04-28 13:19:33 +01:00
Jeremie Dimino
c7add98ea6
Add a new Super_context module
...
Moved most of the global values computed at the beginning of
Gen_rules.Gen to Super_context.t. This will allow to split
gen_rules.ml into multiple files.
2017-04-28 11:58:41 +01:00
Jeremie Dimino
d1d51595d2
Remove overlays for Mode and Cm_kind in Gen_rules
2017-04-28 10:40:09 +01:00
Jeremie Dimino
9498cb7013
Improve the error message for the last commit
2017-04-26 15:10:59 +01:00
Jeremie Dimino
2c124a0221
Detect conflicts between internal and external libraries
2017-04-26 15:04:32 +01:00
Jeremie Dimino
30ef4012e4
use code_errorf in Map.of_alist_exn
2017-04-26 13:41:10 +01:00
Jeremie Dimino
47d62fec04
typo
2017-04-26 13:38:28 +01:00
Jeremie Dimino
89cdd70563
Check for inconsistent (libraries ...) fields
...
Better fix for for #62
2017-04-26 13:36:52 +01:00
Jeremie Dimino
43572595b4
Detect clauses that are always false in (select ...) forms
2017-04-26 13:21:59 +01:00
Jeremie Dimino
05581ed8bc
Don't crash when a dependency is duplicated
...
Fix #62
2017-04-26 13:00:10 +01:00
Jeremie Dimino
83f686a821
Hint for mistyped targets
2017-04-25 16:22:17 +01:00
Jeremie Dimino
ee43c2718f
Environment variable names are not case sensitive on Windows
2017-04-24 12:53:18 +01:00
Jeremie Dimino
229e7fa883
A couple of fixes for Windows
...
- open files in text mode when reading lines
- open files used for redirections with O_SHARE_DELETE
2017-04-21 17:22:41 +01:00
Rudi Grinberg
66f973cd4c
Add Reason support ( #58 )
...
jbuilder now recognizes .re/.rei files as modules and pass them through refmt
2017-04-20 16:41:16 +01:00
Jeremie Dimino
de0f65b4f4
Remove hard-coded knowledge of a a few specific ppx rewriters
2017-04-17 13:48:52 +01:00
Jeremie Dimino
238c22f3b8
Remove hardcoded PORTABLE_INT63
2017-04-17 13:35:42 +01:00
Jeremie Dimino
31922a590f
Make sure the action working directory exist
2017-04-17 13:35:05 +01:00
Jeremie Dimino
2f4ec1c281
refactoring
2017-04-17 13:20:21 +01:00
Jeremie Dimino
07871b1190
Add support for ${lib-available:<name>} forms
2017-04-17 12:48:54 +01:00
Jeremie Dimino
72550dc3e0
Add a -p/--for-release-of-packages command line argument
...
`-p pkgs` is the equivalent of `--root . --only-packages pkgs`
2017-04-10 10:44:49 +01:00
Jeremie Dimino
eb68c98f01
remove unused function
2017-04-10 10:10:49 +01:00
Jeremie Dimino
d948edbc4c
Add a (no_dynlink) field
2017-04-10 10:10:15 +01:00
Jeremie Dimino
cc7ea35a14
Split the building of the .so and .a when needed
2017-04-10 10:10:15 +01:00
Jeremie Dimino
d8f7d77a75
Don't generate an "exists_if ..." line in META files
...
This is useless sine the jbuild is auto-generated
2017-04-10 10:10:15 +01:00
Rudi Grinberg
3e3d92c9e5
Add menhir support ( #42 )
...
Adds the menhir stanza which desugars into a Rule.t with Support for:
* ocamlyacc like use
* modular parsers with --base
* passing extra flags
Also add tests and documentation.
2017-04-03 16:25:43 +01:00
Jeremie Dimino
4c3036b3cc
Don't fail when opam return the same envirnonemt variable several times
...
Instead, print a warning and take the last bindings.
Fixes #46
2017-03-31 17:45:38 +01:00
Jeremie Dimino
83c1a6f5bd
Fix compat with 4.06
2017-03-31 17:31:55 +01:00
Jeremie Dimino
a7dbc12bac
Sandbox different actions in different directories
2017-03-31 15:29:47 +01:00
Jeremie Dimino
ffa1662ce9
Sandbox the build of the alias module with 4.02
...
To prevent the compiler from reading the cmi of the aliased modules.
2017-03-31 15:15:54 +01:00
Jeremie Dimino
b9976773a3
Add support for sandboxing
2017-03-31 15:06:53 +01:00
Jeremie Dimino
21b29b0cb6
Refactor the job printing code
...
Fix #50
2017-03-31 13:44:53 +01:00
Jeremie Dimino
99b0d94335
Fixed the implementation of Filename.{split_,}ext
2017-03-31 13:34:30 +01:00
Jeremie Dimino
d62429455b
Add -keep-locs to the dev mode
...
Related to #44
2017-03-31 11:01:52 +01:00
Jeremie Dimino
be75c8a4c9
Use -short-paths by default in dev-mode
...
Related to #44
2017-03-30 18:29:23 +01:00
Stephen Dolan
b5ae1b1f52
Quieter output ( #40 )
...
Makes the output quieter by default and add a `--verbose` argument. Print a message when waiting for background jobs to finish only it it takes more than 0.5 seconds.
2017-03-30 17:36:58 +01:00
Jeremie Dimino
d5b5322f12
Fix a bug in the interpretation of META files
...
Before this commit, when there was more than one applicable
assignment, the one with the lowest number of formal predicates was
selected instead of the one with the biggest number of formal predicates
2017-03-29 17:47:17 +01:00
Jeremie Dimino
acb54677d4
Ignore test/ and example/ during bootstrap
2017-03-29 16:51:48 +01:00
Jeremie Dimino
1dda1179aa
Add some doc in Path
2017-03-28 14:50:04 +01:00
François Bobot
5cca590e34
Don't use color feature for ocaml 4.02.3
2017-03-27 18:31:26 +01:00
François Bobot
2bf15067cb
Remove comment for 4.02.3
2017-03-27 18:31:26 +01:00
Jeremie Dimino
c48e90e357
Don't pass specific arguments when not using ppx_driver.runner
...
Fix #37
2017-03-27 14:31:00 +01:00
Jeremie Dimino
8e64aa0990
Lookup bash in the PATH
...
Closes #36
2017-03-24 11:04:24 +00:00
Jeremie Dimino
37b1125f03
Remove some unused functions
2017-03-23 10:45:09 +00:00
Jeremie Dimino
3ae53de431
Add an "executable" stanza and make it easier to install executables
...
(executable ...) is easier to use where there is a single executable.
Also add a (package ...) and (public_name <name>)/(public_names
(<names)) to executable/executables stanzas, to make it easier to
install executables.
Closes #33
2017-03-22 15:09:26 +00:00
Jeremie Dimino
48970caca3
Make sure the build of jbuilder doesn't call ocamlfind or opam
2017-03-22 08:19:26 +00:00
Jeremie Dimino
0c6b30efea
tweaks for specific ppxs
2017-03-21 17:22:29 +00:00
Jeremie Dimino
d2b8acc3b7
refactoring
2017-03-21 17:17:25 +00:00
Jeremie Dimino
a1e898af5b
Better error when plugins don't call the send function
2017-03-21 14:03:33 +00:00
Jeremie Dimino
9a8483c615
Give ocamlfind precedence over opam
...
If ocamlfind is present, don't try to call `opam config var lib`. The
previous behavior was breaking Facebook builds.
Also add ocamlfind as an optional dependency, to avoid race conditions
when installing ocamlfind in parallel.
2017-03-21 10:26:36 +00:00
Jeremie Dimino
34722a921a
Ignore all errors while running `ocamlfind printconf path`
2017-03-20 14:34:28 +00:00
Jeremie Dimino
48ac99797e
Improve error messages about invalid/missing pkg.opam files
2017-03-17 10:51:22 +00:00
Jeremie Dimino
6d1bb607c9
Fix #25
2017-03-15 15:44:27 +00:00
Jeremie Dimino
3b0c6403ee
Fix a bug in Findlib.available
...
Fix #24
2017-03-15 12:07:20 +00:00
Jeremie Dimino
34a8951292
Improve dependency path printing
2017-03-15 11:49:31 +00:00
Jeremie Dimino
0dd24399ca
Ignore opam files in ignored sub-trees
2017-03-15 11:41:44 +00:00
Jeremie Dimino
bf4a4ba5f9
Add a regression test for #20
2017-03-15 11:13:49 +00:00
Jeremie Dimino
dac70f4d72
Fix generation of @canonical tags
2017-03-15 10:44:55 +00:00
Jeremie Dimino
6cf93d69b5
Fix a bug in incremental compilation
...
If a rule had no dependencies and targets where missing, it wasn't
re-run.
Refactor the code and fix this bug.
2017-03-15 10:43:03 +00:00
Jeremie Dimino
ec6b89ea11
Improve errors for ${lib:...}
2017-03-15 09:46:42 +00:00
Jeremie Dimino
2a5dc053fb
Fix sexp_of_t (Update_file ...)
2017-03-15 09:15:47 +00:00
Jeremie Dimino
e7b543e7cb
Don't scan the tree a second time for files_recursively_in
2017-03-15 09:10:22 +00:00
Jeremie Dimino
a04b0c4dcc
Improve 'required_by ...' messages
2017-03-15 08:59:00 +00:00
Jeremie Dimino
c437069fff
Improve package not found errors
2017-03-14 15:57:22 +00:00
Jeremie Dimino
6ae036a318
Fix fix for #20
2017-03-14 08:02:01 +00:00
Jeremie Dimino
132ddca42b
generate @canonical doc tags
2017-03-13 14:08:15 +00:00
Jeremie Dimino
020da39542
as-ppx.exe --> ppx.exe
2017-03-13 13:36:01 +00:00
Hugo Heuzard
63462fd452
Fix deps with multiple glob_files
2017-03-13 10:13:39 +00:00
Jérémie Dimino
1dcf38af93
Fix Path.extract_build* functions when applied on the build_dir itself
...
This should fix #20
2017-03-13 08:53:41 +00:00
Jérémie Dimino
ba08f27678
Add a few more redirections
...
- with-{stdout,stderr,outputs}-to
- ignore-{stdout,stderr,outputs}
- variable ${null} for /dev/null or NUL on Win32
2017-03-13 08:10:59 +00:00
Jeremie Dimino
99d7a26f28
Fix previous commit
2017-03-10 16:32:08 +00:00
Jeremie Dimino
dd6a23ec18
Fix #15
...
When there are no <pkg>.opam files in parent directories, use the
whole workspace as scope
2017-03-10 15:44:17 +00:00
Jeremie Dimino
df7658914d
Fix a bug where the findlib search path contained duplicates
2017-03-10 15:35:43 +00:00
Jeremie Dimino
d959b0f928
Add a Log module and print out the context in the log file
2017-03-10 12:32:27 +00:00
Jeremie Dimino
563cc6059c
Add Context.sexp_of_t
2017-03-10 11:22:01 +00:00
Jeremie Dimino
629b4d0044
Use Path.absolute for OCAML_TOPLEVEL_PATH
2017-03-10 10:57:09 +00:00
Jeremie Dimino
3cb0372f8b
Force the recording of backtraces
2017-03-10 10:53:34 +00:00
Jérémie Dimino
74e015923a
Ignore <package>.opam when <package> is empty
2017-03-09 06:41:42 +00:00
Jeremie Dimino
6ac0200d95
Fix the interpretation of inside actions
2017-03-08 15:28:32 +00:00
Jeremie Dimino
8f78118ff5
Fix error message printing format syntax
2017-03-08 15:13:33 +00:00
Jeremie Dimino
7e36b3cd86
Add self_build_stubs_archive to v1
2017-03-07 13:21:54 +00:00
Jeremie Dimino
d5d861b40c
Support architectures without natdynlink
2017-03-07 11:36:59 +00:00
Jeremie Dimino
3db4514d3a
Delete pending targets when a command fails
2017-03-07 10:14:16 +00:00
Jeremie Dimino
427e8582c0
Make sure migrate_driver_main comes last
2017-03-07 09:50:38 +00:00
Jeremie Dimino
18e3530c0a
Don't generate -embed-errors for merlin
2017-03-07 09:39:14 +00:00
Jeremie Dimino
c848e6ae97
Print a message when waiting for jobs
2017-03-07 09:34:16 +00:00
Jeremie Dimino
54197cc70d
Pass -embed-errors=false to ppx_driver
2017-03-06 16:18:51 +00:00
Jeremie Dimino
78e47bafa8
Don't save the db if _build doesn't exist
2017-03-06 15:33:03 +00:00
Jeremie Dimino
cac1dc0e3e
fixes
2017-03-06 15:14:57 +00:00
Jeremie Dimino
7850bf67f5
Write_file --> Update_file
2017-03-06 14:34:53 +00:00
Jeremie Dimino
da43937663
Allow arbitrary flags in (pps ...) forms
2017-03-06 13:54:08 +00:00
Jeremie Dimino
a26b787456
Fix expansion of user actions
2017-03-06 12:22:44 +00:00
Jeremie Dimino
a07a9a84ec
Use more standard command line options for ppx drivers
2017-03-06 11:59:21 +00:00
Jeremie Dimino
df883bef75
Fix Build.and_create_file
2017-03-06 10:41:51 +00:00
Jeremie Dimino
f21217dfbc
Improving errors when an alias is not found
2017-03-06 10:30:57 +00:00
Jeremie Dimino
35ac2e84ed
Switch to ocaml-migrate-parsetree.driver-main
2017-03-06 10:22:00 +00:00
Jérémie Dimino
9423e5ae74
Avoid stupid warning about trigraph on OSX
2017-03-05 21:07:40 +00:00
Jérémie Dimino
0b7d664f49
Don't recompile everything when the .merlin changes
2017-03-05 20:58:51 +00:00
Jérémie Dimino
fb6d135de6
Support ppx in .merlin files
2017-03-05 13:16:25 +00:00
Jérémie Dimino
95eca26bf0
Don't delete targets before executing a rule
...
At the moment, this breaks incremental builds
2017-03-05 12:33:54 +00:00
Jérémie Dimino
292f423cda
Build.t doesn't need Future to be interpreted
2017-03-05 12:11:48 +00:00
Jérémie Dimino
ca4b6fbf41
All IO must go through Build
2017-03-05 12:04:19 +00:00
Jérémie Dimino
6364f70245
Fix a few ppx related issues
2017-03-05 11:57:27 +00:00
Jérémie Dimino
05830fc809
Pass common flags to merlin
2017-03-05 10:32:04 +00:00
Jérémie Dimino
d58528d14c
Better error message when the ppx driver is missing
2017-03-05 10:17:35 +00:00
Jérémie Dimino
ba80202747
Implem of Build.progn
2017-03-05 10:05:05 +00:00
Jérémie Dimino
9013a836f0
Check that rules do produce the expected targets
2017-03-05 09:53:28 +00:00
Jérémie Dimino
cef3847977
Do no require ppx_driver
2017-03-05 09:38:39 +00:00
Jérémie Dimino
c03a4fb7df
Fix
2017-03-03 17:10:15 +00:00
Jeremie Dimino
a188fcacf4
Start incremental compilation
2017-03-03 15:26:14 +00:00
Jeremie Dimino
87fa4c080a
Fix the use of Path.reach for program names
2017-03-03 13:53:34 +00:00
Jeremie Dimino
65f06e7454
fix
2017-03-03 13:47:51 +00:00
Jeremie Dimino
470d791bac
fix
2017-03-03 13:23:44 +00:00
Jeremie Dimino
c3c3e9e9b5
Force users to write (bash ...) when they want it
2017-03-03 13:18:52 +00:00
Jeremie Dimino
e300ca0f16
Simplify actions
...
Make Bash a normal action
2017-03-03 12:59:52 +00:00
Jeremie Dimino
581c63f6ca
Added --debug-action
2017-03-03 12:46:54 +00:00
Jeremie Dimino
adf423a595
Change the rule signature
...
Now rules are arrows of type: (unit, Action.t) Build.t
They don't execute command directly, but instead build a serializable
action to execute.
2017-03-03 12:27:34 +00:00
Jeremie Dimino
2967987356
add a few more actions
2017-03-03 09:18:03 +00:00
Jeremie Dimino
987d437a99
Revert name change
2017-03-03 08:57:20 +00:00
Jeremie Dimino
cd359538b0
simplify
2017-03-03 08:47:58 +00:00
Jeremie Dimino
304e4d9a7a
prepare for change
2017-03-03 08:18:10 +00:00
Jeremie Dimino
4fa0844e42
Remove build-package in favor of --only-packages
2017-03-02 18:21:19 +00:00
Jeremie Dimino
591bc9f724
Fix the setting of CAML_LD_LIBRARY_PATH
2017-03-02 17:40:16 +00:00
Jeremie Dimino
a1bcf263c3
Fix for 4.04
2017-03-02 17:01:56 +00:00
Jeremie Dimino
51ce0c2daf
Restrict the scope of internal names
...
Otherwise building several packages at once doesn't always work
2017-03-02 16:57:28 +00:00
Jeremie Dimino
2628eba306
Don't install jbuilder as a library
...
The API is not stable at all, so let's not do it until the Jenga
bridge is ready
2017-03-02 14:53:33 +00:00
Jeremie Dimino
d858bfdda9
Make vjs closer to v1 to prepare for the next Jane Street release
2017-03-02 14:50:44 +00:00
Jeremie Dimino
16bd433e4e
Do not compute external library dependencies eagerly
2017-03-02 11:34:13 +00:00
Jeremie Dimino
2183a6f2d8
Remove support for (object_public_name ...)
...
Installing libraries from an executables stanza is just weird.
2017-03-02 10:06:05 +00:00
Jeremie Dimino
97de72c8dd
Improve the external-lib-deps command
2017-03-01 19:19:43 +00:00
Jeremie Dimino
27e44cd72b
Fix a problem when opam files are in sub-directories
2017-03-01 18:07:16 +00:00
Jeremie Dimino
b80b3c20ce
Install the non preprocessed modules
2017-03-01 17:27:25 +00:00
Jeremie Dimino
3aef1d6f3c
Revert "Rename _build to _jbuild ( #13 )"
...
This reverts commit 89c15ca2c5
.
Keep _build as the build directory until we get a better consensus.
2017-03-01 16:09:02 +00:00
Jeremie Dimino
c16fac59ed
Fix ocamlyacc rule
2017-03-01 15:18:09 +00:00
Jeremie Dimino
6f2a10c908
Install libexec files in sub-directories as well
2017-03-01 15:11:50 +00:00
Jeremie Dimino
c999039aa7
Install sub-libraries into sub-directories
...
Otherwise we have a problem when two libraries of the same package
define the same module.
2017-03-01 15:03:09 +00:00
Rudi Grinberg
89c15ca2c5
Rename _build to _jbuild ( #13 )
...
_build is already quite overloaded.
2017-03-01 13:37:05 +00:00
Jeremie Dimino
4ee2e74131
Make build-package work
2017-03-01 13:25:18 +00:00
Jeremie Dimino
ddd7f182f1
Extend MANPATH in 'jbuilder exec'
2017-03-01 12:56:31 +00:00
Jeremie Dimino
c88bf33131
Add jbuilder exec
2017-03-01 12:09:57 +00:00
Jeremie Dimino
d5f78a1462
Clean the _build/install directory as well
2017-03-01 11:39:41 +00:00
Jeremie Dimino
56f6e5bca3
Install from the symlink directory
2017-03-01 11:38:02 +00:00
Jeremie Dimino
c3228ee95e
fix ocamllex/ocamlyacc rules
2017-03-01 11:34:51 +00:00
Jeremie Dimino
6e25a7dfe5
Remove (provides ...) and uses (install ...) instead
2017-03-01 11:20:17 +00:00
Jeremie Dimino
60be8f7734
Remove the Ocamllex/Ocamlyacc modules and desugar them instead
2017-03-01 09:21:34 +00:00
Jérémie Dimino
d627744513
Fix the interpretation of
2017-02-28 23:26:53 +00:00
Jérémie Dimino
157ecaab60
Resolve path properly in actions
2017-02-28 23:23:51 +00:00
Jeremie Dimino
2e7d592f66
implement the manual properly for (install ...) stanzas
2017-02-28 18:17:15 +00:00
Jeremie Dimino
55405f7f25
Rework the readme
2017-02-28 17:20:41 +00:00
Jeremie Dimino
0b30f795b2
fix guess_modules
2017-02-28 15:49:02 +00:00
Jeremie Dimino
fad2873ad7
Update warning for .mli only modules
2017-02-28 13:20:35 +00:00
Jeremie Dimino
951132023c
Allow .mli only modules
...
Closes #9
2017-02-28 11:11:19 +00:00
Jeremie Dimino
98c083db21
Uncomment check for executable names
2017-02-28 10:37:10 +00:00
Jeremie Dimino
dc5c5851ff
Execute preprocess commands using the system shell
2017-02-28 10:32:57 +00:00
Jérémie Dimino
19dae96f1a
Simplify ocamllex/ocamlyacc rules
...
They are tricky and don't work properly
2017-02-28 07:27:32 +00:00
Jérémie Dimino
ac372ce63a
Allow to use installed libraries in jbuild plugins
2017-02-28 06:31:02 +00:00
Jérémie Dimino
0462d4a11f
Remove dependency Named_artifacts --> Context
2017-02-28 06:03:20 +00:00
Jérémie Dimino
2ee522be52
Add a Findlib.t in the context
2017-02-28 06:01:27 +00:00
Jérémie Dimino
9123508e43
Simplify jbuild.ml wrappers
2017-02-28 05:38:30 +00:00
Jeremie Dimino
bad68218b9
Add a --workspace option
2017-02-27 15:07:37 +00:00
Jeremie Dimino
ed0e7e3fc3
Add a few more actions
...
Just enough to handle the common cases.
2017-02-27 15:07:37 +00:00
Jeremie Dimino
e540602ad9
Add a few more actions
...
Just enough to handle the common cases.
2017-02-27 14:15:30 +00:00
Jeremie Dimino
df866a5840
Refactor actions
2017-02-27 13:34:16 +00:00
Jeremie Dimino
eea483191f
Typo
2017-02-27 11:58:06 +00:00
Jeremie Dimino
bd9033f9bb
Allow 'ocamlfind printconf path' to fail
2017-02-27 11:38:11 +00:00
Jérémie Dimino
595590d9c8
Fix a small problem in findlib.ml
2017-02-27 08:45:00 +00:00
Jérémie Dimino
ecdbedc03d
Print signal names
2017-02-27 08:43:18 +00:00
Jérémie Dimino
6b4e7b31d8
cleanup
2017-02-26 21:49:41 +00:00
Jérémie Dimino
e52cca99cb
Do not copy over .install files
2017-02-26 21:39:03 +00:00
Jérémie Dimino
27a299437d
4.02.3 compatiblity
2017-02-26 21:28:30 +00:00
Jérémie Dimino
304d7becbc
Allow to specify which context for merlin
2017-02-26 20:53:32 +00:00
Jérémie Dimino
b8c35156e7
Fix command line printing when there is a redirection
2017-02-26 19:51:42 +00:00
Jérémie Dimino
38421d7e41
Replace meta language by ocaml
2017-02-26 19:49:54 +00:00
Jérémie Dimino
8d52cba130
Add support for a meta language in jbuild files
2017-02-26 12:38:36 +00:00
Jérémie Dimino
4227e756bd
Move actual parsing of jbuilds to Gen_rules
2017-02-25 18:21:23 +00:00
Jérémie Dimino
c6b2169037
Refactor S-expression parsing
2017-02-25 18:03:56 +00:00
Jérémie Dimino
af82f587e4
Fix installion when there are multiple contexts
2017-02-25 14:15:52 +00:00
Richard Davison
2c7bfe4167
Automatically generate .merlin file ( #2 )
2017-02-25 13:53:37 +00:00
Jérémie Dimino
01e76a64eb
Don't force to have a default context
2017-02-25 02:38:41 +00:00
Jérémie Dimino
6bb3f6a7b5
Colorize Output[<id>]
2017-02-25 01:49:20 +00:00
Jérémie Dimino
0ba7299117
Handle installation into multiple contexts at once
2017-02-25 01:45:41 +00:00
Jérémie Dimino
9fe0e9c87d
Improve alias management
2017-02-25 01:33:37 +00:00
Jérémie Dimino
7538fd8263
Allow to redefine the default context
2017-02-25 00:28:10 +00:00
Jérémie Dimino
677b9e1e06
Initial support for build contexts
2017-02-25 00:18:01 +00:00
Jeremie Dimino
593b90723d
Implement package version support
2017-02-24 18:21:22 +00:00
Jeremie Dimino
a0ce6a68aa
Install all manual pages
2017-02-24 17:36:39 +00:00
Jeremie Dimino
ecc3462912
Add (with-stdout-to ...)
2017-02-24 16:47:23 +00:00
Jeremie Dimino
24ac055511
Avoid loading findlib packages more than once
2017-02-24 16:29:08 +00:00
Jeremie Dimino
e3722a922a
Put alias files in a dedicated directory
2017-02-24 15:58:54 +00:00
Jeremie Dimino
437a4fa5d7
added install/uninstall commands
2017-02-24 15:41:52 +00:00
Jeremie Dimino
a3346384c4
remove an assert false
2017-02-24 14:23:17 +00:00
Jeremie Dimino
21cd4d1a9a
Fix order of chdir and open in Future
2017-02-24 13:48:23 +00:00
Jeremie Dimino
dce615a559
Fix build of the aliases module
2017-02-24 13:42:53 +00:00
Jeremie Dimino
4bdac39dd4
fix use of labels
2017-02-24 13:08:37 +00:00
Jeremie Dimino
e148f75ee4
add an install alias
2017-02-24 12:54:51 +00:00
Jeremie Dimino
6080929ede
Fix colors in bootstrap mode
2017-02-24 12:20:07 +00:00
Jeremie Dimino
9c6e367089
Add a development mode and cleanup the code
2017-02-24 12:19:02 +00:00
Jeremie Dimino
4f161894ff
colorize output filenames
2017-02-24 12:02:57 +00:00
Jeremie Dimino
b3cf69c3d8
improvve coloration of program
2017-02-24 11:54:53 +00:00
Jeremie Dimino
a3cd58de5d
A bit more colors
2017-02-24 11:38:50 +00:00
Jeremie Dimino
03f788a0fa
a bit more colors
2017-02-24 11:16:55 +00:00
Jeremie Dimino
9b6b6b11f7
drop support for (preprocess metaquot)
2017-02-24 10:50:43 +00:00
Jeremie Dimino
0f28c8bba0
Refactor Sexp.of_sexp_error API
2017-02-24 10:49:27 +00:00
Jeremie Dimino
89335dd5e4
Better support for cross-compilation
2017-02-24 10:28:31 +00:00
Jeremie Dimino
ae376d30d2
Better support for byte-code only architectures
2017-02-24 10:13:13 +00:00
Jeremie Dimino
e2a607af6e
Parse and interpret (jbuilder_version ...) stanzas
2017-02-24 10:03:39 +00:00
Jeremie Dimino
f9c80160f1
Implement versionned jbuild parsers
2017-02-24 09:41:32 +00:00
Jeremie Dimino
3fd14a8f28
Factorize jbuilds a bit
2017-02-23 18:46:12 +00:00
Jeremie Dimino
7d10b0e983
Make sexp record parsing more composable
2017-02-23 18:33:37 +00:00
Jeremie Dimino
ee7ab05d9e
Better for user written/generated META files
2017-02-23 17:34:11 +00:00
Jeremie Dimino
a257da3f94
Fix path of install files
2017-02-23 16:55:42 +00:00
Jeremie Dimino
f2e1f7d2ce
Check that packages are correctly specified in jbuilds
2017-02-23 16:47:25 +00:00
Jeremie Dimino
fe929a07d7
Don't require packages to be defined at the root
...
To match the manual
2017-02-23 15:59:44 +00:00
Jeremie Dimino
331b9dc14e
Include generated files when looking for odig doc files
2017-02-23 14:16:29 +00:00
Jeremie Dimino
75335af4bc
Implement odig conventions properly
2017-02-23 13:52:36 +00:00
Jeremie Dimino
3716f87285
Add a runtest command
...
Closes #3
2017-02-23 13:17:38 +00:00
Jeremie Dimino
087c9570e4
Fix recursive aliases
2017-02-23 13:15:36 +00:00
Jeremie Dimino
d696bd113b
Hack to force OCaml to use colors when possible
2017-02-23 12:12:02 +00:00
Jeremie Dimino
aa5c4078f7
Improve rendering of errors
2017-02-23 11:55:14 +00:00
Jeremie Dimino
901d9acc2a
Don't mangle the output of commands and keep a log file
2017-02-23 11:45:03 +00:00
Jeremie Dimino
e75f0e4455
Interpret extra_disabled_warnings
2017-02-23 10:43:51 +00:00
Jeremie Dimino
358c9ecbc6
Implement targets resolution
...
Prepend _build/default only when a path is not a direct target. This
way "jbuilder build package.install" does produce the
"package.install" file
2017-02-23 10:04:32 +00:00
Jeremie Dimino
593bd4c1c1
Disable colors when compiling from emacs
2017-02-23 10:04:23 +00:00
Thomas Refis
f00fd49f0b
114.33+05
2017-02-21 17:13:30 +00:00
Jeremie Dimino
193f8d5238
moved cmdliner and re to vendor/
2017-02-21 15:09:58 +00:00
Rudi Grinberg
428c0b5368
Implement (alias ...) stanzas ( #7 )
2017-02-21 14:52:26 +00:00
Rudi Grinberg
ac6cb2360a
First cut cmdliner support ( #5 )
...
Import the sources of cmdliner and rewrite the CLI of jbuilder
2017-02-20 15:51:03 +00:00
Jeremie Dimino
ae6b09b180
114.30+68
2017-02-02 10:31:36 +00:00
Jeremie Dimino
1c1a08ec54
114.29+68
2017-01-26 10:53:37 +00:00
Jeremie Dimino
5f239a349f
114.29+19
2017-01-25 15:41:22 +00:00
Jeremie Dimino
42680ee945
114.29+19
2017-01-24 16:02:53 +00:00
Jeremie Dimino
716f30c3d3
114.28+32
2017-01-19 13:19:13 +00:00
Jeremie Dimino
9e4a83bf48
add support for c_library_flags
2017-01-06 17:18:36 +00:00
Jeremie Dimino
614dbc6f6b
Setup copy rules for all source files
...
This is cleaner and allow dependencies on files that do not
appear in static deps or targets.
With this patch, one can now build all JS packages at once.
2016-12-31 15:12:39 +00:00
Jeremie Dimino
875df08235
add deps on header files & stubs
2016-12-31 13:26:29 +00:00
Jeremie Dimino
11c61b3234
114.20+69
2016-12-23 15:32:23 +00:00
Jeremie Dimino
ea888074b0
We need the .a to build the .cmxs
...
Should fix janestreet/re2#17
2016-12-19 11:47:24 +00:00
Jeremie Dimino
079d64f48c
114.20+69
2016-12-16 12:56:34 +00:00
Jeremie Dimino
09503447b9
114.20+69
2016-12-16 10:58:59 +00:00
Jeremie Dimino
405971694c
114.20+69
2016-12-15 16:54:46 +00:00
Jeremie Dimino
e054ce4d71
114.20+69
2016-12-15 13:00:30 +00:00
Jeremie Dimino
2357fa0799
114.20+69
2016-12-15 11:20:46 +00:00
Jeremie Dimino
0eacc5d546
Fix the -dlllib option passed to ocamlc
...
Related to janestreet/base#5
2016-12-09 08:36:28 +00:00
Jeremie Dimino
b80929774a
fix
2016-12-07 17:05:53 +01:00
Jeremie Dimino
0dd0511581
handle exceptions properly
2016-12-07 16:55:47 +01:00
Jeremie Dimino
f7b51ed1a0
follow opkg rules
2016-12-07 16:09:49 +01:00
Jeremie Dimino
0f771a004b
compile everything with -no-alias-deps
2016-12-03 17:58:38 +01:00
Jeremie Dimino
be0eda3026
pass -dump-ast to ppx driver
2016-12-03 17:58:38 +01:00
Jeremie Dimino
cb72b1cfca
fix race condition when .mli is missing
...
closes janestreet/base#4
2016-12-03 17:57:53 +01:00
Jeremie Dimino
cdcd7e907f
114.20+69
2016-12-02 13:54:32 +00:00
Jeremie Dimino
d3125bd4a8
handle findlib properly
2016-11-13 17:05:55 +00:00
Jeremie Dimino
b95fe287cf
simple query
2016-11-13 12:40:31 +00:00
Jeremie Dimino
567dac033f
fix meta parsing
2016-11-13 12:37:18 +00:00
Jeremie Dimino
a71db86d88
better error reporting
2016-11-13 12:32:12 +00:00
Jeremie Dimino
5a13387210
rename main
2016-11-13 12:26:21 +00:00
Jeremie Dimino
b3433c5943
add internal command
2016-11-13 12:25:45 +00:00
Jeremie Dimino
24bb677ed2
fixes
2016-11-13 11:27:31 +00:00
Jeremie Dimino
583b55f527
findlib support
2016-11-13 11:13:47 +00:00
Jeremie Dimino
de3314049f
added meta.mli
2016-11-13 10:03:07 +00:00
Jeremie Dimino
c9fddcbb77
meta parser
2016-11-13 10:01:32 +00:00
Jeremie Dimino
6039e16258
added meta
2016-11-12 11:48:24 +00:00
Jeremie Dimino
0a29ae3749
more work
2016-11-03 16:44:09 +00:00
Jeremie Dimino
93b5d9bdb9
initial import
2016-10-30 19:07:53 +00:00