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
François Bobot
9935c838b3
Use lowercase_ascii
2017-07-07 12:27:31 +02:00
Rudi Grinberg
97a855524c
Remove duplicate check for merlin context ( #175 )
...
This check is done in add_rules and dot_merlin. Only of those checks is
necessary. The check in dot_merlin is removed.
2017-06-30 12:03:11 +01:00
Jeremie Dimino
aed36a76dd
Quote a few paths in error messages when necessary
2017-06-26 13:33:01 +01:00
François Bobot
52afe84c83
Fix some warning 50 for 4.02.3 ( #161 )
...
Warning 50: unattached documentation comment (ignored)
2017-06-26 10:28:37 +01:00
Jeremie Dimino
c0200c3baa
Add Alias.of_file and Alias.name_of_file
2017-06-26 09:53:37 +01:00
Jeremie Dimino
bf5f366e96
Typo
2017-06-15 17:39:25 +01:00
Jeremie Dimino
34df3d5fd9
Fix check for dependency on the lib interface module
2017-06-15 14:17:54 +01:00
David Allsopp
574866af2e
Correct detected value for ocaml on Windows
2017-06-15 12:14:56 +02:00
David Allsopp
d809a3362a
Prevent Future.Temp.destroy from failing
2017-06-15 12:14:56 +02:00
David Allsopp
bf3fa0831d
Add Sys.force_remove
...
Sys.force_remove is Sys.remove, except on Windows, where it will remove
the "read-only" attribute and re-try a failed Sys.remove
2017-06-15 12:14:56 +02: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
0a3abd96a1
Fix expansion of ROOT
2017-06-08 11:42:14 +01:00
Jeremie Dimino
eb7b5e2be4
Help users to not use non-future proof features in jbuild files
2017-06-08 11:33:59 +01:00
Jeremie Dimino
c2f04a4963
Refactor action processing and avoid extra work
2017-06-08 11:26:21 +01:00
Jeremie Dimino
43c2710c43
Fix late expansion or ${ROOT}
2017-06-08 10:56:59 +01:00
Jeremie Dimino
06ab34981c
Capture locations of string-with-vars generated inside jbuilder
2017-06-08 10:54:46 +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
5307a92ddc
Do not allow (chdir ...) with dynamic directories
...
For instance (chdir ${read:foo} ...) is not allowed. This doesn't seem
really useful since we couldn't express the targets anyway and
supporting it complicate the code.
2017-06-08 10:03:11 +01:00
Jérémie Dimino
2e2a707d4b
Automatically install executable with extension `.exe` on Windows ( #123 )
...
- Automatically add exe extension when installing executables
- Look for local binaries with .exe extension on Windows
2017-06-08 09:59:43 +01:00
David Allsopp
843e5d864d
Minor typo in ml_of_mli message
2017-06-07 14:15:30 +01:00
Jeremie Dimino
63ef644766
Fix #129
2017-06-07 11:15:15 +01:00
Jeremie Dimino
87f009a881
f --> map_cclibs + make the code build with --dev
2017-06-07 10:52:06 +01:00
David Allsopp
bb527b1e38
Further MSVC C library import hacking ( #119 ) ( #127 )
2017-06-07 10:49:15 +01:00
Jeremie Dimino
0e4f2dcd15
Handle dynamic targets in user actions
2017-06-06 15:42:10 +01:00
Jeremie Dimino
6a8a440c63
Wrap c_library_flags with -ldopt for ocamlmklib with msvc
...
This should fix #119
2017-06-06 10:55:38 +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
172467a7b6
Fix expansion of ${@}
2017-06-05 16:33:09 +01:00
Jeremie Dimino
e5f27b8ba8
Small improvement
2017-06-05 16:33:09 +01:00
Jeremie Dimino
2b70e1930f
Disable all warnings in ml files for mli only modules
2017-06-05 13:43:08 +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
David Allsopp
7ec081419c
Don't pass -g to cl; it doesn't like it! ( #120 )
...
The Microsoft C compiler doesn't recognise -g. For now, easier just not
to compile with any debugging information on MSVC.
Signed-off-by: David Allsopp <david.allsopp@metastack.com>
2017-06-05 11:40:27 +01:00
Jeremie Dimino
f713c7ab98
Temporarily remove (foreach ...)
...
Currently (foreach ...) is too general and variables can be used
anywhere inside S-expressions.
We need to sort out how we are going to handle meta-programming first
as this might impact how we implement (foreach ...).
In any case, it's better not to have it in 1.0.0.
2017-06-02 18:26:13 +01:00
Jeremie Dimino
a7446ec7d3
per_file --> per_module
2017-06-02 17:58:20 +01:00
Jeremie Dimino
1a8fc057f4
Remove a few unused things
2017-06-02 16:27:05 +01:00
Jeremie Dimino
d8be1aa894
Add jbuild.mli
2017-06-02 15:00:50 +01:00
Jeremie Dimino
b74544919a
jbuild_types.ml --> jbuild.ml
2017-06-02 14:32:05 +01:00
Jeremie Dimino
fd76d7b9a9
Remove (ml_of_mli ...) and (re_of_rei ...)
...
Instead make jbuilder print the rule to do the same in the warning
message. The rule is not that big. Also add a note about mli only
modules in the "Known issues" section of the README.
This avoids polluting the jbuild specification and is still a
reasonable solution until someone implements proper support for mli
only modules in the compiler.
2017-06-02 13:17:28 +01:00
Jeremie Dimino
29e9b37c61
Implement re_of_rei
2017-06-01 17:07:06 +01:00
Jeremie Dimino
5e06daa5b2
Rename (do ...) to (rule ...)
2017-06-01 16:53:55 +01:00
Jeremie Dimino
52df4a4af3
remove unused code
2017-05-31 17:19:43 +01:00
Jeremie Dimino
1cebba4bd7
Be slightly more clever when scanning the stanzas to generate install files
...
Instead of doing many List.filter, do one String_map.of_alist_multi
2017-05-31 17:08:32 +01:00
Jeremie Dimino
a52c8a4cd7
Add location to a few errors
2017-05-31 16:49:54 +01:00
Jeremie Dimino
ad817e7a34
Fixes
2017-05-31 11:24:27 +01:00
Jeremie Dimino
1c8ffaa3aa
Check that no targets are generated outside of the current dir
2017-05-31 10:34:17 +01:00
Jeremie Dimino
373e6c2524
Allow ${...:...} for in (do ...) and add more checks
...
Check that targets written by the user are a superset of inferred
targets.
2017-05-31 10:15:32 +01:00
Jeremie Dimino
81e6ebd09b
Simplify inference
2017-05-30 17:39:23 +01:00
Jeremie Dimino
acd1e3e571
Do not fail immediately when expanding actions and a program isn't found
2017-05-30 17:35:49 +01:00
Jeremie Dimino
4e7cb253e1
Add support for reading files from actions
...
- ${read:<filename>} -> expand to the contents of the file
- ${read-lines:<filename>} -> expand to the list of lines in the file
- ${read-strings:<filename> -> expand to the list of lines in the file,
unescaped using OCaml escaping rules
Generalize ${!...} form
2017-05-30 17:02:45 +01:00
Jeremie Dimino
a8a43e4b22
Add ${!^} and ${!@} and document them
2017-05-29 19:12:37 +01:00
Jeremie Dimino
116769724f
Allow to use ${^} in actions in conjunction with (glob_files ...) and (file_recursively_in ...)
2017-05-29 18:53:54 +01:00
Thomas Refis
a5af8efa0a
Revert "Only build the toplevel module for wrapped libraries with odoc"
...
odoc is not ready for that as it turns out.
This reverts commit 5bd391e224
.
2017-05-29 15:49:29 +01:00
Jeremie Dimino
5bd391e224
Only build the toplevel module for wrapped libraries with odoc
2017-05-29 14:52:20 +01:00
Jeremie Dimino
1d3341ed28
Add a (mkdir ...) action
2017-05-29 14:51:46 +01:00
Jeremie Dimino
85ae1c75e4
Hack for latest odoc
2017-05-29 14:28:07 +01:00
Jeremie Dimino
65150b4166
Add -debug-backtrace
2017-05-29 14:18:07 +01:00
Jeremie Dimino
9f8803af67
Add (modes ...) for executables
2017-05-29 14:18:07 +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
c73b1f1fe3
Add a --no-buffer option
...
Following #107
2017-05-29 10:57:04 +01:00
Jeremie Dimino
5372ebdea1
Remove jane_street version
...
It's not used. We'll re-add it if really necessary.
2017-05-29 09:54:56 +01:00
Jérémie Dimino
f1ebc0ed7d
Add (mli-to-ml ...) as a hack for mli only modules
2017-05-29 07:51:52 +01:00
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