_____ _ ____ |_ _|__ ___| |_|___ \ | |/ _ \/ __| __| __) | | | __/\__ \ |_ / __/ |_|\___||___/\__|_____| 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 "" OK Globexp for "" OK Globexp for " and or " OK Globexp for " 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" = true OK Glob.eval "" "helli" = false OK Glob.eval "" "hello" = true OK Glob.eval "" "helli" = false OK Glob.eval "" "hello" = true OK Glob.eval "" "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 "" "ab" = true OK Glob.eval "" "acb" = true OK Glob.eval "" "axxxxxb" = true OK Glob.eval "" "ababbababb" = true OK Glob.eval "" "abx" = false OK Glob.eval "" "xxxxxab" = false OK Glob.eval "" "xab" = false OK Glob.eval "" "ab" = true OK Glob.eval "" "acb" = true OK Glob.eval "" "axxxxxb" = true OK Glob.eval "" "ababbababb" = true OK Glob.eval "" "abx" = false OK Glob.eval "" "xxxxxab" = false OK Glob.eval "" "xab" = false OK Glob.eval "" "ab" = true OK Glob.eval "" "acb" = true OK Glob.eval "" "axxxxxb" = true OK Glob.eval "" "ababbababb" = true OK Glob.eval "" "abx" = false OK Glob.eval "" "xxxxxab" = false OK Glob.eval "" "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" = true OK Glob.eval "" "" = false OK Glob.eval "" "aa" = false OK Glob.eval "" "ba" = false OK Glob.eval "" "ab" = false OK Glob.eval "" "abaa" = false OK Glob.eval "" "a" = true OK Glob.eval "" "" = false OK Glob.eval "" "aa" = false OK Glob.eval "" "ba" = false OK Glob.eval "" "ab" = false OK Glob.eval "" "abaa" = false OK Glob.eval "" "a" = true OK Glob.eval "" "" = false OK Glob.eval "" "aa" = false OK Glob.eval "" "ba" = false OK Glob.eval "" "ab" = false OK Glob.eval "" "abaa" = false OK Glob.eval "" "ab" = true OK Glob.eval "" "" = false OK Glob.eval "" "abab" = false OK Glob.eval "" "aba" = false OK Glob.eval "" "abx" = false OK Glob.eval "" "ab" = true OK Glob.eval "" "" = false OK Glob.eval "" "abab" = false OK Glob.eval "" "aba" = false OK Glob.eval "" "abx" = false OK Glob.eval "" "ab" = true OK Glob.eval "" "" = false OK Glob.eval "" "abab" = false OK Glob.eval "" "aba" = false OK Glob.eval "" "abx" = false OK Glob.eval "" "abac" = true OK Glob.eval "" "abxc" = true OK Glob.eval "" "abab" = false OK Glob.eval "" "ababab" = false OK Glob.eval "" "ababa" = false OK Glob.eval "" "abac" = true OK Glob.eval "" "abxc" = true OK Glob.eval "" "abab" = false OK Glob.eval "" "ababab" = false OK Glob.eval "" "ababa" = false OK Glob.eval "" "abac" = true OK Glob.eval "" "abxc" = true OK Glob.eval "" "abab" = false OK Glob.eval "" "ababab" = false OK Glob.eval "" "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 "" "bxx" = true OK Glob.eval "" "bx" = true OK Glob.eval "" "aaab" = false OK Glob.eval "" "" = false OK Glob.eval "" "bxx" = true OK Glob.eval "" "bx" = true OK Glob.eval "" "aaab" = false OK Glob.eval "" "" = false OK Glob.eval "" "bxx" = true OK Glob.eval "" "bx" = true OK Glob.eval "" "aaab" = false OK Glob.eval "" "" = 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" = true OK Glob.eval "" "toto.mli" = true OK Glob.eval "" "toto." = false OK Glob.eval "" "toto.mll" = false OK Glob.eval "" "toto.ml" = true OK Glob.eval "" "toto.mli" = true OK Glob.eval "" "toto." = false OK Glob.eval "" "toto.mll" = false OK Glob.eval "" "toto.ml" = true OK Glob.eval "" "toto.mli" = true OK Glob.eval "" "toto." = false OK Glob.eval "" "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" = true OK Glob.eval "" "alpha/gamma/beta" = true OK Glob.eval "" "alpha/gamma/delta/beta" = true OK Glob.eval "" "alpha" = false OK Glob.eval "" "beta" = false OK Glob.eval "" "gamma/delta" = false OK Glob.eval "" "alpha/beta" = true OK Glob.eval "" "alpha/gamma/beta" = true OK Glob.eval "" "alpha/gamma/delta/beta" = true OK Glob.eval "" "alpha" = false OK Glob.eval "" "beta" = false OK Glob.eval "" "gamma/delta" = false OK Glob.eval "" "alpha/beta" = true OK Glob.eval "" "alpha/gamma/beta" = true OK Glob.eval "" "alpha/gamma/delta/beta" = true OK Glob.eval "" "alpha" = false OK Glob.eval "" "beta" = false OK Glob.eval "" "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/" = true OK Glob.eval "" "toto/tata" = true OK Glob.eval "" "toto/alpha/gamma/delta/beta.ml" = true OK Glob.eval "" "toto" = true OK Glob.eval "" "toto2/tata" = false OK Glob.eval "" "tata/titi" = false OK Glob.eval "" "toto/" = true OK Glob.eval "" "toto/tata" = true OK Glob.eval "" "toto/alpha/gamma/delta/beta.ml" = true OK Glob.eval "" "toto" = true OK Glob.eval "" "toto2/tata" = false OK Glob.eval "" "tata/titi" = false OK Glob.eval "" "toto/" = true OK Glob.eval "" "toto/tata" = true OK Glob.eval "" "toto/alpha/gamma/delta/beta.ml" = true OK Glob.eval "" "toto" = true OK Glob.eval "" "toto2/tata" = false OK Glob.eval "" "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 "" OK Globexp for "" OK Globexp for " and or " OK Globexp for " 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" = true OK Glob.eval "" "helli" = false OK Glob.eval "" "hello" = true OK Glob.eval "" "helli" = false OK Glob.eval "" "hello" = true OK Glob.eval "" "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 "" "ab" = true OK Glob.eval "" "acb" = true OK Glob.eval "" "axxxxxb" = true OK Glob.eval "" "ababbababb" = true OK Glob.eval "" "abx" = false OK Glob.eval "" "xxxxxab" = false OK Glob.eval "" "xab" = false OK Glob.eval "" "ab" = true OK Glob.eval "" "acb" = true OK Glob.eval "" "axxxxxb" = true OK Glob.eval "" "ababbababb" = true OK Glob.eval "" "abx" = false OK Glob.eval "" "xxxxxab" = false OK Glob.eval "" "xab" = false OK Glob.eval "" "ab" = true OK Glob.eval "" "acb" = true OK Glob.eval "" "axxxxxb" = true OK Glob.eval "" "ababbababb" = true OK Glob.eval "" "abx" = false OK Glob.eval "" "xxxxxab" = false OK Glob.eval "" "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" = true OK Glob.eval "" "" = false OK Glob.eval "" "aa" = false OK Glob.eval "" "ba" = false OK Glob.eval "" "ab" = false OK Glob.eval "" "abaa" = false OK Glob.eval "" "a" = true OK Glob.eval "" "" = false OK Glob.eval "" "aa" = false OK Glob.eval "" "ba" = false OK Glob.eval "" "ab" = false OK Glob.eval "" "abaa" = false OK Glob.eval "" "a" = true OK Glob.eval "" "" = false OK Glob.eval "" "aa" = false OK Glob.eval "" "ba" = false OK Glob.eval "" "ab" = false OK Glob.eval "" "abaa" = false OK Glob.eval "" "ab" = true OK Glob.eval "" "" = false OK Glob.eval "" "abab" = false OK Glob.eval "" "aba" = false OK Glob.eval "" "abx" = false OK Glob.eval "" "ab" = true OK Glob.eval "" "" = false OK Glob.eval "" "abab" = false OK Glob.eval "" "aba" = false OK Glob.eval "" "abx" = false OK Glob.eval "" "ab" = true OK Glob.eval "" "" = false OK Glob.eval "" "abab" = false OK Glob.eval "" "aba" = false OK Glob.eval "" "abx" = false OK Glob.eval "" "abac" = true OK Glob.eval "" "abxc" = true OK Glob.eval "" "abab" = false OK Glob.eval "" "ababab" = false OK Glob.eval "" "ababa" = false OK Glob.eval "" "abac" = true OK Glob.eval "" "abxc" = true OK Glob.eval "" "abab" = false OK Glob.eval "" "ababab" = false OK Glob.eval "" "ababa" = false OK Glob.eval "" "abac" = true OK Glob.eval "" "abxc" = true OK Glob.eval "" "abab" = false OK Glob.eval "" "ababab" = false OK Glob.eval "" "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 "" "bxx" = true OK Glob.eval "" "bx" = true OK Glob.eval "" "aaab" = false OK Glob.eval "" "" = false OK Glob.eval "" "bxx" = true OK Glob.eval "" "bx" = true OK Glob.eval "" "aaab" = false OK Glob.eval "" "" = false OK Glob.eval "" "bxx" = true OK Glob.eval "" "bx" = true OK Glob.eval "" "aaab" = false OK Glob.eval "" "" = 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" = true OK Glob.eval "" "toto.mli" = true OK Glob.eval "" "toto." = false OK Glob.eval "" "toto.mll" = false OK Glob.eval "" "toto.ml" = true OK Glob.eval "" "toto.mli" = true OK Glob.eval "" "toto." = false OK Glob.eval "" "toto.mll" = false OK Glob.eval "" "toto.ml" = true OK Glob.eval "" "toto.mli" = true OK Glob.eval "" "toto." = false OK Glob.eval "" "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" = true OK Glob.eval "" "alpha/gamma/beta" = true OK Glob.eval "" "alpha/gamma/delta/beta" = true OK Glob.eval "" "alpha" = false OK Glob.eval "" "beta" = false OK Glob.eval "" "gamma/delta" = false OK Glob.eval "" "alpha/beta" = true OK Glob.eval "" "alpha/gamma/beta" = true OK Glob.eval "" "alpha/gamma/delta/beta" = true OK Glob.eval "" "alpha" = false OK Glob.eval "" "beta" = false OK Glob.eval "" "gamma/delta" = false OK Glob.eval "" "alpha/beta" = true OK Glob.eval "" "alpha/gamma/beta" = true OK Glob.eval "" "alpha/gamma/delta/beta" = true OK Glob.eval "" "alpha" = false OK Glob.eval "" "beta" = false OK Glob.eval "" "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/" = true OK Glob.eval "" "toto/tata" = true OK Glob.eval "" "toto/alpha/gamma/delta/beta.ml" = true OK Glob.eval "" "toto" = true OK Glob.eval "" "toto2/tata" = false OK Glob.eval "" "tata/titi" = false OK Glob.eval "" "toto/" = true OK Glob.eval "" "toto/tata" = true OK Glob.eval "" "toto/alpha/gamma/delta/beta.ml" = true OK Glob.eval "" "toto" = true OK Glob.eval "" "toto2/tata" = false OK Glob.eval "" "tata/titi" = false OK Glob.eval "" "toto/" = true OK Glob.eval "" "toto/tata" = true OK Glob.eval "" "toto/alpha/gamma/delta/beta.ml" = true OK Glob.eval "" "toto" = true OK Glob.eval "" "toto2/tata" = false OK Glob.eval "" "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 / | | | | |_| |_| | (_| | | |_|\___||___/\__| \_/ |_|_| \__|\__,_|\__,_|_| _____ _ |_ _|_ _ _ __ __ _ ___| |_ ___ | |/ _` | '__/ _` |/ _ \ __/ __| | | (_| | | | (_| | __/ |_\__ \ |_|\__,_|_| \__, |\___|\__|___/ |___/