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,7 @@
(library
(name foo)
(modules ()))
(executable
(name bar)
(libraries (re_export foo)))

View file

@ -0,0 +1,7 @@
Re-exporting deps in executables isn't allowed
$ dune build @all
File "dune", line 7, characters 12-27:
7 | (libraries (re_export foo)))
^^^^^^^^^^^^^^^
Error: re_export is not allowed here
[1]

View file

@ -0,0 +1,21 @@
(library
(public_name pkg.aaa)
(name aaa)
(libraries (re_export bbb))
(modules aaa))
(library
(public_name pkg.bbb)
(name bbb)
(libraries (re_export ccc))
(modules bbb))
(library
(modules ccc)
(name ccc)
(public_name pkg.ccc))
(executable
(name foo)
(modules foo)
(libraries aaa))

View file

@ -0,0 +1,4 @@
(lang dune 2.0)
(package
(name pkg))

View file

@ -0,0 +1,3 @@
module A = Aaa
module B = Bbb
module C = Ccc

View file

@ -0,0 +1,77 @@
dependencies can be exported transitively:
$ dune exec ./foo.exe
transitive deps expressed in the dune-package
$ dune build @install
$ dune_cmd cat _build/install/default/lib/pkg/dune-package | sed "s/(lang dune .*)/(lang dune <version>)/" | dune_cmd sanitize
(lang dune <version>)
(name pkg)
(sections (lib .) (libexec .))
(files
(lib
(META
aaa/aaa$ext_lib
aaa/aaa.cma
aaa/aaa.cmi
aaa/aaa.cmt
aaa/aaa.cmx
aaa/aaa.cmxa
aaa/aaa.ml
bbb/bbb$ext_lib
bbb/bbb.cma
bbb/bbb.cmi
bbb/bbb.cmt
bbb/bbb.cmx
bbb/bbb.cmxa
bbb/bbb.ml
ccc/ccc$ext_lib
ccc/ccc.cma
ccc/ccc.cmi
ccc/ccc.cmt
ccc/ccc.cmx
ccc/ccc.cmxa
ccc/ccc.ml
dune-package))
(libexec (aaa/aaa.cmxs bbb/bbb.cmxs ccc/ccc.cmxs)))
(library
(name pkg.aaa)
(kind normal)
(archives (byte aaa/aaa.cma) (native aaa/aaa.cmxa))
(plugins (byte aaa/aaa.cma) (native aaa/aaa.cmxs))
(native_archives aaa/aaa$ext_lib)
(requires pkg.ccc (re_export pkg.bbb))
(main_module_name Aaa)
(modes byte native)
(modules
(singleton
(obj_name aaa)
(visibility public)
(source (path Aaa) (impl (path aaa/aaa.ml))))))
(library
(name pkg.bbb)
(kind normal)
(archives (byte bbb/bbb.cma) (native bbb/bbb.cmxa))
(plugins (byte bbb/bbb.cma) (native bbb/bbb.cmxs))
(native_archives bbb/bbb$ext_lib)
(requires (re_export pkg.ccc))
(main_module_name Bbb)
(modes byte native)
(modules
(singleton
(obj_name bbb)
(visibility public)
(source (path Bbb) (impl (path bbb/bbb.ml))))))
(library
(name pkg.ccc)
(kind normal)
(archives (byte ccc/ccc.cma) (native ccc/ccc.cmxa))
(plugins (byte ccc/ccc.cma) (native ccc/ccc.cmxs))
(native_archives ccc/ccc$ext_lib)
(main_module_name Ccc)
(modes byte native)
(modules
(singleton
(obj_name ccc)
(visibility public)
(source (path Ccc) (impl (path ccc/ccc.ml))))))