|
| 1 | +Demonstrate unused-libs issues with `(modes melange)` |
| 2 | + |
| 3 | + $ cat >dune-project <<EOF |
| 4 | + > (lang dune 3.21) |
| 5 | + > (using melange 1.0) |
| 6 | + > EOF |
| 7 | + |
| 8 | + $ cat > dune <<EOF |
| 9 | + > (library |
| 10 | + > (name used_lib) |
| 11 | + > (modes melange) |
| 12 | + > (modules used_lib)) |
| 13 | + > |
| 14 | + > (library |
| 15 | + > (name unused_lib) |
| 16 | + > (modes melange) |
| 17 | + > (modules unused_lib)) |
| 18 | + > |
| 19 | + > (library |
| 20 | + > (name unused_lib2) |
| 21 | + > (modes melange) |
| 22 | + > (modules unused_lib2)) |
| 23 | + > |
| 24 | + > (library |
| 25 | + > (name mylib) |
| 26 | + > (modules mylib) |
| 27 | + > (modes melange) |
| 28 | + > (libraries used_lib unused_lib unused_lib2)) |
| 29 | + > EOF |
| 30 | + |
| 31 | + $ cat > used_lib.ml <<EOF |
| 32 | + > let helper x = x + 1 |
| 33 | + > EOF |
| 34 | + |
| 35 | + $ cat > unused_lib.ml <<EOF |
| 36 | + > let unused_helper x = x * 2 |
| 37 | + > EOF |
| 38 | + |
| 39 | + $ cat > unused_lib2.ml <<EOF |
| 40 | + > let unused_helper x = x * 3 |
| 41 | + > EOF |
| 42 | + |
| 43 | + $ cat > mylib.ml <<EOF |
| 44 | + > let compute x = Used_lib.helper x |
| 45 | + > EOF |
| 46 | + |
| 47 | + $ dune build @unused-libs |
| 48 | + Error: No rule found for .mylib.objs/byte/mylib.cmi |
| 49 | + -> required by alias unused-libs in dune:16 |
| 50 | + Error: No rule found for .mylib.objs/byte/mylib.cmo |
| 51 | + -> required by alias unused-libs in dune:16 |
| 52 | + Error: No rule found for .unused_lib.objs/byte/unused_lib.cmi |
| 53 | + -> required by alias unused-libs in dune:6 |
| 54 | + Error: No rule found for .unused_lib.objs/byte/unused_lib.cmo |
| 55 | + -> required by alias unused-libs in dune:6 |
| 56 | + Error: No rule found for .unused_lib2.objs/byte/unused_lib2.cmi |
| 57 | + -> required by alias unused-libs in dune:11 |
| 58 | + Error: No rule found for .unused_lib2.objs/byte/unused_lib2.cmo |
| 59 | + -> required by alias unused-libs in dune:11 |
| 60 | + Error: No rule found for .used_lib.objs/byte/used_lib.cmi |
| 61 | + -> required by alias unused-libs in dune:1 |
| 62 | + Error: No rule found for .used_lib.objs/byte/used_lib.cmo |
| 63 | + -> required by alias unused-libs in dune:1 |
| 64 | + [1] |
| 65 | + |
0 commit comments