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,3 @@
(library
(name foo)
(libraries inter_lib a))

View file

@ -0,0 +1,3 @@
(library
(name inter_lib)
(libraries a))

View file

@ -0,0 +1,20 @@
Expected: The dependency "inter_lib" in ./dune file was printed, the "inter_lib" lib is already
an internal lib that declared in ./lib/dune file. The command "dune describe external-lib-deps"
print only the external libraries by dir.
$ dune describe external-lib-deps
(default
((library
((names (inter_lib))
(extensions ())
(package ())
(source_dir lib)
(external_deps ((a required)))
(internal_deps ())))
(library
((names (foo))
(extensions ())
(package ())
(source_dir .)
(external_deps ((a required)))
(internal_deps ((inter_lib required)))))))

View file

@ -0,0 +1,18 @@
(library
(name foo)
(modules :standard \ prog)
(libraries a________ b________ c________)
(preprocess (pps d________ e________ f________)))
(rule
(with-stdout-to file.ml
(echo %{lib-available:optional})))
(rule (with-stdout-to foo.ml (run prog)))
(executable
(name prog)
(modules prog)
(libraries h________ i________ j________))
(rule (with-stdout-to prog.ml (echo "")))

View file

@ -0,0 +1,2 @@
(lang dune 1.9)
(name foo)

View file

@ -0,0 +1,28 @@
Expected: To get all required and pps packages
$ dune describe external-lib-deps
(default
((library
((names (foo))
(extensions ())
(package ())
(source_dir .)
(external_deps
((a________ required)
(b________ required)
(c________ required)
(f________ required)
(e________ required)
(d________ required)))
(internal_deps ())))
(executables
((names (prog))
(extensions
(.bc .exe))
(package ())
(source_dir .)
(external_deps
((h________ required)
(i________ required)
(j________ required)))
(internal_deps ())))))

View file

@ -0,0 +1,32 @@
external library dependencies of a simple project
$ echo "(lang dune 2.3)" > dune-project
$ touch dummypkg.opam
$ cat >dune <<EOF
> (library
> (public_name dummypkg)
> (libraries base doesnotexist.foo))
> (test
> (package dummypkg)
> (name test)
> (libraries base))
> EOF
$ dune describe external-lib-deps
(default
((library
((names (dummypkg))
(extensions ())
(package (dummypkg))
(source_dir .)
(external_deps
((base required)
(doesnotexist.foo required)))
(internal_deps ())))
(tests
((names (test))
(extensions
(.bc .exe))
(package (dummypkg))
(source_dir .)
(external_deps ((base required)))
(internal_deps ())))))