1.0+beta17
1.0+beta17 (01/02/2018)
-
Make jbuilder aware that
num
is an external package in OCaml >= 4.06.0
(#358) -
jbuilder exec
will now rebuild the executable before running it if
necessary. This can be turned off by passing--no-build
(#345) -
Fix
jbuilder utop
to work in any working directory (#339) -
Fix generation of META synopsis that contains double quotes (#337)
-
Add
S .
to .merlin by default (#284) -
Improve
jbuilder exec
to make it possible to execute non public executables.
jbuilder exec path/bin
will executebin
inside default (or specified)
context relative topath
.jbuilder exec /path
will execute/path
as
absolute path but with the context's environment set appropriately. Lastly,
jbuilder exec
will change the root as to which paths are relative using the
-root
option. (#286) -
Fix
jbuilder rules
printing rules when some binaries are missing (#292) -
Build documentation for non public libraries (#306)
-
Fix doc generation when several private libraries have the same name (#369)
-
Fix copy# for C/C++ with Microsoft C compiler (#353)
-
Add support for cross-compilation. Currently we are supporting the
opam-cross-x repositories such as
opam-cross-windows
(#355) -
Simplify generated META files: do not generate the transitive
closure of dependencies in META files (#405) -
Deprecated
${!...}
: the split behavior is now a property of the
variable. For instance${CC}
,${^}
,${read-lines:...}
all
expand to lists unless used in the middle of a longer atom (#336) -
Add an
(include ...)
stanza allowing one to include another
non-generated jbuild file in the current file (#402) -
Add a
(diff <file1> <file2>)
action allowing to diff files and
promote generated files in case of mismatch (#402, #421) -
Add
jbuilder promote
and--auto-promote
to promote files (#402,
#421) -
Report better errors when using
(glob_files ...)
with a directory
that doesn't exist (#413, Fix #412) -
Jbuilder now properly handles correction files produced by
ppx_driver. This allows to use[@@deriving_inline]
in .ml/.mli
files. This requireppx_driver >= v0.10.2
to work properly (#415) -
Make jbuilder load rules lazily instead of generating them all
eagerly. This speeds up the initial startup time of jbuilder on big
workspaces (#370) -
Now longer generate a
META.pkg.from-jbuilder
file. Now the only
way to customise the generatedMETA
file is through
META.pkg.template
. This feature was unused and was making the code
complicated (#370) -
Remove read-only attribute on Windows before unlink (#247)
-
Use /Fo instead of -o when invoking the Microsoft C compiler to eliminate
deprecation warning when compiling C++ sources (#354) -
Add a mode field to
rule
stanzas:(mode standard)
is the default(mode fallback)
replaces(fallback)
(mode promote)
means that targets are copied to the source tree
after the rule has completed(mode promote-until-clean)
is the same as(mode promote)
except
thatjbuilder clean
deletes the files copied to the source tree.
(#437)
-
Add a flag
--ignore-promoted-rules
to make jbuilder ignore rules
with(mode promote)
.-p
implies--ignore-promoted-rules
(#437) -
Display a warning for invalid lines in jbuild-ignore (#389)
-
Always build
boot.exe
as a bytecode program. It makes the build of
jbuilder faster and fix the build on some architectures (#463, fixes #446) -
Fix bad interaction between promotion and incremental builds on OSX
(#460, fix #456)