This commit is contained in:
swrup 2025-11-11 02:07:51 +01:00
parent aa2ff7b2f0
commit 2f3113f55d
11742 changed files with 1223940 additions and 0 deletions

View file

@ -0,0 +1,2 @@
let x = 5
let y = Foo.v

View file

@ -0,0 +1,13 @@
(library
(name foo)
(modules foo))
(library
(name bar)
(modules bar)
(libraries foo))
(executable
(name run)
(modules run)
(libraries bar))

View file

@ -0,0 +1,2 @@
let v = 9
let w = 4

View file

@ -0,0 +1,2 @@
let _ = Bar.y
let _ = print_endline "yes"

View file

@ -0,0 +1,43 @@
This test is guarded by ocaml version <= 5.1, so it should not include foo
when implicit_transitive_deps is set to false, i.e. testing backward compatibility of
the new -H feature added.
$ getincludes () {
> dune build --verbose ./run.exe 2>&1 | grep run.ml | grep -Eo '\-[IH] [a-z/.]+' | sort
> }
$ cat >dune-project <<EOF
> (lang dune 3.17)
> (implicit_transitive_deps true)
> EOF
$ getincludes
-I .bar.objs/byte
-I .bar.objs/byte
-I .bar.objs/native
-I .foo.objs/byte
-I .foo.objs/byte
-I .foo.objs/native
-I .run.eobjs/byte
-I .run.eobjs/byte
-I .run.eobjs/native
$ cat >dune-project <<EOF
> (lang dune 3.17)
> (implicit_transitive_deps false-if-hidden-includes-supported)
> EOF
$ dune build
$ cat >dune-project <<EOF
> (lang dune 3.20)
> (implicit_transitive_deps false-if-hidden-includes-supported)
> EOF
$ getincludes
-I .bar.objs/byte
-I .bar.objs/byte
-I .bar.objs/native
-I .run.eobjs/byte
-I .run.eobjs/byte
-I .run.eobjs/native