private/public tests with (optional)

Currently, a library marked (optional) will not build if it's public and has a
private dependency.
This commit is contained in:
Rudi Grinberg 2018-03-13 12:22:10 +07:00
parent 338f4c9ff2
commit daf95cef09
5 changed files with 16 additions and 0 deletions

View File

@ -0,0 +1,12 @@
(jbuild_version 1)
(library
((name privatelib)
(modules (privatelib))))
(library
((name publiclib)
(public_name publiclib)
(modules (publiclib))
(libraries (privatelib))
(optional)))

View File

@ -38,3 +38,7 @@ However, public binaries may accept private dependencies
ocamlc .publicbin.eobjs/publicbin.{cmi,cmo,cmt}
ocamlopt .publicbin.eobjs/publicbin.{cmx,o}
ocamlopt publicbin.exe
Private dependencies shouldn't make the library optional
$ $JBUILDER build -j1 --display short --root optional 2>&1 | grep -v Entering
[1]