This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
|
|
@ -0,0 +1,30 @@
|
|||
Using same melange.emit target in two contexts, where the stanzas are defined
|
||||
in the same dune file
|
||||
|
||||
$ cat > dune-project << EOF
|
||||
> (lang dune 3.13)
|
||||
> (using melange 0.1)
|
||||
> EOF
|
||||
|
||||
$ cat > dune-workspace << EOF
|
||||
> (lang dune 3.13)
|
||||
>
|
||||
> (context default)
|
||||
>
|
||||
> (context
|
||||
> (default
|
||||
> (name alt-context)))
|
||||
> EOF
|
||||
$ cat > dune << EOF
|
||||
> (melange.emit
|
||||
> (target foo)
|
||||
> (enabled_if (= %{context_name} "default")))
|
||||
> (melange.emit
|
||||
> (target foo)
|
||||
> (enabled_if (= %{context_name} "alt-context")))
|
||||
> EOF
|
||||
$ cat > foo.ml <<EOF
|
||||
> let () = print_endline "foo"
|
||||
> EOF
|
||||
|
||||
$ dune build
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
Using same melange.emit target in two contexts
|
||||
|
||||
$ mkdir -p a b
|
||||
$ cat > dune-project << EOF
|
||||
> (lang dune 3.13)
|
||||
> (using melange 0.1)
|
||||
> EOF
|
||||
|
||||
$ cat > dune-workspace << EOF
|
||||
> (lang dune 3.13)
|
||||
>
|
||||
> (context default)
|
||||
>
|
||||
> (context
|
||||
> (default
|
||||
> (name alt-context)))
|
||||
> EOF
|
||||
$ cat > a/dune << EOF
|
||||
> (melange.emit
|
||||
> (target foo)
|
||||
> (enabled_if (= %{context_name} "default")))
|
||||
> EOF
|
||||
$ cat > a/foo.ml <<EOF
|
||||
> let () = print_endline "foo"
|
||||
> EOF
|
||||
|
||||
$ cat > b/dune << EOF
|
||||
> (melange.emit
|
||||
> (target foo)
|
||||
> (enabled_if (= %{context_name} "alt-context")))
|
||||
> EOF
|
||||
$ cat > b/foo.ml <<EOF
|
||||
> let () = print_endline "foo"
|
||||
> EOF
|
||||
|
||||
$ dune build
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
Test installation for melange libraries in multiple contexts.
|
||||
The expectation is that libraries that don't collide (e.g. a melange and a
|
||||
native library) can be installed in the same context.
|
||||
|
||||
Create a package named foo
|
||||
|
||||
$ mkdir -p a b
|
||||
$ cat > dune-project << EOF
|
||||
> (lang dune 3.13)
|
||||
> (using melange 0.1)
|
||||
> (package (name foo))
|
||||
> EOF
|
||||
|
||||
Define libraries in multiple contexts
|
||||
|
||||
$ cat > dune-workspace << EOF
|
||||
> (lang dune 3.13)
|
||||
> (context default)
|
||||
> (context
|
||||
> (default
|
||||
> (name melange)))
|
||||
> EOF
|
||||
$ cat > a/dune << EOF
|
||||
> (library
|
||||
> (name foo)
|
||||
> (public_name foo.native)
|
||||
> (enabled_if (= %{context_name} "default")))
|
||||
> (library
|
||||
> (name foo)
|
||||
> (public_name foo.melange)
|
||||
> (modes melange)
|
||||
> (enabled_if (= %{context_name} "melange")))
|
||||
> EOF
|
||||
$ cat > a/foo.ml <<EOF
|
||||
> let () = print_endline "foo"
|
||||
> EOF
|
||||
|
||||
$ dune build
|
||||
|
||||
$ mkdir -p out/man
|
||||
|
||||
|
||||
Try installing both
|
||||
|
||||
$ dune install foo --prefix out
|
||||
Error: Cannot specify '--prefix' or '--libdir' when installing into multiple
|
||||
contexts!
|
||||
[1]
|
||||
Loading…
Add table
Add a link
Reference in a new issue