ocaml/ocamlbuild/test/good-output

1474 lines
70 KiB
Plaintext

_____ _ ____
|_ _|__ ___| |_|___ \
| |/ _ \/ __| __| __) |
| | __/\__ \ |_ / __/
|_|\___||___/\__|_____|
ocamldep.opt -modules toto.ml > toto.ml.depends
ocamldep.opt -modules tata.mli > tata.mli.depends
ocamldep.opt -modules titi.ml > titi.ml.depends
ocamldep.opt -modules tutu.mli > tutu.mli.depends
ocamlc.opt -c -o tata.cmi tata.mli
ocamlc.opt -c -o titi.cmo titi.ml
ocamlc.opt -c -o tutu.cmi tutu.mli
ocamlc.opt -c -o toto.cmo toto.ml
ocamldep.opt -modules tata.ml > tata.ml.depends
ocamldep.opt -modules tutu.ml > tutu.ml.depends
ocamldep.opt -modules tyty.mli > tyty.mli.depends
ocamldep.opt -pp camlp4o.opt -modules vivi.ml > vivi.ml.depends
ocamlc.opt -c -o tyty.cmi tyty.mli
ocamlc.opt -c -pp camlp4o.opt -o vivi.cmo vivi.ml
ocamlc.opt -c -o tata.cmo tata.ml
ocamlc.opt -c -o tutu.cmo tutu.ml
ocamlc.opt tata.cmo titi.cmo vivi.cmo tutu.cmo toto.cmo -o toto.byte
ocamlopt.opt -c -pp camlp4o.opt -o vivi.cmx vivi.ml
ocamlopt.opt -c -o tata.cmx tata.ml
ocamlopt.opt -c -o titi.cmx titi.ml
ocamlopt.opt -c -o tutu.cmx tutu.ml
ocamlopt.opt -c -o toto.cmx toto.ml
ocamlopt.opt tata.cmx titi.cmx vivi.cmx tutu.cmx toto.cmx -o toto.native
Warning: Using -- only run the last target
toto.native: /home/danmey/src/ocaml-trunk/ocamlbuild/test/test2/_build/toto.native: Hello world!!!
Tutu.tutu => 1
Tata.tata => "TATA2"
[cache hit] ocamldep.opt -modules toto.ml > toto.ml.depends
[cache hit] ocamldep.opt -modules tata.mli > tata.mli.depends
[cache hit] ocamlc.opt -c -o tata.cmi tata.mli
[cache hit] ocamldep.opt -modules titi.ml > titi.ml.depends
[cache hit] ocamlc.opt -c -o titi.cmo titi.ml
[cache hit] ocamldep.opt -modules tutu.mli > tutu.mli.depends
[cache hit] ocamlc.opt -c -o tutu.cmi tutu.mli
[cache hit] ocamlc.opt -c -o toto.cmo toto.ml
[cache hit] ocamldep.opt -modules tata.ml > tata.ml.depends
[cache hit] ocamlc.opt -c -o tata.cmo tata.ml
[cache hit] ocamldep.opt -modules tutu.ml > tutu.ml.depends
[cache hit] ocamldep.opt -modules tyty.mli > tyty.mli.depends
[cache hit] ocamlc.opt -c -o tyty.cmi tyty.mli
[cache hit] ocamldep.opt -pp camlp4o.opt -modules vivi.ml > vivi.ml.depends
[cache hit] ocamlc.opt -c -pp camlp4o.opt -o vivi.cmo vivi.ml
[cache hit] ocamlc.opt -c -o tutu.cmo tutu.ml
[cache hit] ocamlc.opt tata.cmo titi.cmo vivi.cmo tutu.cmo toto.cmo -o toto.byte
[cache hit] ocamlopt.opt -c -o tata.cmx tata.ml
[cache hit] ocamlopt.opt -c -o titi.cmx titi.ml
[cache hit] ocamlopt.opt -c -pp camlp4o.opt -o vivi.cmx vivi.ml
[cache hit] ocamlopt.opt -c -o tutu.cmx tutu.ml
[cache hit] ocamlopt.opt -c -o toto.cmx toto.ml
[cache hit] ocamlopt.opt tata.cmx titi.cmx vivi.cmx tutu.cmx toto.cmx -o toto.native
Warning: Using -- only run the last target
toto.native: /home/danmey/src/ocaml-trunk/ocamlbuild/test/test2/_build/toto.native: Hello world!!!
Tutu.tutu => 1
Tata.tata => "TATA2"
ocamldep.opt -pp camlp4o.opt -modules vivi.ml > vivi.ml.depends
ocamlc.opt -c -pp camlp4o.opt -o vivi.cmo vivi.ml
ocamlc.opt tata.cmo titi.cmo vivi.cmo tutu.cmo toto.cmo -o toto.byte
ocamlopt.opt -c -pp camlp4o.opt -o vivi.cmx vivi.ml
ocamlopt.opt tata.cmx titi.cmx vivi.cmx tutu.cmx toto.cmx -o toto.native
Warning: Using -- only run the last target
toto.native: /home/danmey/src/ocaml-trunk/ocamlbuild/test/test2/_build/toto.native: Hello world!!!
Tutu.tutu => 1
Tata.tata => "TATA2"
[cache hit] ocamldep.opt -modules toto.ml > toto.ml.depends
[cache hit] ocamldep.opt -modules tata.mli > tata.mli.depends
[cache hit] ocamlc.opt -c -o tata.cmi tata.mli
[cache hit] ocamldep.opt -modules titi.ml > titi.ml.depends
[cache hit] ocamlc.opt -c -o titi.cmo titi.ml
[cache hit] ocamldep.opt -modules tutu.mli > tutu.mli.depends
[cache hit] ocamlc.opt -c -o tutu.cmi tutu.mli
[cache hit] ocamlc.opt -c -o toto.cmo toto.ml
[cache hit] ocamldep.opt -modules tata.ml > tata.ml.depends
[cache hit] ocamlc.opt -c -o tata.cmo tata.ml
[cache hit] ocamldep.opt -modules tutu.ml > tutu.ml.depends
[cache hit] ocamldep.opt -modules tyty.mli > tyty.mli.depends
[cache hit] ocamlc.opt -c -o tyty.cmi tyty.mli
[cache hit] ocamldep.opt -pp camlp4o.opt -modules vivi.ml > vivi.ml.depends
[cache hit] ocamlc.opt -c -pp camlp4o.opt -o vivi.cmo vivi.ml
[cache hit] ocamlc.opt -c -o tutu.cmo tutu.ml
[cache hit] ocamlc.opt tata.cmo titi.cmo vivi.cmo tutu.cmo toto.cmo -o toto.byte
[cache hit] ocamlopt.opt -c -o tata.cmx tata.ml
[cache hit] ocamlopt.opt -c -o titi.cmx titi.ml
[cache hit] ocamlopt.opt -c -pp camlp4o.opt -o vivi.cmx vivi.ml
[cache hit] ocamlopt.opt -c -o tutu.cmx tutu.ml
[cache hit] ocamlopt.opt -c -o toto.cmx toto.ml
[cache hit] ocamlopt.opt tata.cmx titi.cmx vivi.cmx tutu.cmx toto.cmx -o toto.native
Warning: Using -- only run the last target
toto.native: /home/danmey/src/ocaml-trunk/ocamlbuild/test/test2/_build/toto.native: Hello world!!!
Tutu.tutu => 1
Tata.tata => "TATA2"
ocamldep.opt -pp camlp4o.opt -modules vivi.ml > vivi.ml.depends
ocamlc.opt -c -pp camlp4o.opt -o vivi.cmo vivi.ml
ocamlc.opt -c -o tutu.cmo tutu.ml
ocamlc.opt tata.cmo titi.cmo vivi.cmo tutu.cmo toto.cmo -o toto.byte
ocamlopt.opt -c -pp camlp4o.opt -o vivi.cmx vivi.ml
ocamlopt.opt -c -o tutu.cmx tutu.ml
ocamlopt.opt -c -o toto.cmx toto.ml
ocamlopt.opt tata.cmx titi.cmx vivi.cmx tutu.cmx toto.cmx -o toto.native
Warning: Using -- only run the last target
toto.native: /home/danmey/src/ocaml-trunk/ocamlbuild/test/test2/_build/toto.native: Hello world!!!
Tutu.tutu => 2
Tata.tata => "TATA2"
[cache hit] ocamldep.opt -modules toto.ml > toto.ml.depends
[cache hit] ocamldep.opt -modules tata.mli > tata.mli.depends
[cache hit] ocamlc.opt -c -o tata.cmi tata.mli
[cache hit] ocamldep.opt -modules titi.ml > titi.ml.depends
[cache hit] ocamlc.opt -c -o titi.cmo titi.ml
[cache hit] ocamldep.opt -modules tutu.mli > tutu.mli.depends
[cache hit] ocamlc.opt -c -o tutu.cmi tutu.mli
[cache hit] ocamlc.opt -c -o toto.cmo toto.ml
[cache hit] ocamldep.opt -modules tata.ml > tata.ml.depends
[cache hit] ocamlc.opt -c -o tata.cmo tata.ml
[cache hit] ocamldep.opt -modules tutu.ml > tutu.ml.depends
[cache hit] ocamldep.opt -modules tyty.mli > tyty.mli.depends
[cache hit] ocamlc.opt -c -o tyty.cmi tyty.mli
[cache hit] ocamldep.opt -pp camlp4o.opt -modules vivi.ml > vivi.ml.depends
[cache hit] ocamlc.opt -c -pp camlp4o.opt -o vivi.cmo vivi.ml
[cache hit] ocamlc.opt -c -o tutu.cmo tutu.ml
[cache hit] ocamlc.opt tata.cmo titi.cmo vivi.cmo tutu.cmo toto.cmo -o toto.byte
[cache hit] ocamlopt.opt -c -o tata.cmx tata.ml
[cache hit] ocamlopt.opt -c -o titi.cmx titi.ml
[cache hit] ocamlopt.opt -c -pp camlp4o.opt -o vivi.cmx vivi.ml
[cache hit] ocamlopt.opt -c -o tutu.cmx tutu.ml
[cache hit] ocamlopt.opt -c -o toto.cmx toto.ml
[cache hit] ocamlopt.opt tata.cmx titi.cmx vivi.cmx tutu.cmx toto.cmx -o toto.native
Warning: Using -- only run the last target
toto.native: /home/danmey/src/ocaml-trunk/ocamlbuild/test/test2/_build/toto.native: Hello world!!!
Tutu.tutu => 2
Tata.tata => "TATA2"
_____ _ _____
|_ _|__ ___| |_|___ /
| |/ _ \/ __| __| |_ \
| | __/\__ \ |_ ___) |
|_|\___||___/\__|____/
ocamldep.opt -modules a.mli > a.mli.depends
ocamlc.opt -c -o a.cmi a.mli
ocamldep.opt -modules a.ml > a.ml.depends
ocamldep.opt -modules b.mli > b.mli.depends
ocamlc.opt -c -o b.cmi b.mli
ocamlc.opt -c -o a.cmo a.ml
ocamldep.opt -modules b.ml > b.ml.depends
ocamldep.opt -modules c.mli > c.mli.depends
ocamlc.opt -c -o c.cmi c.mli
ocamlc.opt -c -o b.cmo b.ml
ocamldep.opt -modules c.ml > c.ml.depends
ocamldep.opt -modules d.mli > d.mli.depends
ocamlc.opt -c -o d.cmi d.mli
ocamlc.opt -c -o c.cmo c.ml
ocamldep.opt -modules d.ml > d.ml.depends
ocamldep.opt -modules e.mli > e.mli.depends
ocamlc.opt -c -o e.cmi e.mli
ocamlc.opt -c -o d.cmo d.ml
ocamldep.opt -modules e.ml > e.ml.depends
ocamldep.opt -modules f.mli > f.mli.depends
ocamlc.opt -c -o f.cmi f.mli
ocamlc.opt -c -o e.cmo e.ml
ocamldep.opt -modules f.ml > f.ml.depends
ocamlc.opt -c -o f.cmo f.ml
ocamlc.opt unix.cma f.cmo e.cmo d.cmo c.cmo b.cmo a.cmo -o a.byte
ocamlopt.opt -c -o f.cmx f.ml
ocamlopt.opt -c -o e.cmx e.ml
ocamlopt.opt -c -o d.cmx d.ml
ocamlopt.opt -c -o c.cmx c.ml
ocamlopt.opt -c -o b.cmx b.ml
ocamlopt.opt -c -o a.cmx a.ml
ocamlopt.opt unix.cmxa f.cmx e.cmx d.cmx c.cmx b.cmx a.cmx -o a.native
ocamldoc.opt -dump a.odoc a.mli
ocamldoc.opt -dump b.odoc b.mli
ocamldoc.opt -dump c.odoc c.mli
ocamldoc.opt -dump d.odoc d.mli
ocamldoc.opt -dump e.odoc e.mli
ocamldoc.opt -dump f.odoc f.mli
rm -rf proj.docdir
mkdir -p proj.docdir
ocamldoc.opt -load a.odoc -load b.odoc -load c.odoc -load d.odoc -load e.odoc -load f.odoc -html -d proj.docdir
[cache hit] ocamldep.opt -modules a.mli > a.mli.depends
[cache hit] ocamlc.opt -c -o a.cmi a.mli
[cache hit] ocamldep.opt -modules a.ml > a.ml.depends
[cache hit] ocamldep.opt -modules b.mli > b.mli.depends
[cache hit] ocamlc.opt -c -o b.cmi b.mli
[cache hit] ocamlc.opt -c -o a.cmo a.ml
[cache hit] ocamldep.opt -modules b.ml > b.ml.depends
[cache hit] ocamldep.opt -modules c.mli > c.mli.depends
[cache hit] ocamlc.opt -c -o c.cmi c.mli
[cache hit] ocamlc.opt -c -o b.cmo b.ml
[cache hit] ocamldep.opt -modules c.ml > c.ml.depends
[cache hit] ocamldep.opt -modules d.mli > d.mli.depends
[cache hit] ocamlc.opt -c -o d.cmi d.mli
[cache hit] ocamlc.opt -c -o c.cmo c.ml
[cache hit] ocamldep.opt -modules d.ml > d.ml.depends
[cache hit] ocamldep.opt -modules e.mli > e.mli.depends
[cache hit] ocamlc.opt -c -o e.cmi e.mli
[cache hit] ocamlc.opt -c -o d.cmo d.ml
[cache hit] ocamldep.opt -modules e.ml > e.ml.depends
[cache hit] ocamldep.opt -modules f.mli > f.mli.depends
[cache hit] ocamlc.opt -c -o f.cmi f.mli
[cache hit] ocamlc.opt -c -o e.cmo e.ml
[cache hit] ocamldep.opt -modules f.ml > f.ml.depends
[cache hit] ocamlc.opt -c -o f.cmo f.ml
[cache hit] ocamlc.opt unix.cma f.cmo e.cmo d.cmo c.cmo b.cmo a.cmo -o a.byte
[cache hit] ocamlopt.opt -c -o f.cmx f.ml
[cache hit] ocamlopt.opt -c -o e.cmx e.ml
[cache hit] ocamlopt.opt -c -o d.cmx d.ml
[cache hit] ocamlopt.opt -c -o c.cmx c.ml
[cache hit] ocamlopt.opt -c -o b.cmx b.ml
[cache hit] ocamlopt.opt -c -o a.cmx a.ml
[cache hit] ocamlopt.opt unix.cmxa f.cmx e.cmx d.cmx c.cmx b.cmx a.cmx -o a.native
[cache hit] ocamldoc.opt -dump a.odoc a.mli
[cache hit] ocamldoc.opt -dump b.odoc b.mli
[cache hit] ocamldoc.opt -dump c.odoc c.mli
[cache hit] ocamldoc.opt -dump d.odoc d.mli
[cache hit] ocamldoc.opt -dump e.odoc e.mli
[cache hit] ocamldoc.opt -dump f.odoc f.mli
[cache hit] rm -rf proj.docdir
[cache hit] mkdir -p proj.docdir
[cache hit] ocamldoc.opt -load a.odoc -load b.odoc -load c.odoc -load d.odoc -load e.odoc -load f.odoc -html -d proj.docdir
_____ _ _ _
|_ _|__ ___| |_| || |
| |/ _ \/ __| __| || |_
| | __/\__ \ |_|__ _|
|_|\___||___/\__| |_|
aa.mli.depends
aa.mli
aa.ml.depends
bb.ml.depends
bb.ml
aa.ml
aa.byte
bb.ml
aa.ml
aa.native
[cache hit] aa.mli.depends
[cache hit] aa.mli
[cache hit] aa.ml.depends
[cache hit] bb.ml.depends
[cache hit] bb.ml
[cache hit] aa.ml
[cache hit] aa.byte
[cache hit] bb.ml
[cache hit] aa.ml
[cache hit] aa.native
_____ _ ____
|_ _|__ ___| |_| ___|
| |/ _ \/ __| __|___ \
| | __/\__ \ |_ ___) |
|_|\___||___/\__|____/
ocamldep.opt -modules d.ml > d.ml.depends
ocamldep.opt -modules a.mli > a.mli.depends
ocamlc.opt -c -o a.cmi a.mli
ocamldep.opt -modules a.ml > a.ml.depends
ocamldep.opt -modules stack.ml > stack.ml.depends
ocamlc.opt -c -o stack.cmo stack.ml
ocamldep.opt -modules b.ml > b.ml.depends
ocamlc.opt -c -o a.cmo a.ml
ocamlc.opt -c -o b.cmo b.ml
ocamlc.opt -pack a.cmo b.cmo -o c.cmo
ocamlc.opt -c -o d.cmo d.ml
ocamlc.opt stack.cmo c.cmo d.cmo -o d.byte
+ /home/danmey/src/ocaml-trunk/bin/ocamlc.opt stack.cmo c.cmo d.cmo -o d.byte
File "stack.cmo", line 1:
Warning 31: files stack.cmo and /home/danmey/src/ocaml-trunk/lib/ocaml/stdlib.cma(Stack) both define a module named Stack
ocamlopt.opt -c -o stack.cmx stack.ml
ocamlopt.opt -c -for-pack C -o a.cmx a.ml
ocamlopt.opt -c -for-pack C -o b.cmx b.ml
ocamlopt.opt -pack a.cmx b.cmx -o c.cmx ; then rm -f c.mli ; else rm -f c.mli ; exit 1; fi
ocamlopt.opt -c -o d.cmx d.ml
ocamlopt.opt stack.cmx c.cmx d.cmx -o d.native
[cache hit] ocamldep.opt -modules d.ml > d.ml.depends
[cache hit] ocamldep.opt -modules a.mli > a.mli.depends
[cache hit] ocamlc.opt -c -o a.cmi a.mli
[cache hit] ocamldep.opt -modules a.ml > a.ml.depends
[cache hit] ocamldep.opt -modules stack.ml > stack.ml.depends
[cache hit] ocamlc.opt -c -o stack.cmo stack.ml
[cache hit] ocamlc.opt -c -o a.cmo a.ml
[cache hit] ocamldep.opt -modules b.ml > b.ml.depends
[cache hit] ocamlc.opt -c -o b.cmo b.ml
[cache hit] ocamlc.opt -pack a.cmo b.cmo -o c.cmo
[cache hit] ocamlc.opt -c -o d.cmo d.ml
[cache hit] ocamlc.opt stack.cmo c.cmo d.cmo -o d.byte
[cache hit] ocamlopt.opt -c -o stack.cmx stack.ml
[cache hit] ocamlopt.opt -c -for-pack C -o a.cmx a.ml
[cache hit] ocamlopt.opt -c -for-pack C -o b.cmx b.ml
[cache hit] ocamlopt.opt -pack a.cmx b.cmx -o c.cmx ; then rm -f c.mli ; else rm -f c.mli ; exit 1; fi
[cache hit] ocamlopt.opt -c -o d.cmx d.ml
[cache hit] ocamlopt.opt stack.cmx c.cmx d.cmx -o d.native
_____ _ __
|_ _|__ ___| |_ / /_
| |/ _ \/ __| __| '_ \
| | __/\__ \ |_| (_) |
|_|\___||___/\__|\___/
ocamldep.opt -modules main.mli > main.mli.depends
ocamlc.opt -c -o main.cmi main.mli
ocamldep.opt -modules main.ml > main.ml.depends
ocamldep.opt -modules a.mli > a.mli.depends
ocamldep.opt -modules d.mli > d.mli.depends
ocamlc.opt -c -o a.cmi a.mli
ocamlc.opt -c -o d.cmi d.mli
ocamlc.opt -c -o main.cmo main.ml
ocamldep.opt -modules a.ml > a.ml.depends
ocamldep.opt -modules b.mli > b.mli.depends
ocamlc.opt -c -o b.cmi b.mli
ocamldep.opt -modules d.ml > d.ml.depends
ocamlc.opt -c -o a.cmo a.ml
ocamlc.opt -c -o d.cmo d.ml
ocamldep.opt -modules b.ml > b.ml.depends
ocamlc.opt -c -o b.cmo b.ml
ocamlc.opt d.cmo b.cmo a.cmo main.cmo -o main.byte
[cache hit] ocamldep.opt -modules main.mli > main.mli.depends
[cache hit] ocamlc.opt -c -o main.cmi main.mli
[cache hit] ocamldep.opt -modules main.ml > main.ml.depends
[cache hit] ocamldep.opt -modules a.mli > a.mli.depends
[cache hit] ocamlc.opt -c -o a.cmi a.mli
[cache hit] ocamldep.opt -modules d.mli > d.mli.depends
[cache hit] ocamlc.opt -c -o d.cmi d.mli
[cache hit] ocamlc.opt -c -o main.cmo main.ml
[cache hit] ocamldep.opt -modules a.ml > a.ml.depends
[cache hit] ocamldep.opt -modules b.mli > b.mli.depends
[cache hit] ocamlc.opt -c -o b.cmi b.mli
[cache hit] ocamlc.opt -c -o a.cmo a.ml
[cache hit] ocamldep.opt -modules d.ml > d.ml.depends
[cache hit] ocamlc.opt -c -o d.cmo d.ml
[cache hit] ocamldep.opt -modules b.ml > b.ml.depends
[cache hit] ocamlc.opt -c -o b.cmo b.ml
[cache hit] ocamlc.opt d.cmo b.cmo a.cmo main.cmo -o main.byte
ocamldep.opt -modules d.mli > d.mli.depends
ocamlc.opt -c -o d.cmi d.mli
ocamlc.opt -c -o main.cmo main.ml
ocamldep.opt -modules b.mli > b.mli.depends
+ /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules b.mli > b.mli.depends
File "b.mli", line 13, characters 0-2:
Error: Syntax error
Command exited with code 2.
ocamldep.opt -modules b.mli > b.mli.depends
ocamlc.opt -c -o b.cmi b.mli
ocamlc.opt -c -o d.cmo d.ml
ocamlc.opt -c -o b.cmo b.ml
ocamlc.opt d.cmo b.cmo a.cmo main.cmo -o main.byte
[cache hit] ocamldep.opt -modules main.mli > main.mli.depends
[cache hit] ocamlc.opt -c -o main.cmi main.mli
[cache hit] ocamldep.opt -modules main.ml > main.ml.depends
[cache hit] ocamldep.opt -modules a.mli > a.mli.depends
[cache hit] ocamlc.opt -c -o a.cmi a.mli
[cache hit] ocamldep.opt -modules d.mli > d.mli.depends
[cache hit] ocamlc.opt -c -o d.cmi d.mli
[cache hit] ocamlc.opt -c -o main.cmo main.ml
[cache hit] ocamldep.opt -modules a.ml > a.ml.depends
[cache hit] ocamldep.opt -modules b.mli > b.mli.depends
[cache hit] ocamlc.opt -c -o b.cmi b.mli
[cache hit] ocamlc.opt -c -o a.cmo a.ml
[cache hit] ocamldep.opt -modules d.ml > d.ml.depends
[cache hit] ocamlc.opt -c -o d.cmo d.ml
[cache hit] ocamldep.opt -modules b.ml > b.ml.depends
[cache hit] ocamlc.opt -c -o b.cmo b.ml
[cache hit] ocamlc.opt d.cmo b.cmo a.cmo main.cmo -o main.byte
PASS
_____ _ _____
|_ _|__ ___| ||___ |
| |/ _ \/ __| __| / /
| | __/\__ \ |_ / /
|_|\___||___/\__/_/
ocamlbuild.cmx -o myocamlbuild
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.mli > bb.mli.depends
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmi bb.mli
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.ml > bb.ml.depends
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cc.ml > cc.ml.depends
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules aa.ml > aa.ml.depends
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.mli > c2.mli.depends
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o aa.cmo aa.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmi c2.mli
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmo bb.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cc.cmo cc.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules main.ml > main.ml.depends
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c3.ml > c3.ml.depends
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c3.cmo c3.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o main.cmo main.ml
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.ml > c2.ml.depends
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmo c2.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o bb.cmx bb.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o aa.cmx aa.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c2.cmx c2.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o cc.cmx cc.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c3.cmx c3.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o main.cmx main.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.mli > bb.mli.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmi bb.mli
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.ml > bb.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmo bb.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cc.ml > cc.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules aa.ml > aa.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o aa.cmo aa.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.mli > c2.mli.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmi c2.mli
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cc.cmo cc.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules main.ml > main.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c3.ml > c3.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c3.cmo c3.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o main.cmo main.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.ml > c2.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmo c2.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o bb.cmx bb.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o aa.cmx aa.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c2.cmx c2.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o cc.cmx cc.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c3.cmx c3.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o main.cmx main.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.mli > bb.mli.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmi bb.mli
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.ml > bb.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cc.ml > cc.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules aa.ml > aa.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o aa.cmo aa.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.mli > c2.mli.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmi c2.mli
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cc.cmo cc.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmo bb.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules main.ml > main.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c3.ml > c3.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c3.cmo c3.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o main.cmo main.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.ml > c2.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmo c2.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o aa.cmx aa.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o bb.cmx bb.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c2.cmx c2.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o cc.cmx cc.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c3.cmx c3.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o main.cmx main.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.mli > bb.mli.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmi bb.mli
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.ml > bb.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmo bb.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cc.ml > cc.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules aa.ml > aa.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o aa.cmo aa.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.mli > c2.mli.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmi c2.mli
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cc.cmo cc.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules main.ml > main.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c3.ml > c3.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c3.cmo c3.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o main.cmo main.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.ml > c2.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmo c2.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o bb.cmx bb.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o aa.cmx aa.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c2.cmx c2.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o cc.cmx cc.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c3.cmx c3.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o main.cmx main.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.mli > bb.mli.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmi bb.mli
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.ml > bb.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cc.ml > cc.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules aa.ml > aa.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o aa.cmo aa.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.mli > c2.mli.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmi c2.mli
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cc.cmo cc.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmo bb.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules main.ml > main.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c3.ml > c3.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c3.cmo c3.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o main.cmo main.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.ml > c2.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmo c2.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o aa.cmx aa.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o bb.cmx bb.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c2.cmx c2.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o cc.cmx cc.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c3.cmx c3.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o main.cmx main.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.mli > bb.mli.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmi bb.mli
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules bb.ml > bb.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o bb.cmo bb.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cc.ml > cc.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules aa.ml > aa.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o aa.cmo aa.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.mli > c2.mli.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmi c2.mli
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cc.cmo cc.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules main.ml > main.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c3.ml > c3.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c3.cmo c3.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o main.cmo main.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules c2.ml > c2.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o c2.cmo c2.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o bb.cmx bb.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o aa.cmx aa.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c2.cmx c2.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o cc.cmx cc.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o c3.cmx c3.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o main.cmx main.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native
_____ _ ___
|_ _|__ ___| |_( _ )
| |/ _ \/ __| __/ _ \
| | __/\__ \ || (_) |
|_|\___||___/\__\___/
ocamlbuild.cmx -o myocamlbuild
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules a.ml > a.ml.depends
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules myconfig.ml > myconfig.ml.depends
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o myconfig.cmo myconfig.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o a.cmo a.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt myconfig.cmo a.cmo -o a.byte
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o myconfig.cmx myconfig.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o a.cmx a.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt myconfig.cmx a.cmx -o a.native
cp -p a.byte a
cp -p a.native a.opt
cp -p a.byte bin/a.byte
cp -p bin/a.byte bin/a
cp -p a.native bin/a.native
cp -p bin/a.native bin/a.opt
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules a.ml > a.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules myconfig.ml > myconfig.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o myconfig.cmo myconfig.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -o a.cmo a.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt myconfig.cmo a.cmo -o a.byte
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o myconfig.cmx myconfig.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -o a.cmx a.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt myconfig.cmx a.cmx -o a.native
[cache hit] cp -p a.byte a
[cache hit] cp -p a.native a.opt
[cache hit] cp -p a.byte bin/a.byte
[cache hit] cp -p bin/a.byte bin/a
[cache hit] cp -p a.native bin/a.native
[cache hit] cp -p bin/a.native bin/a.opt
_____ _ ___
|_ _|__ ___| |_ / _ \
| |/ _ \/ __| __| (_) |
| | __/\__ \ |_ \__, |
|_|\___||___/\__| /_/
Globexp for "\"hello\"" OK
Globexp for "<hello>" OK
Globexp for "<hel*lo>" OK
Globexp for "<a> and <b> or <c>" OK
Globexp for "<a> titi" OK
Glob.eval "<[a]>" "a" = true OK
Glob.eval "<[a]>" "b" = false OK
Glob.eval "<[a]>" "a" = true OK
Glob.eval "<[a]>" "b" = false OK
Glob.eval "<[a]>" "a" = true OK
Glob.eval "<[a]>" "b" = false OK
Glob.eval "<[a-z]>" "a" = true OK
Glob.eval "<[a-z]>" "e" = true OK
Glob.eval "<[a-z]>" "k" = true OK
Glob.eval "<[a-z]>" "z" = true OK
Glob.eval "<[a-z]>" "0" = false OK
Glob.eval "<[a-z]>" "A" = false OK
Glob.eval "<[a-z]>" "~" = false OK
Glob.eval "<[a-z]>" "a" = true OK
Glob.eval "<[a-z]>" "e" = true OK
Glob.eval "<[a-z]>" "k" = true OK
Glob.eval "<[a-z]>" "z" = true OK
Glob.eval "<[a-z]>" "0" = false OK
Glob.eval "<[a-z]>" "A" = false OK
Glob.eval "<[a-z]>" "~" = false OK
Glob.eval "<[a-z]>" "a" = true OK
Glob.eval "<[a-z]>" "e" = true OK
Glob.eval "<[a-z]>" "k" = true OK
Glob.eval "<[a-z]>" "z" = true OK
Glob.eval "<[a-z]>" "0" = false OK
Glob.eval "<[a-z]>" "A" = false OK
Glob.eval "<[a-z]>" "~" = false OK
Glob.eval "<[a-z][0-9]>" "a0" = true OK
Glob.eval "<[a-z][0-9]>" "b9" = true OK
Glob.eval "<[a-z][0-9]>" "a00" = false OK
Glob.eval "<[a-z][0-9]>" "a0a" = false OK
Glob.eval "<[a-z][0-9]>" "b0a" = false OK
Glob.eval "<[a-z][0-9]>" "isduis" = false OK
Glob.eval "<[a-z][0-9]>" "" = false OK
Glob.eval "<[a-z][0-9]>" "a0" = true OK
Glob.eval "<[a-z][0-9]>" "b9" = true OK
Glob.eval "<[a-z][0-9]>" "a00" = false OK
Glob.eval "<[a-z][0-9]>" "a0a" = false OK
Glob.eval "<[a-z][0-9]>" "b0a" = false OK
Glob.eval "<[a-z][0-9]>" "isduis" = false OK
Glob.eval "<[a-z][0-9]>" "" = false OK
Glob.eval "<[a-z][0-9]>" "a0" = true OK
Glob.eval "<[a-z][0-9]>" "b9" = true OK
Glob.eval "<[a-z][0-9]>" "a00" = false OK
Glob.eval "<[a-z][0-9]>" "a0a" = false OK
Glob.eval "<[a-z][0-9]>" "b0a" = false OK
Glob.eval "<[a-z][0-9]>" "isduis" = false OK
Glob.eval "<[a-z][0-9]>" "" = false OK
Glob.eval "<hello>" "hello" = true OK
Glob.eval "<hello>" "helli" = false OK
Glob.eval "<hello>" "hello" = true OK
Glob.eval "<hello>" "helli" = false OK
Glob.eval "<hello>" "hello" = true OK
Glob.eval "<hello>" "helli" = false OK
Glob.eval "\"hello\"" "hello" = true OK
Glob.eval "\"hello\"" "heidi" = false OK
Glob.eval "\"hello\"" "hello" = true OK
Glob.eval "\"hello\"" "heidi" = false OK
Glob.eval "\"hello\"" "hello" = true OK
Glob.eval "\"hello\"" "heidi" = false OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "ax" = true OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "ax" = true OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "ax" = true OK
Glob.eval "<a*b>" "ab" = true OK
Glob.eval "<a*b>" "acb" = true OK
Glob.eval "<a*b>" "axxxxxb" = true OK
Glob.eval "<a*b>" "ababbababb" = true OK
Glob.eval "<a*b>" "abx" = false OK
Glob.eval "<a*b>" "xxxxxab" = false OK
Glob.eval "<a*b>" "xab" = false OK
Glob.eval "<a*b>" "ab" = true OK
Glob.eval "<a*b>" "acb" = true OK
Glob.eval "<a*b>" "axxxxxb" = true OK
Glob.eval "<a*b>" "ababbababb" = true OK
Glob.eval "<a*b>" "abx" = false OK
Glob.eval "<a*b>" "xxxxxab" = false OK
Glob.eval "<a*b>" "xab" = false OK
Glob.eval "<a*b>" "ab" = true OK
Glob.eval "<a*b>" "acb" = true OK
Glob.eval "<a*b>" "axxxxxb" = true OK
Glob.eval "<a*b>" "ababbababb" = true OK
Glob.eval "<a*b>" "abx" = false OK
Glob.eval "<a*b>" "xxxxxab" = false OK
Glob.eval "<a*b>" "xab" = false OK
Glob.eval "<*.ml>" "hello.ml" = true OK
Glob.eval "<*.ml>" ".ml" = true OK
Glob.eval "<*.ml>" "ml" = false OK
Glob.eval "<*.ml>" "" = false OK
Glob.eval "<*.ml>" "toto.mli" = false OK
Glob.eval "<*.ml>" "hello.ml" = true OK
Glob.eval "<*.ml>" ".ml" = true OK
Glob.eval "<*.ml>" "ml" = false OK
Glob.eval "<*.ml>" "" = false OK
Glob.eval "<*.ml>" "toto.mli" = false OK
Glob.eval "<*.ml>" "hello.ml" = true OK
Glob.eval "<*.ml>" ".ml" = true OK
Glob.eval "<*.ml>" "ml" = false OK
Glob.eval "<*.ml>" "" = false OK
Glob.eval "<*.ml>" "toto.mli" = false OK
Glob.eval "<a>" "a" = true OK
Glob.eval "<a>" "" = false OK
Glob.eval "<a>" "aa" = false OK
Glob.eval "<a>" "ba" = false OK
Glob.eval "<a>" "ab" = false OK
Glob.eval "<a>" "abaa" = false OK
Glob.eval "<a>" "a" = true OK
Glob.eval "<a>" "" = false OK
Glob.eval "<a>" "aa" = false OK
Glob.eval "<a>" "ba" = false OK
Glob.eval "<a>" "ab" = false OK
Glob.eval "<a>" "abaa" = false OK
Glob.eval "<a>" "a" = true OK
Glob.eval "<a>" "" = false OK
Glob.eval "<a>" "aa" = false OK
Glob.eval "<a>" "ba" = false OK
Glob.eval "<a>" "ab" = false OK
Glob.eval "<a>" "abaa" = false OK
Glob.eval "<ab>" "ab" = true OK
Glob.eval "<ab>" "" = false OK
Glob.eval "<ab>" "abab" = false OK
Glob.eval "<ab>" "aba" = false OK
Glob.eval "<ab>" "abx" = false OK
Glob.eval "<ab>" "ab" = true OK
Glob.eval "<ab>" "" = false OK
Glob.eval "<ab>" "abab" = false OK
Glob.eval "<ab>" "aba" = false OK
Glob.eval "<ab>" "abx" = false OK
Glob.eval "<ab>" "ab" = true OK
Glob.eval "<ab>" "" = false OK
Glob.eval "<ab>" "abab" = false OK
Glob.eval "<ab>" "aba" = false OK
Glob.eval "<ab>" "abx" = false OK
Glob.eval "<ab?c>" "abac" = true OK
Glob.eval "<ab?c>" "abxc" = true OK
Glob.eval "<ab?c>" "abab" = false OK
Glob.eval "<ab?c>" "ababab" = false OK
Glob.eval "<ab?c>" "ababa" = false OK
Glob.eval "<ab?c>" "abac" = true OK
Glob.eval "<ab?c>" "abxc" = true OK
Glob.eval "<ab?c>" "abab" = false OK
Glob.eval "<ab?c>" "ababab" = false OK
Glob.eval "<ab?c>" "ababa" = false OK
Glob.eval "<ab?c>" "abac" = true OK
Glob.eval "<ab?c>" "abxc" = true OK
Glob.eval "<ab?c>" "abab" = false OK
Glob.eval "<ab?c>" "ababab" = false OK
Glob.eval "<ab?c>" "ababa" = false OK
Glob.eval "<*ab?cd*>" "123abecd345" = true OK
Glob.eval "<*ab?cd*>" "abccd" = true OK
Glob.eval "<*ab?cd*>" "abccd345" = true OK
Glob.eval "<*ab?cd*>" "ababcababccdab" = true OK
Glob.eval "<*ab?cd*>" "abcd" = false OK
Glob.eval "<*ab?cd*>" "aaaaabcdababcd" = false OK
Glob.eval "<*ab?cd*>" "123abecd345" = true OK
Glob.eval "<*ab?cd*>" "abccd" = true OK
Glob.eval "<*ab?cd*>" "abccd345" = true OK
Glob.eval "<*ab?cd*>" "ababcababccdab" = true OK
Glob.eval "<*ab?cd*>" "abcd" = false OK
Glob.eval "<*ab?cd*>" "aaaaabcdababcd" = false OK
Glob.eval "<*ab?cd*>" "123abecd345" = true OK
Glob.eval "<*ab?cd*>" "abccd" = true OK
Glob.eval "<*ab?cd*>" "abccd345" = true OK
Glob.eval "<*ab?cd*>" "ababcababccdab" = true OK
Glob.eval "<*ab?cd*>" "abcd" = false OK
Glob.eval "<*ab?cd*>" "aaaaabcdababcd" = false OK
Glob.eval "<*this*is*a*test*>" "this is a test" = true OK
Glob.eval "<*this*is*a*test*>" "You know this is a test really" = true OK
Glob.eval "<*this*is*a*test*>" "thisisatest" = true OK
Glob.eval "<*this*is*a*test*>" "thisatest" = false OK
Glob.eval "<*this*is*a*test*>" "this is a test" = true OK
Glob.eval "<*this*is*a*test*>" "You know this is a test really" = true OK
Glob.eval "<*this*is*a*test*>" "thisisatest" = true OK
Glob.eval "<*this*is*a*test*>" "thisatest" = false OK
Glob.eval "<*this*is*a*test*>" "this is a test" = true OK
Glob.eval "<*this*is*a*test*>" "You know this is a test really" = true OK
Glob.eval "<*this*is*a*test*>" "thisisatest" = true OK
Glob.eval "<*this*is*a*test*>" "thisatest" = false OK
Glob.eval "<b*>" "bxx" = true OK
Glob.eval "<b*>" "bx" = true OK
Glob.eval "<b*>" "aaab" = false OK
Glob.eval "<b*>" "" = false OK
Glob.eval "<b*>" "bxx" = true OK
Glob.eval "<b*>" "bx" = true OK
Glob.eval "<b*>" "aaab" = false OK
Glob.eval "<b*>" "" = false OK
Glob.eval "<b*>" "bxx" = true OK
Glob.eval "<b*>" "bx" = true OK
Glob.eval "<b*>" "aaab" = false OK
Glob.eval "<b*>" "" = false OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "aaa" = true OK
Glob.eval "<*>" "aaaaa" = true OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "aaa" = true OK
Glob.eval "<*>" "aaaaa" = true OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "aaa" = true OK
Glob.eval "<*>" "aaaaa" = true OK
Glob.eval "<?>" "a" = true OK
Glob.eval "<?>" "" = false OK
Glob.eval "<?>" "aaa" = false OK
Glob.eval "<?>" "aaaaa" = false OK
Glob.eval "<?>" "a" = true OK
Glob.eval "<?>" "" = false OK
Glob.eval "<?>" "aaa" = false OK
Glob.eval "<?>" "aaaaa" = false OK
Glob.eval "<?>" "a" = true OK
Glob.eval "<?>" "" = false OK
Glob.eval "<?>" "aaa" = false OK
Glob.eval "<?>" "aaaaa" = false OK
Glob.eval "<{a,b}>" "a" = true OK
Glob.eval "<{a,b}>" "b" = true OK
Glob.eval "<{a,b}>" "" = false OK
Glob.eval "<{a,b}>" "aa" = false OK
Glob.eval "<{a,b}>" "ab" = false OK
Glob.eval "<{a,b}>" "ba" = false OK
Glob.eval "<{a,b}>" "bb" = false OK
Glob.eval "<{a,b}>" "c" = false OK
Glob.eval "<{a,b}>" "a" = true OK
Glob.eval "<{a,b}>" "b" = true OK
Glob.eval "<{a,b}>" "" = false OK
Glob.eval "<{a,b}>" "aa" = false OK
Glob.eval "<{a,b}>" "ab" = false OK
Glob.eval "<{a,b}>" "ba" = false OK
Glob.eval "<{a,b}>" "bb" = false OK
Glob.eval "<{a,b}>" "c" = false OK
Glob.eval "<{a,b}>" "a" = true OK
Glob.eval "<{a,b}>" "b" = true OK
Glob.eval "<{a,b}>" "" = false OK
Glob.eval "<{a,b}>" "aa" = false OK
Glob.eval "<{a,b}>" "ab" = false OK
Glob.eval "<{a,b}>" "ba" = false OK
Glob.eval "<{a,b}>" "bb" = false OK
Glob.eval "<{a,b}>" "c" = false OK
Glob.eval "<toto.{ml,mli}>" "toto.ml" = true OK
Glob.eval "<toto.{ml,mli}>" "toto.mli" = true OK
Glob.eval "<toto.{ml,mli}>" "toto." = false OK
Glob.eval "<toto.{ml,mli}>" "toto.mll" = false OK
Glob.eval "<toto.{ml,mli}>" "toto.ml" = true OK
Glob.eval "<toto.{ml,mli}>" "toto.mli" = true OK
Glob.eval "<toto.{ml,mli}>" "toto." = false OK
Glob.eval "<toto.{ml,mli}>" "toto.mll" = false OK
Glob.eval "<toto.{ml,mli}>" "toto.ml" = true OK
Glob.eval "<toto.{ml,mli}>" "toto.mli" = true OK
Glob.eval "<toto.{ml,mli}>" "toto." = false OK
Glob.eval "<toto.{ml,mli}>" "toto.mll" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aeg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "beg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "afg" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "af" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aee" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aeg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "beg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "afg" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "af" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aee" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aeg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "beg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "afg" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "af" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aee" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "b.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "hello.ml" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli.x" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "b.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "hello.ml" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli.x" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "b.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "hello.ml" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli.x" = false OK
Glob.eval "<*>" "alpha" = true OK
Glob.eval "<*>" "beta" = true OK
Glob.eval "<*>" "alpha/beta" = false OK
Glob.eval "<*>" "gamma/delta" = false OK
Glob.eval "<*>" "alpha" = true OK
Glob.eval "<*>" "beta" = true OK
Glob.eval "<*>" "alpha/beta" = false OK
Glob.eval "<*>" "gamma/delta" = false OK
Glob.eval "<*>" "alpha" = true OK
Glob.eval "<*>" "beta" = true OK
Glob.eval "<*>" "alpha/beta" = false OK
Glob.eval "<*>" "gamma/delta" = false OK
Glob.eval "<alpha/**/beta>" "alpha/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/delta/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha" = false OK
Glob.eval "<alpha/**/beta>" "beta" = false OK
Glob.eval "<alpha/**/beta>" "gamma/delta" = false OK
Glob.eval "<alpha/**/beta>" "alpha/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/delta/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha" = false OK
Glob.eval "<alpha/**/beta>" "beta" = false OK
Glob.eval "<alpha/**/beta>" "gamma/delta" = false OK
Glob.eval "<alpha/**/beta>" "alpha/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/delta/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha" = false OK
Glob.eval "<alpha/**/beta>" "beta" = false OK
Glob.eval "<alpha/**/beta>" "gamma/delta" = false OK
Glob.eval "<**/*.ml>" "toto.ml" = true OK
Glob.eval "<**/*.ml>" "toto/tata.ml" = true OK
Glob.eval "<**/*.ml>" "alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<**/*.ml>" "toto.mli" = false OK
Glob.eval "<**/*.ml>" "toto.ml" = true OK
Glob.eval "<**/*.ml>" "toto/tata.ml" = true OK
Glob.eval "<**/*.ml>" "alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<**/*.ml>" "toto.mli" = false OK
Glob.eval "<**/*.ml>" "toto.ml" = true OK
Glob.eval "<**/*.ml>" "toto/tata.ml" = true OK
Glob.eval "<**/*.ml>" "alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<**/*.ml>" "toto.mli" = false OK
Glob.eval "<toto/**>" "toto/" = true OK
Glob.eval "<toto/**>" "toto/tata" = true OK
Glob.eval "<toto/**>" "toto/alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<toto/**>" "toto" = true OK
Glob.eval "<toto/**>" "toto2/tata" = false OK
Glob.eval "<toto/**>" "tata/titi" = false OK
Glob.eval "<toto/**>" "toto/" = true OK
Glob.eval "<toto/**>" "toto/tata" = true OK
Glob.eval "<toto/**>" "toto/alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<toto/**>" "toto" = true OK
Glob.eval "<toto/**>" "toto2/tata" = false OK
Glob.eval "<toto/**>" "tata/titi" = false OK
Glob.eval "<toto/**>" "toto/" = true OK
Glob.eval "<toto/**>" "toto/tata" = true OK
Glob.eval "<toto/**>" "toto/alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<toto/**>" "toto" = true OK
Glob.eval "<toto/**>" "toto2/tata" = false OK
Glob.eval "<toto/**>" "tata/titi" = false OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/bar/libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibs/unix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibsliblib/unlibix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/libfoo/boo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "bar" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libbar/foo.a" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.b.a" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/bar/libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibs/unix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibsliblib/unlibix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/libfoo/boo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "bar" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libbar/foo.a" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.b.a" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/bar/libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibs/unix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibsliblib/unlibix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/libfoo/boo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "bar" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libbar/foo.a" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.b.a" = None OK
_____ _ _ ___
|_ _|__ ___| |_/ |/ _ \
| |/ _ \/ __| __| | | | |
| | __/\__ \ |_| | |_| |
|_|\___||___/\__|_|\___/
Globexp for "\"hello\"" OK
Globexp for "<hello>" OK
Globexp for "<hel*lo>" OK
Globexp for "<a> and <b> or <c>" OK
Globexp for "<a> titi" OK
Glob.eval "<[a]>" "a" = true OK
Glob.eval "<[a]>" "b" = false OK
Glob.eval "<[a]>" "a" = true OK
Glob.eval "<[a]>" "b" = false OK
Glob.eval "<[a]>" "a" = true OK
Glob.eval "<[a]>" "b" = false OK
Glob.eval "<[a-z]>" "a" = true OK
Glob.eval "<[a-z]>" "e" = true OK
Glob.eval "<[a-z]>" "k" = true OK
Glob.eval "<[a-z]>" "z" = true OK
Glob.eval "<[a-z]>" "0" = false OK
Glob.eval "<[a-z]>" "A" = false OK
Glob.eval "<[a-z]>" "~" = false OK
Glob.eval "<[a-z]>" "a" = true OK
Glob.eval "<[a-z]>" "e" = true OK
Glob.eval "<[a-z]>" "k" = true OK
Glob.eval "<[a-z]>" "z" = true OK
Glob.eval "<[a-z]>" "0" = false OK
Glob.eval "<[a-z]>" "A" = false OK
Glob.eval "<[a-z]>" "~" = false OK
Glob.eval "<[a-z]>" "a" = true OK
Glob.eval "<[a-z]>" "e" = true OK
Glob.eval "<[a-z]>" "k" = true OK
Glob.eval "<[a-z]>" "z" = true OK
Glob.eval "<[a-z]>" "0" = false OK
Glob.eval "<[a-z]>" "A" = false OK
Glob.eval "<[a-z]>" "~" = false OK
Glob.eval "<[a-z][0-9]>" "a0" = true OK
Glob.eval "<[a-z][0-9]>" "b9" = true OK
Glob.eval "<[a-z][0-9]>" "a00" = false OK
Glob.eval "<[a-z][0-9]>" "a0a" = false OK
Glob.eval "<[a-z][0-9]>" "b0a" = false OK
Glob.eval "<[a-z][0-9]>" "isduis" = false OK
Glob.eval "<[a-z][0-9]>" "" = false OK
Glob.eval "<[a-z][0-9]>" "a0" = true OK
Glob.eval "<[a-z][0-9]>" "b9" = true OK
Glob.eval "<[a-z][0-9]>" "a00" = false OK
Glob.eval "<[a-z][0-9]>" "a0a" = false OK
Glob.eval "<[a-z][0-9]>" "b0a" = false OK
Glob.eval "<[a-z][0-9]>" "isduis" = false OK
Glob.eval "<[a-z][0-9]>" "" = false OK
Glob.eval "<[a-z][0-9]>" "a0" = true OK
Glob.eval "<[a-z][0-9]>" "b9" = true OK
Glob.eval "<[a-z][0-9]>" "a00" = false OK
Glob.eval "<[a-z][0-9]>" "a0a" = false OK
Glob.eval "<[a-z][0-9]>" "b0a" = false OK
Glob.eval "<[a-z][0-9]>" "isduis" = false OK
Glob.eval "<[a-z][0-9]>" "" = false OK
Glob.eval "<hello>" "hello" = true OK
Glob.eval "<hello>" "helli" = false OK
Glob.eval "<hello>" "hello" = true OK
Glob.eval "<hello>" "helli" = false OK
Glob.eval "<hello>" "hello" = true OK
Glob.eval "<hello>" "helli" = false OK
Glob.eval "\"hello\"" "hello" = true OK
Glob.eval "\"hello\"" "heidi" = false OK
Glob.eval "\"hello\"" "hello" = true OK
Glob.eval "\"hello\"" "heidi" = false OK
Glob.eval "\"hello\"" "hello" = true OK
Glob.eval "\"hello\"" "heidi" = false OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "ax" = true OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "ax" = true OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "ax" = true OK
Glob.eval "<a*b>" "ab" = true OK
Glob.eval "<a*b>" "acb" = true OK
Glob.eval "<a*b>" "axxxxxb" = true OK
Glob.eval "<a*b>" "ababbababb" = true OK
Glob.eval "<a*b>" "abx" = false OK
Glob.eval "<a*b>" "xxxxxab" = false OK
Glob.eval "<a*b>" "xab" = false OK
Glob.eval "<a*b>" "ab" = true OK
Glob.eval "<a*b>" "acb" = true OK
Glob.eval "<a*b>" "axxxxxb" = true OK
Glob.eval "<a*b>" "ababbababb" = true OK
Glob.eval "<a*b>" "abx" = false OK
Glob.eval "<a*b>" "xxxxxab" = false OK
Glob.eval "<a*b>" "xab" = false OK
Glob.eval "<a*b>" "ab" = true OK
Glob.eval "<a*b>" "acb" = true OK
Glob.eval "<a*b>" "axxxxxb" = true OK
Glob.eval "<a*b>" "ababbababb" = true OK
Glob.eval "<a*b>" "abx" = false OK
Glob.eval "<a*b>" "xxxxxab" = false OK
Glob.eval "<a*b>" "xab" = false OK
Glob.eval "<*.ml>" "hello.ml" = true OK
Glob.eval "<*.ml>" ".ml" = true OK
Glob.eval "<*.ml>" "ml" = false OK
Glob.eval "<*.ml>" "" = false OK
Glob.eval "<*.ml>" "toto.mli" = false OK
Glob.eval "<*.ml>" "hello.ml" = true OK
Glob.eval "<*.ml>" ".ml" = true OK
Glob.eval "<*.ml>" "ml" = false OK
Glob.eval "<*.ml>" "" = false OK
Glob.eval "<*.ml>" "toto.mli" = false OK
Glob.eval "<*.ml>" "hello.ml" = true OK
Glob.eval "<*.ml>" ".ml" = true OK
Glob.eval "<*.ml>" "ml" = false OK
Glob.eval "<*.ml>" "" = false OK
Glob.eval "<*.ml>" "toto.mli" = false OK
Glob.eval "<a>" "a" = true OK
Glob.eval "<a>" "" = false OK
Glob.eval "<a>" "aa" = false OK
Glob.eval "<a>" "ba" = false OK
Glob.eval "<a>" "ab" = false OK
Glob.eval "<a>" "abaa" = false OK
Glob.eval "<a>" "a" = true OK
Glob.eval "<a>" "" = false OK
Glob.eval "<a>" "aa" = false OK
Glob.eval "<a>" "ba" = false OK
Glob.eval "<a>" "ab" = false OK
Glob.eval "<a>" "abaa" = false OK
Glob.eval "<a>" "a" = true OK
Glob.eval "<a>" "" = false OK
Glob.eval "<a>" "aa" = false OK
Glob.eval "<a>" "ba" = false OK
Glob.eval "<a>" "ab" = false OK
Glob.eval "<a>" "abaa" = false OK
Glob.eval "<ab>" "ab" = true OK
Glob.eval "<ab>" "" = false OK
Glob.eval "<ab>" "abab" = false OK
Glob.eval "<ab>" "aba" = false OK
Glob.eval "<ab>" "abx" = false OK
Glob.eval "<ab>" "ab" = true OK
Glob.eval "<ab>" "" = false OK
Glob.eval "<ab>" "abab" = false OK
Glob.eval "<ab>" "aba" = false OK
Glob.eval "<ab>" "abx" = false OK
Glob.eval "<ab>" "ab" = true OK
Glob.eval "<ab>" "" = false OK
Glob.eval "<ab>" "abab" = false OK
Glob.eval "<ab>" "aba" = false OK
Glob.eval "<ab>" "abx" = false OK
Glob.eval "<ab?c>" "abac" = true OK
Glob.eval "<ab?c>" "abxc" = true OK
Glob.eval "<ab?c>" "abab" = false OK
Glob.eval "<ab?c>" "ababab" = false OK
Glob.eval "<ab?c>" "ababa" = false OK
Glob.eval "<ab?c>" "abac" = true OK
Glob.eval "<ab?c>" "abxc" = true OK
Glob.eval "<ab?c>" "abab" = false OK
Glob.eval "<ab?c>" "ababab" = false OK
Glob.eval "<ab?c>" "ababa" = false OK
Glob.eval "<ab?c>" "abac" = true OK
Glob.eval "<ab?c>" "abxc" = true OK
Glob.eval "<ab?c>" "abab" = false OK
Glob.eval "<ab?c>" "ababab" = false OK
Glob.eval "<ab?c>" "ababa" = false OK
Glob.eval "<*ab?cd*>" "123abecd345" = true OK
Glob.eval "<*ab?cd*>" "abccd" = true OK
Glob.eval "<*ab?cd*>" "abccd345" = true OK
Glob.eval "<*ab?cd*>" "ababcababccdab" = true OK
Glob.eval "<*ab?cd*>" "abcd" = false OK
Glob.eval "<*ab?cd*>" "aaaaabcdababcd" = false OK
Glob.eval "<*ab?cd*>" "123abecd345" = true OK
Glob.eval "<*ab?cd*>" "abccd" = true OK
Glob.eval "<*ab?cd*>" "abccd345" = true OK
Glob.eval "<*ab?cd*>" "ababcababccdab" = true OK
Glob.eval "<*ab?cd*>" "abcd" = false OK
Glob.eval "<*ab?cd*>" "aaaaabcdababcd" = false OK
Glob.eval "<*ab?cd*>" "123abecd345" = true OK
Glob.eval "<*ab?cd*>" "abccd" = true OK
Glob.eval "<*ab?cd*>" "abccd345" = true OK
Glob.eval "<*ab?cd*>" "ababcababccdab" = true OK
Glob.eval "<*ab?cd*>" "abcd" = false OK
Glob.eval "<*ab?cd*>" "aaaaabcdababcd" = false OK
Glob.eval "<*this*is*a*test*>" "this is a test" = true OK
Glob.eval "<*this*is*a*test*>" "You know this is a test really" = true OK
Glob.eval "<*this*is*a*test*>" "thisisatest" = true OK
Glob.eval "<*this*is*a*test*>" "thisatest" = false OK
Glob.eval "<*this*is*a*test*>" "this is a test" = true OK
Glob.eval "<*this*is*a*test*>" "You know this is a test really" = true OK
Glob.eval "<*this*is*a*test*>" "thisisatest" = true OK
Glob.eval "<*this*is*a*test*>" "thisatest" = false OK
Glob.eval "<*this*is*a*test*>" "this is a test" = true OK
Glob.eval "<*this*is*a*test*>" "You know this is a test really" = true OK
Glob.eval "<*this*is*a*test*>" "thisisatest" = true OK
Glob.eval "<*this*is*a*test*>" "thisatest" = false OK
Glob.eval "<b*>" "bxx" = true OK
Glob.eval "<b*>" "bx" = true OK
Glob.eval "<b*>" "aaab" = false OK
Glob.eval "<b*>" "" = false OK
Glob.eval "<b*>" "bxx" = true OK
Glob.eval "<b*>" "bx" = true OK
Glob.eval "<b*>" "aaab" = false OK
Glob.eval "<b*>" "" = false OK
Glob.eval "<b*>" "bxx" = true OK
Glob.eval "<b*>" "bx" = true OK
Glob.eval "<b*>" "aaab" = false OK
Glob.eval "<b*>" "" = false OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "aaa" = true OK
Glob.eval "<*>" "aaaaa" = true OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "aaa" = true OK
Glob.eval "<*>" "aaaaa" = true OK
Glob.eval "<*>" "" = true OK
Glob.eval "<*>" "a" = true OK
Glob.eval "<*>" "aaa" = true OK
Glob.eval "<*>" "aaaaa" = true OK
Glob.eval "<?>" "a" = true OK
Glob.eval "<?>" "" = false OK
Glob.eval "<?>" "aaa" = false OK
Glob.eval "<?>" "aaaaa" = false OK
Glob.eval "<?>" "a" = true OK
Glob.eval "<?>" "" = false OK
Glob.eval "<?>" "aaa" = false OK
Glob.eval "<?>" "aaaaa" = false OK
Glob.eval "<?>" "a" = true OK
Glob.eval "<?>" "" = false OK
Glob.eval "<?>" "aaa" = false OK
Glob.eval "<?>" "aaaaa" = false OK
Glob.eval "<{a,b}>" "a" = true OK
Glob.eval "<{a,b}>" "b" = true OK
Glob.eval "<{a,b}>" "" = false OK
Glob.eval "<{a,b}>" "aa" = false OK
Glob.eval "<{a,b}>" "ab" = false OK
Glob.eval "<{a,b}>" "ba" = false OK
Glob.eval "<{a,b}>" "bb" = false OK
Glob.eval "<{a,b}>" "c" = false OK
Glob.eval "<{a,b}>" "a" = true OK
Glob.eval "<{a,b}>" "b" = true OK
Glob.eval "<{a,b}>" "" = false OK
Glob.eval "<{a,b}>" "aa" = false OK
Glob.eval "<{a,b}>" "ab" = false OK
Glob.eval "<{a,b}>" "ba" = false OK
Glob.eval "<{a,b}>" "bb" = false OK
Glob.eval "<{a,b}>" "c" = false OK
Glob.eval "<{a,b}>" "a" = true OK
Glob.eval "<{a,b}>" "b" = true OK
Glob.eval "<{a,b}>" "" = false OK
Glob.eval "<{a,b}>" "aa" = false OK
Glob.eval "<{a,b}>" "ab" = false OK
Glob.eval "<{a,b}>" "ba" = false OK
Glob.eval "<{a,b}>" "bb" = false OK
Glob.eval "<{a,b}>" "c" = false OK
Glob.eval "<toto.{ml,mli}>" "toto.ml" = true OK
Glob.eval "<toto.{ml,mli}>" "toto.mli" = true OK
Glob.eval "<toto.{ml,mli}>" "toto." = false OK
Glob.eval "<toto.{ml,mli}>" "toto.mll" = false OK
Glob.eval "<toto.{ml,mli}>" "toto.ml" = true OK
Glob.eval "<toto.{ml,mli}>" "toto.mli" = true OK
Glob.eval "<toto.{ml,mli}>" "toto." = false OK
Glob.eval "<toto.{ml,mli}>" "toto.mll" = false OK
Glob.eval "<toto.{ml,mli}>" "toto.ml" = true OK
Glob.eval "<toto.{ml,mli}>" "toto.mli" = true OK
Glob.eval "<toto.{ml,mli}>" "toto." = false OK
Glob.eval "<toto.{ml,mli}>" "toto.mll" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aeg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "beg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "afg" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "af" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aee" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aeg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "beg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "afg" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "af" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aee" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "acg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "adg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aeg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bcg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdf" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bdg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "bef" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "beg" = true OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "afg" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "af" = false OK
Glob.eval "<{a,b}{c,[de]}{f,g}>" "aee" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "b.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "hello.ml" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli.x" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "b.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "hello.ml" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli.x" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "b.ml" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli" = true OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "hello.ml" = false OK
Glob.eval "(<*.ml> or <*.mli>) and not \"hello.ml\"" "a.mli.x" = false OK
Glob.eval "<*>" "alpha" = true OK
Glob.eval "<*>" "beta" = true OK
Glob.eval "<*>" "alpha/beta" = false OK
Glob.eval "<*>" "gamma/delta" = false OK
Glob.eval "<*>" "alpha" = true OK
Glob.eval "<*>" "beta" = true OK
Glob.eval "<*>" "alpha/beta" = false OK
Glob.eval "<*>" "gamma/delta" = false OK
Glob.eval "<*>" "alpha" = true OK
Glob.eval "<*>" "beta" = true OK
Glob.eval "<*>" "alpha/beta" = false OK
Glob.eval "<*>" "gamma/delta" = false OK
Glob.eval "<alpha/**/beta>" "alpha/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/delta/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha" = false OK
Glob.eval "<alpha/**/beta>" "beta" = false OK
Glob.eval "<alpha/**/beta>" "gamma/delta" = false OK
Glob.eval "<alpha/**/beta>" "alpha/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/delta/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha" = false OK
Glob.eval "<alpha/**/beta>" "beta" = false OK
Glob.eval "<alpha/**/beta>" "gamma/delta" = false OK
Glob.eval "<alpha/**/beta>" "alpha/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha/gamma/delta/beta" = true OK
Glob.eval "<alpha/**/beta>" "alpha" = false OK
Glob.eval "<alpha/**/beta>" "beta" = false OK
Glob.eval "<alpha/**/beta>" "gamma/delta" = false OK
Glob.eval "<**/*.ml>" "toto.ml" = true OK
Glob.eval "<**/*.ml>" "toto/tata.ml" = true OK
Glob.eval "<**/*.ml>" "alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<**/*.ml>" "toto.mli" = false OK
Glob.eval "<**/*.ml>" "toto.ml" = true OK
Glob.eval "<**/*.ml>" "toto/tata.ml" = true OK
Glob.eval "<**/*.ml>" "alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<**/*.ml>" "toto.mli" = false OK
Glob.eval "<**/*.ml>" "toto.ml" = true OK
Glob.eval "<**/*.ml>" "toto/tata.ml" = true OK
Glob.eval "<**/*.ml>" "alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<**/*.ml>" "toto.mli" = false OK
Glob.eval "<toto/**>" "toto/" = true OK
Glob.eval "<toto/**>" "toto/tata" = true OK
Glob.eval "<toto/**>" "toto/alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<toto/**>" "toto" = true OK
Glob.eval "<toto/**>" "toto2/tata" = false OK
Glob.eval "<toto/**>" "tata/titi" = false OK
Glob.eval "<toto/**>" "toto/" = true OK
Glob.eval "<toto/**>" "toto/tata" = true OK
Glob.eval "<toto/**>" "toto/alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<toto/**>" "toto" = true OK
Glob.eval "<toto/**>" "toto2/tata" = false OK
Glob.eval "<toto/**>" "tata/titi" = false OK
Glob.eval "<toto/**>" "toto/" = true OK
Glob.eval "<toto/**>" "toto/tata" = true OK
Glob.eval "<toto/**>" "toto/alpha/gamma/delta/beta.ml" = true OK
Glob.eval "<toto/**>" "toto" = true OK
Glob.eval "<toto/**>" "toto2/tata" = false OK
Glob.eval "<toto/**>" "tata/titi" = false OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/bar/libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibs/unix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibsliblib/unlibix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/libfoo/boo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "bar" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libbar/foo.a" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.b.a" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/bar/libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibs/unix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibsliblib/unlibix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/libfoo/boo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "bar" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libbar/foo.a" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.b.a" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/bar/libfoo.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibs/unix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "otherlibsliblib/unlibix/libunix.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "src/libfoo/boo/libbar.a" OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "bar" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libbar/foo.a" = None OK
Resource.matchit "%(path:<**/>)lib%(libname:<*> and not <*.*>).a" "libfoo.b.a" = None OK
_____ _ _ _
|_ _|__ ___| |_/ / |
| |/ _ \/ __| __| | |
| | __/\__ \ |_| | |
|_|\___||___/\__|_|_|
ocamlbuild.cmx -o myocamlbuild
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules a/aa.mli > a/aa.mli.depends
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -I a -I b -o a/aa.cmi a/aa.mli
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules a/aa.ml > a/aa.ml.depends
/home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules b/bb.ml > b/bb.ml.depends
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -I b -I a -o b/bb.cmo b/bb.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -I a -I b -o a/aa.cmo a/aa.ml
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt -a b/bb.cmo -o b/libb.cma
/home/danmey/src/ocaml-trunk/bin/ocamlc.opt b/libb.cma a/aa.cmo -o a/aa.byte
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -I b -I a -o b/bb.cmx b/bb.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -I a -I b -o a/aa.cmx a/aa.ml
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -a b/bb.cmx -o b/libb.cmxa
/home/danmey/src/ocaml-trunk/bin/ocamlopt.opt b/libb.cmxa a/aa.cmx -o a/aa.native
looks if libs are there
_build/b/libb.a
_build/b/libb.cma
_build/b/libb.cmxa
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules a/aa.mli > a/aa.mli.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -I a -I b -o a/aa.cmi a/aa.mli
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules a/aa.ml > a/aa.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamldep.opt -modules b/bb.ml > b/bb.ml.depends
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -I b -I a -o b/bb.cmo b/bb.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -c -I a -I b -o a/aa.cmo a/aa.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt -a b/bb.cmo -o b/libb.cma
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlc.opt b/libb.cma a/aa.cmo -o a/aa.byte
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -I b -I a -o b/bb.cmx b/bb.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -c -I a -I b -o a/aa.cmx a/aa.ml
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt -a b/bb.cmx -o b/libb.cmxa
[cache hit] /home/danmey/src/ocaml-trunk/bin/ocamlopt.opt b/libb.cmxa a/aa.cmx -o a/aa.native
_____ _ _ ____
|_ _|__ ___| |_/ |___ \
| |/ _ \/ __| __| | __) |
| | __/\__ \ |_| |/ __/
|_|\___||___/\__|_|_____|
ocamldep.opt -modules Main.ml > Main.ml.depends
Packed.ml.depends
Lib.mli.depends
Lib.mli
Packed.ml
Packed.cmo -o Pack.cmo
ocamlc.opt -c -I lib -o Main.cmo Main.ml
Lib.ml.depends
Lib.ml
Packed.ml
Packed.cmx -o Pack.cmx ; then rm -f Pack.mli ; else rm -f Pack.mli ; exit 1; fi
ocamlopt.opt -c -I lib -o Main.cmx Main.ml
Lib.cmx Pack.cmx Main.cmx -o Main.native
Lib.ml
Lib.cmo Pack.cmo Main.cmo -o Main.byte
looks if executable are there
_build/Main.byte
_build/Main.byte
_build/Main.native
_____ _ __ ___ _ _
|_ _|__ ___| |_ \ \ / (_)_ __| |_ _ _ __ _| |
| |/ _ \/ __| __| \ \ / /| | '__| __| | | |/ _` | |
| | __/\__ \ |_ \ V / | | | | |_| |_| | (_| | |
|_|\___||___/\__| \_/ |_|_| \__|\__,_|\__,_|_|
_____ _
|_ _|_ _ _ __ __ _ ___| |_ ___
| |/ _` | '__/ _` |/ _ \ __/ __|
| | (_| | | | (_| | __/ |_\__ \
|_|\__,_|_| \__, |\___|\__|___/
|___/