_____ _ ____ |_ _|__ ___| |_|___ \ | |/ _ \/ __| __| __) | | | __/\__ \ |_ / __/ |_|\___||___/\__|_____| + CMDOPTS='-- -help' + BUILD='../../_build/ocamlbuild.native toto.byte toto.native -no-skip -classic-display ' + BUILD1='../../_build/ocamlbuild.native toto.byte toto.native -no-skip -classic-display -- -help' + BUILD2='../../_build/ocamlbuild.native toto.byte toto.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt -- -help' + rm -rf _build + cp vivi1.ml vivi.ml + ../../_build/ocamlbuild.native toto.byte toto.native -no-skip -classic-display -- -help 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 -modules vivi.ml > vivi.ml.depends ocamlc.opt -c -o tyty.cmi tyty.mli ocamlc.opt -c -pp camlp4o -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 -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: _build/toto.native: Hello world!!! Tutu.tutu => 1 Tata.tata => "TATA2" + ../../_build/ocamlbuild.native toto.byte toto.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt -- -help [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 -modules vivi.ml > vivi.ml.depends [cache hit] ocamlc.opt -c -pp camlp4o -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 -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: _build/toto.native: Hello world!!! Tutu.tutu => 1 Tata.tata => "TATA2" + cp vivi2.ml vivi.ml + ../../_build/ocamlbuild.native toto.byte toto.native -no-skip -classic-display -- -help ocamldep.opt -pp camlp4o -modules vivi.ml > vivi.ml.depends ocamlc.opt -c -pp camlp4o -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 -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: _build/toto.native: Hello world!!! Tutu.tutu => 1 Tata.tata => "TATA2" + ../../_build/ocamlbuild.native toto.byte toto.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt -- -help [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 -modules vivi.ml > vivi.ml.depends [cache hit] ocamlc.opt -c -pp camlp4o -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 -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: _build/toto.native: Hello world!!! Tutu.tutu => 1 Tata.tata => "TATA2" + cp vivi3.ml vivi.ml + ../../_build/ocamlbuild.native toto.byte toto.native -no-skip -classic-display -- -help ocamldep.opt -pp camlp4o -modules vivi.ml > vivi.ml.depends ocamlc.opt -c -pp camlp4o -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 -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: _build/toto.native: Hello world!!! Tutu.tutu => 2 Tata.tata => "TATA2" + ../../_build/ocamlbuild.native toto.byte toto.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt -- -help [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 -modules vivi.ml > vivi.ml.depends [cache hit] ocamlc.opt -c -pp camlp4o -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 -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: _build/toto.native: Hello world!!! Tutu.tutu => 2 Tata.tata => "TATA2" _____ _ _____ |_ _|__ ___| |_|___ / | |/ _ \/ __| __| |_ \ | | __/\__ \ |_ ___) | |_|\___||___/\__|____/ + CMDOTPS= + BUILD='../../_build/ocamlbuild.native a.byte a.native proj.docdir/index.html -no-skip -classic-display ' + BUILD1='../../_build/ocamlbuild.native a.byte a.native proj.docdir/index.html -no-skip -classic-display ' + BUILD2='../../_build/ocamlbuild.native a.byte a.native proj.docdir/index.html -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt ' + rm -rf _build + ../../_build/ocamlbuild.native a.byte a.native proj.docdir/index.html -no-skip -classic-display 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 + ../../_build/ocamlbuild.native a.byte a.native proj.docdir/index.html -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt [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 _____ _ _ _ |_ _|__ ___| |_| || | | |/ _ \/ __| __| || |_ | | __/\__ \ |_|__ _| |_|\___||___/\__| |_| + CMDOTPS= + BUILD='../../_build/ocamlbuild.native -I a -I b aa.byte aa.native -no-skip -classic-display ' + BUILD1='../../_build/ocamlbuild.native -I a -I b aa.byte aa.native -no-skip -classic-display ' + BUILD2='../../_build/ocamlbuild.native -I a -I b aa.byte aa.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt ' + rm -rf _build + ../../_build/ocamlbuild.native -I a -I b aa.byte aa.native -no-skip -classic-display ocamldep.opt -modules a/aa.mli > a/aa.mli.depends ocamlc.opt -c -I a -I b -o a/aa.cmi a/aa.mli ocamldep.opt -modules a/aa.ml > a/aa.ml.depends ocamldep.opt -modules b/bb.ml > b/bb.ml.depends ocamlc.opt -c -I b -I a -o b/bb.cmo b/bb.ml ocamlc.opt -c -I a -I b -o a/aa.cmo a/aa.ml ocamlc.opt str.cma b/bb.cmo a/aa.cmo -o a/aa.byte ocamlopt.opt -c -I b -I a -o b/bb.cmx b/bb.ml ocamlopt.opt -c -I a -I b -o a/aa.cmx a/aa.ml ocamlopt.opt str.cmxa b/bb.cmx a/aa.cmx -o a/aa.native + ../../_build/ocamlbuild.native -I a -I b aa.byte aa.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt [cache hit] ocamldep.opt -modules a/aa.mli > a/aa.mli.depends [cache hit] ocamlc.opt -c -I a -I b -o a/aa.cmi a/aa.mli [cache hit] ocamldep.opt -modules a/aa.ml > a/aa.ml.depends [cache hit] ocamldep.opt -modules b/bb.ml > b/bb.ml.depends [cache hit] ocamlc.opt -c -I b -I a -o b/bb.cmo b/bb.ml [cache hit] ocamlc.opt -c -I a -I b -o a/aa.cmo a/aa.ml [cache hit] ocamlc.opt str.cma b/bb.cmo a/aa.cmo -o a/aa.byte [cache hit] ocamlopt.opt -c -I b -I a -o b/bb.cmx b/bb.ml [cache hit] ocamlopt.opt -c -I a -I b -o a/aa.cmx a/aa.ml [cache hit] ocamlopt.opt str.cmxa b/bb.cmx a/aa.cmx -o a/aa.native _____ _ ____ |_ _|__ ___| |_| ___| | |/ _ \/ __| __|___ \ | | __/\__ \ |_ ___) | |_|\___||___/\__|____/ + CMDOPTS= + BUILD='../../_build/ocamlbuild.native d.byte d.native -no-skip -classic-display ' + BUILD1='../../_build/ocamlbuild.native d.byte d.native -no-skip -classic-display ' + BUILD2='../../_build/ocamlbuild.native d.byte d.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt ' + rm -rf _build + ../../_build/ocamlbuild.native d.byte d.native -no-skip -classic-display 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 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 touch c.mli ; if 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 + ../../_build/ocamlbuild.native d.byte d.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt [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] touch c.mli ; if 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 _____ _ __ |_ _|__ ___| |_ / /_ | |/ _ \/ __| __| '_ \ | | __/\__ \ |_| (_) | |_|\___||___/\__|\___/ + rm -rf _build + CMDOPTS= + BUILD='../../_build/ocamlbuild.native -no-skip main.byte -classic-display ' + BUILD1='../../_build/ocamlbuild.native -no-skip main.byte -classic-display ' + BUILD2='../../_build/ocamlbuild.native -no-skip main.byte -classic-display -verbose 0 -nothing-should-be-rebuilt ' + cp b.mli.v1 b.mli + cp d.mli.v1 d.mli + ../../_build/ocamlbuild.native -no-skip main.byte -classic-display 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 + ../../_build/ocamlbuild.native -no-skip main.byte -classic-display -verbose 0 -nothing-should-be-rebuilt [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 + cp b.mli.v2 b.mli + cp d.mli.v2 d.mli + ../../_build/ocamlbuild.native -no-skip main.byte -classic-display 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 + ocamldep.opt -modules b.mli > b.mli.depends File "b.mli", line 1, characters 0-2: Syntax error Command exited with code 2. + cp b.mli.v1 b.mli + ../../_build/ocamlbuild.native -no-skip main.byte -classic-display 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 + ../../_build/ocamlbuild.native -no-skip main.byte -classic-display -verbose 0 -nothing-should-be-rebuilt [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 + echo PASS PASS _____ _ _____ |_ _|__ ___| ||___ | | |/ _ \/ __| __| / / | | __/\__ \ |_ / / |_|\___||___/\__/_/ + CMDOPTS= + BUILD='../../_build/ocamlbuild.native bbcc.cma main.byte bbcc.cmxa main.native -no-skip -classic-display ' + BUILD1='../../_build/ocamlbuild.native bbcc.cma main.byte bbcc.cmxa main.native -no-skip -classic-display ' + BUILD2='../../_build/ocamlbuild.native bbcc.cma main.byte bbcc.cmxa main.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt ' + rm -rf _build + cp bb1.ml bb.ml + ../../_build/ocamlbuild.native bbcc.cma main.byte bbcc.cmxa main.native -no-skip -classic-display ocamlopt.opt -I /Users/ertai/l/ocaml/ocamlbuild-unstable/ocamlbuild/_install/lib/ocamlbuild unix.cmxa /Users/ertai/l/ocaml/ocamlbuild-unstable/ocamlbuild/_install/lib/ocamlbuild/ocamlbuildlib.cmxa myocamlbuild.ml /Users/ertai/l/ocaml/ocamlbuild-unstable/ocamlbuild/_install/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild ocamldep.opt -modules bb.mli > bb.mli.depends ocamlc.opt -c -o bb.cmi bb.mli ocamldep.opt -modules bb.ml > bb.ml.depends ocamldep.opt -modules cc.ml > cc.ml.depends ocamldep.opt -modules aa.ml > aa.ml.depends ocamldep.opt -modules c2.mli > c2.mli.depends ocamlc.opt -c -o aa.cmo aa.ml ocamlc.opt -c -o c2.cmi c2.mli ocamlc.opt -c -o bb.cmo bb.ml ocamlc.opt -c -o cc.cmo cc.ml ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma ocamldep.opt -modules main.ml > main.ml.depends ocamldep.opt -modules c3.ml > c3.ml.depends ocamlc.opt -c -o c3.cmo c3.ml ocamlc.opt -c -o main.cmo main.ml ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml ocamldep.opt -modules c2.ml > c2.ml.depends ocamlc.opt -c -o c2.cmo c2.ml ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte ocamlopt.opt -c -o bb.cmx bb.ml ocamlopt.opt -c -o aa.cmx aa.ml ocamlopt.opt -c -o c2.cmx c2.ml ocamlopt.opt -c -o cc.cmx cc.ml ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa ocamlopt.opt -c -o c3.cmx c3.ml ocamlopt.opt -c -o main.cmx main.ml ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native + ../../_build/ocamlbuild.native bbcc.cma main.byte bbcc.cmxa main.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt [cache hit] ocamldep.opt -modules bb.mli > bb.mli.depends [cache hit] ocamlc.opt -c -o bb.cmi bb.mli [cache hit] ocamldep.opt -modules bb.ml > bb.ml.depends [cache hit] ocamlc.opt -c -o bb.cmo bb.ml [cache hit] ocamldep.opt -modules cc.ml > cc.ml.depends [cache hit] ocamldep.opt -modules aa.ml > aa.ml.depends [cache hit] ocamlc.opt -c -o aa.cmo aa.ml [cache hit] ocamldep.opt -modules c2.mli > c2.mli.depends [cache hit] ocamlc.opt -c -o c2.cmi c2.mli [cache hit] ocamlc.opt -c -o cc.cmo cc.ml [cache hit] ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma [cache hit] ocamldep.opt -modules main.ml > main.ml.depends [cache hit] ocamldep.opt -modules c3.ml > c3.ml.depends [cache hit] ocamlc.opt -c -o c3.cmo c3.ml [cache hit] ocamlc.opt -c -o main.cmo main.ml [cache hit] ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends [cache hit] ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml [cache hit] ocamldep.opt -modules c2.ml > c2.ml.depends [cache hit] ocamlc.opt -c -o c2.cmo c2.ml [cache hit] ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte [cache hit] ocamlopt.opt -c -o bb.cmx bb.ml [cache hit] ocamlopt.opt -c -o aa.cmx aa.ml [cache hit] ocamlopt.opt -c -o c2.cmx c2.ml [cache hit] ocamlopt.opt -c -o cc.cmx cc.ml [cache hit] ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa [cache hit] ocamlopt.opt -c -o c3.cmx c3.ml [cache hit] ocamlopt.opt -c -o main.cmx main.ml [cache hit] ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native + cp bb2.ml bb.ml + ../../_build/ocamlbuild.native bbcc.cma main.byte bbcc.cmxa main.native -no-skip -classic-display -verbose 0 [cache hit] ocamldep.opt -modules bb.mli > bb.mli.depends [cache hit] ocamlc.opt -c -o bb.cmi bb.mli ocamldep.opt -modules bb.ml > bb.ml.depends [cache hit] ocamldep.opt -modules cc.ml > cc.ml.depends [cache hit] ocamldep.opt -modules aa.ml > aa.ml.depends [cache hit] ocamlc.opt -c -o aa.cmo aa.ml [cache hit] ocamldep.opt -modules c2.mli > c2.mli.depends [cache hit] ocamlc.opt -c -o c2.cmi c2.mli [cache hit] ocamlc.opt -c -o cc.cmo cc.ml ocamlc.opt -c -o bb.cmo bb.ml ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma [cache hit] ocamldep.opt -modules main.ml > main.ml.depends [cache hit] ocamldep.opt -modules c3.ml > c3.ml.depends [cache hit] ocamlc.opt -c -o c3.cmo c3.ml [cache hit] ocamlc.opt -c -o main.cmo main.ml [cache hit] ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends [cache hit] ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml [cache hit] ocamldep.opt -modules c2.ml > c2.ml.depends [cache hit] ocamlc.opt -c -o c2.cmo c2.ml ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte [cache hit] ocamlopt.opt -c -o aa.cmx aa.ml ocamlopt.opt -c -o bb.cmx bb.ml [cache hit] ocamlopt.opt -c -o c2.cmx c2.ml ocamlopt.opt -c -o cc.cmx cc.ml ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa ocamlopt.opt -c -o c3.cmx c3.ml ocamlopt.opt -c -o main.cmx main.ml ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native + ../../_build/ocamlbuild.native bbcc.cma main.byte bbcc.cmxa main.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt [cache hit] ocamldep.opt -modules bb.mli > bb.mli.depends [cache hit] ocamlc.opt -c -o bb.cmi bb.mli [cache hit] ocamldep.opt -modules bb.ml > bb.ml.depends [cache hit] ocamlc.opt -c -o bb.cmo bb.ml [cache hit] ocamldep.opt -modules cc.ml > cc.ml.depends [cache hit] ocamldep.opt -modules aa.ml > aa.ml.depends [cache hit] ocamlc.opt -c -o aa.cmo aa.ml [cache hit] ocamldep.opt -modules c2.mli > c2.mli.depends [cache hit] ocamlc.opt -c -o c2.cmi c2.mli [cache hit] ocamlc.opt -c -o cc.cmo cc.ml [cache hit] ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma [cache hit] ocamldep.opt -modules main.ml > main.ml.depends [cache hit] ocamldep.opt -modules c3.ml > c3.ml.depends [cache hit] ocamlc.opt -c -o c3.cmo c3.ml [cache hit] ocamlc.opt -c -o main.cmo main.ml [cache hit] ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends [cache hit] ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml [cache hit] ocamldep.opt -modules c2.ml > c2.ml.depends [cache hit] ocamlc.opt -c -o c2.cmo c2.ml [cache hit] ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte [cache hit] ocamlopt.opt -c -o bb.cmx bb.ml [cache hit] ocamlopt.opt -c -o aa.cmx aa.ml [cache hit] ocamlopt.opt -c -o c2.cmx c2.ml [cache hit] ocamlopt.opt -c -o cc.cmx cc.ml [cache hit] ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa [cache hit] ocamlopt.opt -c -o c3.cmx c3.ml [cache hit] ocamlopt.opt -c -o main.cmx main.ml [cache hit] ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native + cp bb3.ml bb.ml + ../../_build/ocamlbuild.native bbcc.cma main.byte bbcc.cmxa main.native -no-skip -classic-display -verbose 0 [cache hit] ocamldep.opt -modules bb.mli > bb.mli.depends [cache hit] ocamlc.opt -c -o bb.cmi bb.mli ocamldep.opt -modules bb.ml > bb.ml.depends [cache hit] ocamldep.opt -modules cc.ml > cc.ml.depends [cache hit] ocamldep.opt -modules aa.ml > aa.ml.depends [cache hit] ocamlc.opt -c -o aa.cmo aa.ml [cache hit] ocamldep.opt -modules c2.mli > c2.mli.depends [cache hit] ocamlc.opt -c -o c2.cmi c2.mli [cache hit] ocamlc.opt -c -o cc.cmo cc.ml ocamlc.opt -c -o bb.cmo bb.ml ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma [cache hit] ocamldep.opt -modules main.ml > main.ml.depends [cache hit] ocamldep.opt -modules c3.ml > c3.ml.depends [cache hit] ocamlc.opt -c -o c3.cmo c3.ml [cache hit] ocamlc.opt -c -o main.cmo main.ml [cache hit] ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends [cache hit] ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml [cache hit] ocamldep.opt -modules c2.ml > c2.ml.depends [cache hit] ocamlc.opt -c -o c2.cmo c2.ml ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte [cache hit] ocamlopt.opt -c -o aa.cmx aa.ml ocamlopt.opt -c -o bb.cmx bb.ml [cache hit] ocamlopt.opt -c -o c2.cmx c2.ml [cache hit] ocamlopt.opt -c -o cc.cmx cc.ml ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa [cache hit] ocamlopt.opt -c -o c3.cmx c3.ml [cache hit] ocamlopt.opt -c -o main.cmx main.ml ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native + ../../_build/ocamlbuild.native bbcc.cma main.byte bbcc.cmxa main.native -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt [cache hit] ocamldep.opt -modules bb.mli > bb.mli.depends [cache hit] ocamlc.opt -c -o bb.cmi bb.mli [cache hit] ocamldep.opt -modules bb.ml > bb.ml.depends [cache hit] ocamlc.opt -c -o bb.cmo bb.ml [cache hit] ocamldep.opt -modules cc.ml > cc.ml.depends [cache hit] ocamldep.opt -modules aa.ml > aa.ml.depends [cache hit] ocamlc.opt -c -o aa.cmo aa.ml [cache hit] ocamldep.opt -modules c2.mli > c2.mli.depends [cache hit] ocamlc.opt -c -o c2.cmi c2.mli [cache hit] ocamlc.opt -c -o cc.cmo cc.ml [cache hit] ocamlc.opt -a bb.cmo cc.cmo -o bbcc.cma [cache hit] ocamldep.opt -modules main.ml > main.ml.depends [cache hit] ocamldep.opt -modules c3.ml > c3.ml.depends [cache hit] ocamlc.opt -c -o c3.cmo c3.ml [cache hit] ocamlc.opt -c -o main.cmo main.ml [cache hit] ocamldep.opt -modules cool_plugin.ml > cool_plugin.ml.depends [cache hit] ocamlc.opt -c -o cool_plugin.cmo cool_plugin.ml [cache hit] ocamldep.opt -modules c2.ml > c2.ml.depends [cache hit] ocamlc.opt -c -o c2.cmo c2.ml [cache hit] ocamlc.opt aa.cmo c2.cmo bbcc.cma c3.cmo main.cmo cool_plugin.cmo -o main.byte [cache hit] ocamlopt.opt -c -o bb.cmx bb.ml [cache hit] ocamlopt.opt -c -o aa.cmx aa.ml [cache hit] ocamlopt.opt -c -o c2.cmx c2.ml [cache hit] ocamlopt.opt -c -o cc.cmx cc.ml [cache hit] ocamlopt.opt -a bb.cmx cc.cmx -o bbcc.cmxa [cache hit] ocamlopt.opt -c -o c3.cmx c3.ml [cache hit] ocamlopt.opt -c -o main.cmx main.ml [cache hit] ocamlopt.opt aa.cmx c2.cmx bbcc.cmxa c3.cmx main.cmx -o main.native _____ _ ___ |_ _|__ ___| |_( _ ) | |/ _ \/ __| __/ _ \ | | __/\__ \ || (_) | |_|\___||___/\__\___/ + CMDOPTS= + BUILD='../../_build/ocamlbuild.native a.byte a.native a a.opt bin/a bin/a.opt -no-skip -classic-display ' + BUILD1='../../_build/ocamlbuild.native a.byte a.native a a.opt bin/a bin/a.opt -no-skip -classic-display ' + BUILD2='../../_build/ocamlbuild.native a.byte a.native a a.opt bin/a bin/a.opt -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt ' + rm -rf _build + ../../_build/ocamlbuild.native a.byte a.native a a.opt bin/a bin/a.opt -no-skip -classic-display ocamlopt.opt -I /Users/ertai/l/ocaml/ocamlbuild-unstable/ocamlbuild/_install/lib/ocamlbuild unix.cmxa /Users/ertai/l/ocaml/ocamlbuild-unstable/ocamlbuild/_install/lib/ocamlbuild/ocamlbuildlib.cmxa myocamlbuild.ml /Users/ertai/l/ocaml/ocamlbuild-unstable/ocamlbuild/_install/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild ocamldep.opt -modules a.ml > a.ml.depends ocamldep.opt -modules myconfig.ml > myconfig.ml.depends ocamlc.opt -c -o myconfig.cmo myconfig.ml ocamlc.opt -c -o a.cmo a.ml ocamlc.opt myconfig.cmo a.cmo -o a.byte ocamlopt.opt -c -o myconfig.cmx myconfig.ml ocamlopt.opt -c -o a.cmx a.ml 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 + ../../_build/ocamlbuild.native a.byte a.native a a.opt bin/a bin/a.opt -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt [cache hit] ocamldep.opt -modules a.ml > a.ml.depends [cache hit] ocamldep.opt -modules myconfig.ml > myconfig.ml.depends [cache hit] ocamlc.opt -c -o myconfig.cmo myconfig.ml [cache hit] ocamlc.opt -c -o a.cmo a.ml [cache hit] ocamlc.opt myconfig.cmo a.cmo -o a.byte [cache hit] ocamlopt.opt -c -o myconfig.cmx myconfig.ml [cache hit] ocamlopt.opt -c -o a.cmx a.ml [cache hit] 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 _____ _ ___ |_ _|__ ___| |_ / _ \ | |/ _ \/ __| __| (_) | | | __/\__ \ |_ \__, | |_|\___||___/\__| /_/ ++ dirname ./test9/test.sh + cd ./test9/../.. + ./_build/ocamlbuild.native -quiet -build-dir _buildtest -no-links test/test9/testglob.native + ./_buildtest/test/test9/testglob.native 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 _____ _ __ ___ _ _ |_ _|__ ___| |_ \ \ / (_)_ __| |_ _ _ __ _| | | |/ _ \/ __| __| \ \ / /| | '__| __| | | |/ _` | | | | __/\__ \ |_ \ V / | | | | |_| |_| | (_| | | |_|\___||___/\__| \_/ |_|_| \__|\__,_|\__,_|_| _____ _ |_ _|_ _ _ __ __ _ ___| |_ ___ | |/ _` | '__/ _` |/ _ \ __/ __| | | (_| | | | (_| | __/ |_\__ \ |_|\__,_|_| \__, |\___|\__|___/ |___/ + CMDOPTS= + BUILD='../../_build/ocamlbuild.native bar -no-skip -classic-display ' + BUILD1='../../_build/ocamlbuild.native bar -no-skip -classic-display ' + BUILD2='../../_build/ocamlbuild.native bar -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt ' + rm -rf _build + cp foo1 foo + ../../_build/ocamlbuild.native bar -no-skip -classic-display ocamlopt.opt -I /Users/ertai/l/ocaml/ocamlbuild-unstable/ocamlbuild/_install/lib/ocamlbuild unix.cmxa /Users/ertai/l/ocaml/ocamlbuild-unstable/ocamlbuild/_install/lib/ocamlbuild/ocamlbuildlib.cmxa myocamlbuild.ml /Users/ertai/l/ocaml/ocamlbuild-unstable/ocamlbuild/_install/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild cp foo bar + ../../_build/ocamlbuild.native bar -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt [cache hit] cp foo bar + cp foo2 foo + ../../_build/ocamlbuild.native bar -no-skip -classic-display -verbose 0 cp foo bar + ../../_build/ocamlbuild.native bar -no-skip -classic-display -verbose 0 -nothing-should-be-rebuilt [cache hit] cp foo bar + rm foo