mte/unikernel/duniverse/dune_/test/blackbox-tests/test-cases/expand-make.t
2025-11-11 02:07:51 +01:00

41 lines
928 B
Raku

On Unix, dune should lookup gmake and followed by make.
Regression test for https://github.com/ocaml/dune/issues/5470
This needs special setup to have a PATH which does not contain a gmake binary,
in case the system PATH has one. Instead of prepending to PATH we create a bin/
subdirectory with links to all the executables dune needs.
$ mkdir make gmake bin
$ for prog in dune ocamlc sh; do
> ln -s $(which $prog) bin/;
> done
$ cat >make/make <<EOF
> #!/usr/bin/env sh
> echo make
> EOF
$ cat >gmake/gmake <<EOF
> #!/usr/bin/env sh
> echo gmake
> EOF
$ chmod +x make/make gmake/gmake
$ cat >dune-project <<EOF
> (lang dune 3.0)
> EOF
$ cat >dune <<EOF
> (data_only_dirs bin)
> (rule
> (alias make)
> (action (run %{make})))
> EOF
$ PATH="$PWD/make:$PWD/bin" dune build @make --force;
make
$ PATH="$PWD/gmake:$PWD/make:$PWD/bin" dune build @make --force
gmake