1 2007-03-22 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3 Allow to receive the build function in {custom,file}_rule.
7 * signatures.mli: Ditto.
8 * ocaml_specific.ml: Update.
11 * command.mli: Add a function to get string and tags.
14 * ocamldep.mli: Make tag based dependencies.
16 * ocaml_compiler.ml: Do the pack as one command to be sure running the
19 * test/test8/myocamlbuild.ml,
20 * test/good-output: Update.
22 2007-03-21 Nicolas Pouillard <nicolas.pouillard@gmail.com>
26 * ocaml_compiler.ml: Remove the empty file.
27 * test/good-output: Update.
29 2007-03-21 Nicolas Pouillard <nicolas.pouillard@gmail.com>
31 [native pack] use touch instead of mv and cmp.
33 * ocaml_compiler.ml: This version is will force ocamlopt to do the
35 * test/good-output: Update.
37 2007-03-20 Nicolas Pouillard <nicolas.pouillard@gmail.com>
41 * ocaml_tools.ml: Add pp flags to interface inference.
42 * ocaml_specific.ml: Add a rule for packing with a cmi that already
44 * test/good-output: Update.
45 * Makefile: Change the default location.
47 2007-03-13 Nicolas Pouillard <nicolas.pouillard@gmail.com>
49 Fix a bug in expand_module.
51 * ocaml_utils.ml: Handle correctly pathnames instead of just basenames.
53 2007-03-13 Nicolas Pouillard <nicolas.pouillard@gmail.com>
55 Use sys_file_exists instead of Sys.file_exists.
57 * my_unix.ml: Since Sys.file_exists don't treat well captial letters.
58 * my_std.ml: Fix a bug.
59 * pathname.ml: Here is a an exception to the previous rule so, put a
62 2007-03-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
64 Fix the List.union order.
66 * my_std.ml: Fix and improve List.union.
67 * pathname.ml: Use it and fix merge_include_dirs.
68 * test/good-output: Update since the union order was wrong.
70 2007-03-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
72 Re fix menhir and include dirs.
74 * ocaml_tools.ml: Specifiy ocamlc and -I with --ocamlc.
76 2007-03-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
78 Fix a bug: Add include directories to menhir.
80 * ocaml_tools.ml: Ditto.
82 * signatures.mli: Specification typo.
84 2007-03-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
86 Handle specially archives files during an import.
90 2007-03-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
92 Use cp -p in copy_rule, and fix some typos in the manual.
94 * manual/manual.tex: Typos.
96 * rule.mli: Add cp_p and use it for copy_rule.
98 2007-03-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
100 Relaxe executor on exception condition.
103 * executor.ml: Ignore Not_found and exceptional conditions.
104 * TODO: Add an entry (needs to better understand POSIX).
106 2007-03-04 Nicolas Pouillard <nicolas.pouillard@gmail.com>
108 Split where in bindir and libdir.
110 * ocamlbuild_where.mli: Ditto.
111 * ocaml_specific.ml: Update.
112 * options.ml: Use bindir.
116 2007-03-04 Nicolas Pouillard <nicolas.pouillard@gmail.com>
118 Virtual solvers for ocaml tools.
120 * options.ml: Setup virtual command solver for commands like ocamlc,
121 ocamlopt... This allow to have full pathname but let also failback to
123 * ocaml_compiler.ml: Add a tag to differentiate dependencies at link
125 * ocamlbuild-presentation.rslide: Add an item as suggested by a friend.
127 2007-03-02 Nicolas Pouillard <nicolas.pouillard@gmail.com>
129 Same thing for the second link function.
131 * ocaml_compiler.ml: Ignore stdlib.
133 2007-03-02 Nicolas Pouillard <nicolas.pouillard@gmail.com>
135 Move the stdlib hack.
137 * ocaml_compiler.ml: Should works better.
139 2007-03-02 Nicolas Pouillard <nicolas.pouillard@gmail.com>
141 Little fix about library linking.
143 * ocaml_utils.ml: Avoid linking twice in some cases.
144 * ocaml_compiler.ml: Handle specially the OCaml stdlib.
146 2007-03-01 Nicolas Pouillard <nicolas.pouillard@gmail.com>
150 * glob.ml: Parse is not rec.
152 2007-03-01 Nicolas Pouillard <nicolas.pouillard@gmail.com>
154 true: traverse and FAQ.
156 * main.ml: Move the inital config upper to be loaded before the others
160 2007-02-28 Nicolas Pouillard <nicolas.pouillard@gmail.com>
162 Improve the glob dir handling.
164 * glob.ml: Extend the ast instead of parsing an extended string.
166 2007-02-28 Nicolas Pouillard <nicolas.pouillard@gmail.com>
168 Ensure that the whole boolean expression is only valid in the directory.
172 2007-02-28 Nicolas Pouillard <nicolas.pouillard@gmail.com>
174 Put -g on link only for programs.
176 * ocaml_specific.ml: Ditto.
178 2007-02-26 Berke Durak <berke.durak@inria.fr>
180 Added disclaimer to default rules table.
182 * manual/manual.tex: .
184 2007-02-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
186 Add the -documentation option.
188 * main.ml: Implement it.
190 * flags.mli: Add get_flags.
191 * man/ocamlbuild.1: Update.
193 * options.ml: Add show_documention.
195 * rule.mli: Add pretty_print.
197 2007-02-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
199 Add the -dont-catch-errors option.
201 * main.ml: Implement it.
202 * options.ml: Parse it.
203 * signatures.mli: Declare it.
206 2007-02-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
208 Deal with the camlp4 library name.
210 * ocaml_specific.ml: Introduce use_old_camlp4 for the old one.
212 2007-02-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
214 Minor `ocaml_lib' improvments.
216 * signatures.mli: Declare and doc it.
217 * ocamlbuild_plugin.ml: Export it.
219 * ocaml_specific.mli: Add some dirs to std libs.
220 Move the ocaml_lib implem to ...
222 * ocaml_utils.ml: ... here. Improve it by adding the ~tag_name option.
223 * ocaml_compiler.ml: The hash now contains the tag.
224 * _tags: *.top use unix too.
226 2007-02-22 Berke Durak <berke.durak@inria.fr>
228 Should use Log.eprintf for show_tags.
232 2007-02-22 Nicolas Pouillard <nicolas.pouillard@gmail.com>
234 ( & ), sanitize.sh, and the manual...
236 * signatures.mli: Add ( & ).
238 * hygiene.ml: Also clean the sanitize.sh script itself.
239 * my_std.ml: Add ( & ).
240 * manual/manual.tex: Some fixes and a section that I wrote but that's
241 needs reflexion about what solution we want to support.
243 2007-02-22 Berke Durak <berke.durak@inria.fr>
245 Implemented fixes suggested by Commissar Leroy.
250 * man/ocamlbuild.1: .
251 * manual/manual.tex: .
252 * ocaml_specific.ml: .
256 2007-02-20 Nicolas Pouillard <nicolas.pouillard@gmail.com>
260 * hygiene.ml: Rewrap the error message.
261 * main.ml: Do the show_tags job. Move one hook.
262 * ocaml_specific.ml: Add -g also in native code.
264 * signatures.mli: Add the -show-tags option.
265 * tags.ml: Fix print.
266 * TODO: Add a done entry.
268 2007-02-16 Nicolas Pouillard <nicolas.pouillard@gmail.com>
270 Relaxing plural options to spaces.
273 * lexers.mll: Add comma_or_blank_sep_strings.
274 * options.ml: Use it.
276 2007-02-16 Nicolas Pouillard <nicolas.pouillard@gmail.com>
278 Add a plugin example.
280 * manual/myocamlbuild.ml: New.
282 2007-02-16 Nicolas Pouillard <nicolas.pouillard@gmail.com>
286 * ocamlbuild-presentation.rslide: .
287 * manual/trace.out: .
289 2007-02-16 Berke Durak <berke.durak@inria.fr>
291 Fixed a few typos and sentences.
293 * ocamlbuild-presentation.rslide: .
295 2007-02-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
299 * ocamlbuild-presentation.rslide: .
301 2007-02-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
303 Slides almost done...
305 * manual/trace.out: New. Of course you needed it.
306 * ocamlbuild-presentation.rslide: Ditto.
308 2007-02-15 Berke Durak <berke.durak@inria.fr>
312 * ocamlbuild-presentation.rslide: .
314 2007-02-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
318 * ocamlbuild-presentation.rslide: .
320 2007-02-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
324 * ocamlbuild-presentation.rslide: .
326 2007-02-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
330 * ocamlbuild-presentation.rslide: .
332 2007-02-12 Nicolas Pouillard <nicolas.pouillard@gmail.com>
334 Keep include dirs uniq.
336 * ocaml_compiler.ml: Ditto.
338 2007-02-12 Nicolas Pouillard <nicolas.pouillard@gmail.com>
340 Keep include dirs uniq.
342 * ocaml_compiler.ml: Ditto.
344 2007-02-12 Nicolas Pouillard <nicolas.pouillard@gmail.com>
346 Add ocamlmktop support.
348 * ocamlbuild.mltop: New.
349 * main.ml: Handle .top as binaries.
352 * ocaml_compiler.mli: Add mktop functions and rules.
354 * signatures.mli: Add an ocamlmktop option.
356 2007-02-09 Berke Durak <berke.durak@inria.fr>
358 Was attempting to link with threads.cmxa in byte mode.
360 * ocaml_specific.ml: .
362 2007-02-09 Berke Durak <berke.durak@inria.fr>
364 Talking of sterilize.sh.
366 * manual/manual.tex: .
368 2007-02-09 Berke Durak <berke.durak@inria.fr>
370 Rewrote some parts, filled the abstract, moved rantings to the appendix.
372 * manual/manual.tex: .
375 2007-02-08 Nicolas Pouillard <nicolas.pouillard@gmail.com>
377 Add manual/manual.hva.
379 * manual/manual.hva: New.
381 2007-02-08 Nicolas Pouillard <nicolas.pouillard@gmail.com>
383 Changes done with Luc.
385 * manual/manual.tex: .
388 2007-02-08 Nicolas Pouillard <nicolas.pouillard@gmail.com>
390 Fix a bug found by Luc in hevea.
393 * ocaml_utils.mli: Change keep_this_module into module_importance to
395 * ocaml_compiler.ml: Update to importance.
397 * ocamldep.mli: We now try to also build stdlib modules but don't fail
398 if they don't exists.
399 * test/test5/stack.ml: New.
400 * test/test5/a.ml: A test case (from hevea).
401 * test/good-output: Update.
403 2007-02-08 Nicolas Pouillard <nicolas.pouillard@gmail.com>
405 Ocamldoc, extension:* tag ...
408 * ocaml_tools.ml: The ocamldoc support now takes into account two modes
410 * ocaml_specific.ml: Two more rules and many flags for some of the
412 * signatures.mli: Some comments.
413 * tools.ml: Add the extension:* tag.
416 2007-02-08 Berke Durak <berke.durak@inria.fr>
418 Hygiene generates sterilize.sh.
428 2007-02-07 Berke Durak <berke.durak@inria.fr>
430 Updated section on ocamldoc.
432 * manual/manual.tex: .
434 2007-02-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
436 Some minor manual and slides changes.
438 * ocamlbuild-presentation.rslide,
439 * manual/manual.tex: Ditto.
441 2007-02-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
443 Make links for the documentation.
445 * main.ml: Handle doc.
446 * test/good-output: Update.
448 2007-02-07 Berke Durak <berke.durak@inria.fr>
450 Added manual section for ocamldoc.
452 * manual/manual.tex: .
455 2007-02-07 Berke Durak <berke.durak@inria.fr>
457 Fixed truncated display problem.
462 2007-02-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
466 * start.sh: Swap lines.
467 * Makefile: -verbose.
469 2007-02-07 Berke Durak <berke.durak@inria.fr>
473 * manual/manual.tex: .
476 2007-02-06 Nicolas Pouillard <nicolas.pouillard@gmail.com>
478 Make -a more static, to avoid some complications.
483 * ocaml_specific.ml: Ditto.
485 2007-02-06 Nicolas Pouillard <nicolas.pouillard@gmail.com>
489 * ocaml_compiler.ml: Don't use these refs too early.
490 * ocamlbuild-presentation.rslide: .
492 2007-02-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
496 Somewhat a big patch, but that's just moving things around.
498 * signatures.mli: Add TAGS, OUTCOME, MISC, OPTIONS, ARCH and PLUGIN.
499 * ocamlbuild_plugin.mli: New.
500 * ocamlbuild_plugin.ml: Conform to the sig.
503 * command.mli: Add a tags type.
504 * main.ml: Quit early if no targets.
506 * my_std.mli: More things are in signatures.
508 * resource.mli: Remove the type t that was an Pathname.t alias.
510 * options.mli: Add ext_lib, ext_obj, ext_dll.
511 * ocaml_compiler.ml: Update.
512 * ocaml_tools.ml: Update to Outcome.
513 * ocaml_specific.ml: Update.
514 * ocaml_utils.mli: Remove *ext_*.
515 * ocaml_arch.mli: Now in signatures.
516 * pathname.ml: Add readdir.
517 * slurp.ml: open Outcome.
521 * solver.mli: Update to Resource.t and Outcome.t.
522 * tags.mli: Now in Signatures.
523 * test/good-output: Update.
524 * test/test8/test.sh,
525 * test/test3/test.sh,
526 * test/test4/test.sh,
527 * test/test5/test.sh,
528 * test/test6/test.sh,
529 * test/test7/test.sh,
530 * test/test2/test.sh: Update to -verbose 0.
532 2007-02-05 Berke Durak <berke.durak@inria.fr>
536 * manual/manual.tex: .
539 2007-02-05 Berke Durak <berke.durak@inria.fr>
541 Described display line.
543 * manual/manual.tex: .
545 2007-02-05 Berke Durak <berke.durak@inria.fr>
547 Renamed -debug as -verbose. Authorized spaces etc. in flags. Continuing documentation.
550 * manual/manual.tex: .
553 2007-02-05 Berke Durak <berke.durak@inria.fr>
559 * man/ocamlbuild.1: New.
560 * manual/manual.tex: .
563 2007-02-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
569 2007-02-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
571 Typo s/Orignal/Original/g.
573 2007-02-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
575 Make signatures and std_signatures mliS.
577 * signatures.ml: Remove.
578 * std_signatures.ml: Remove.
579 * signatures.mli: New.
580 * std_signatures.mli: New.
582 * lexers.mll: Allow any prefix: for tags.
584 2007-02-04 Nicolas Pouillard <nicolas.pouillard@gmail.com>
586 The beginning of a presentation.
588 * ocamlbuild-presentation.rslide: New.
590 2007-02-04 Nicolas Pouillard <nicolas.pouillard@gmail.com>
592 Also add who is the original author of the file.
595 * ocamlbuild_plugin.ml,
596 * ocamlbuildlight.ml,
597 * ocamlbuild_where.mli,
599 * ocamlbuildlight.mli,
609 * discard_printf.mli,
630 * my_unix_with_unix.ml,
634 * my_unix_with_unix.mli,
643 * ocaml_dependencies.ml,
645 * ocaml_specific.mli,
646 * ocaml_dependencies.mli,
649 * ocaml_compiler.mli,
679 2007-02-04 Nicolas Pouillard <nicolas.pouillard@gmail.com>
681 Add the header license.
683 * ocamlbuildlight.ml,
685 * ocamlbuild_plugin.ml,
686 * ocamlbuild_where.mli,
688 * ocamlbuildlight.mli,
698 * discard_printf.mli,
722 * my_unix_with_unix.ml,
723 * misc/opentracer.ml,
727 * my_unix_with_unix.mli,
733 * ocaml_dependencies.ml,
736 * ocaml_dependencies.mli,
737 * ocaml_compiler.mli,
738 * ocaml_specific.mli,
769 2007-02-03 Nicolas Pouillard <nicolas.pouillard@gmail.com>
771 Fix a bug in copy_file.
773 * my_std.ml: Also use the binary mode for the output channel.
775 2007-02-03 Nicolas Pouillard <nicolas.pouillard@gmail.com>
777 Add nopervasives, and nolabels.
779 * ocaml_specific.ml: Ditto.
781 2007-02-03 Nicolas Pouillard <nicolas.pouillard@gmail.com>
783 Windows cannot use executor.
785 * shell.ml: As in command.ml use executor only in non-windows and
787 * rule.ml: Update two error messages.
789 2007-02-02 Nicolas Pouillard <nicolas.pouillard@gmail.com>
791 Some minor things for the ocaml myocamlbuild for instance.
794 * configuration.mli: Add has_tag.
796 * my_std.mli: Add getenv and copy_chan.
798 * ocaml_utils.mli: Move some commands to rule.
799 * ocaml_specific.ml: Improve the menhir switching.
801 * options.mli: Add -use-menhir and -menhir options.
803 * rule.mli: Add copy_rule and move some commands from ocaml_utils.
806 2007-02-01 Nicolas Pouillard <nicolas.pouillard@gmail.com>
808 Move main sigs in signatures.ml and std_signatures.ml.
810 * ocamlbuild_pack.mlpack: .
811 * ocamlbuildlib.mllib: .
812 * ocamlbuildlightlib.mllib: .
813 * ocamlbuild.odocl: .
817 * my_unix_with_unix.ml: .
820 * ocaml_specific.ml: .
822 * std_signatures.ml: New.
823 * signatures.ml: New.
827 * test/test5/_tags: .
831 2007-02-01 Berke Durak <berke.durak@inria.fr>
833 Shell.run doesn't use execute_many in degraded mode.
837 2007-02-01 Berke Durak <berke.durak@inria.fr>
839 cp, rm -rf and mv-like commands use Executor to better play with display.
851 2007-02-01 Berke Durak <berke.durak@inria.fr>
853 Systematizing exit codes.
858 2007-02-01 Berke Durak <berke.durak@inria.fr>
860 Added automatic file: tag, changed flag syntax.
869 2007-01-31 Berke Durak <berke.durak@inria.fr>
871 Cleans up links to the _build directory.
879 2007-01-31 Nicolas Pouillard <nicolas.pouillard@gmail.com>
881 Restore the link to binary targets functionality.
883 * main.ml: Make it separate from target running.
885 2007-01-31 Nicolas Pouillard <nicolas.pouillard@gmail.com>
887 Add an hygiene hook pair.
889 * ocamlbuild_plugin.ml,
894 2007-01-31 Nicolas Pouillard <nicolas.pouillard@gmail.com>
896 The Killer feature about a fine grained dependency injection control.
899 * rule.mli: Add build_deps_of_tags and call it automatically before
901 * ocaml_compiler.mli: Rework tags, to have them when callinng
905 * ocaml_specific.mli: Move the exception Exit_build_error to main and
906 remove the old dep function.
907 * ocamlbuild_plugin.ml: Export some new functions.
908 * test/test7/myocamlbuild.ml: Add a dep declaration.
909 * test/test7/cool_plugin.ml: New.
910 * test/test7/_tags: New.
911 * test/good-output: Update.
914 * command.mli: Rename flags_of_tags as tag_handler.
915 * main.ml: Update error handling.
918 2007-01-30 Nicolas Pouillard <nicolas.pouillard@gmail.com>
920 Fix and improve the new link/deps system.
922 * ocaml_dependencies.ml,
923 * ocaml_dependencies.mli: Some fixes and improvements.
925 * pathname.mli: Add check_extension.
927 * ocaml_compiler.mli: Add support for hidden_packages and update.
929 2007-01-30 Nicolas Pouillard <nicolas.pouillard@gmail.com>
931 Reverse the last 2 patches, since there is fact no name clash.
933 2007-01-30 Nicolas Pouillard <nicolas.pouillard@gmail.com>
935 Shell -> Oshell second part.
937 * ocamlbuild.odocl: Ditto.
938 * test/good-output: Update.
940 2007-01-30 Nicolas Pouillard <nicolas.pouillard@gmail.com>
942 Rename the Shell module as Oshell to avoid a name clash with labltk.
948 * ocamlbuild_pack.mlpack,
959 2007-01-30 Nicolas Pouillard <nicolas.pouillard@gmail.com>
963 * test/test9/testglob.ml: More tests.
964 * glob_lexer.mll: Fix "/**".
965 * _tags: Restore my warnings.
966 * executor.ml: Use the unused variable.
968 2007-01-30 Nicolas Pouillard <nicolas.pouillard@gmail.com>
970 Improve dprintf and update.
972 * log.ml, log.mli: dprintf now wraps the message between "@[<2>" and "@]@.".
977 * ocaml_dependencies.ml,
984 * solver.ml: Update the dprintf usage.
986 2007-01-30 Nicolas Pouillard <nicolas.pouillard@gmail.com>
988 Add the new dependency linking system (plz test it !).
990 * ocamlbuild_pack.mlpack: Add a brand new module.
991 * ocaml_dependencies.ml: New.
992 * ocaml_dependencies.mli: New.
994 * ocaml_compiler.mli: Use this new module.
996 * resource.mli: Export a folding function on dependencies.
997 * TODO: Add something to do.
1001 2007-01-29 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1003 Executor exit codes.
1005 * executor.ml: Use the standard exit.
1006 * main.ml: Some exit codes are reserved for Executor.
1008 2007-01-29 Berke Durak <berke.durak@inria.fr>
1010 Executor returns finer-grained results.
1013 * manual/manual.tex: .
1015 2007-01-29 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1017 Toward a working command execute feature :).
1020 * executor.mli: FIXME.
1022 * command.mli: Update to the new signature and merge the degraded mode
1023 to avoid duplication.
1032 * test/good-output: Update.
1034 2007-01-29 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1036 Revert almost all of the 2 last patches.
1045 * ocaml_specific.ml: .
1052 2007-01-29 Berke Durak <berke.durak@inria.fr>
1054 Fixing before/after thunks.
1066 2007-01-29 Berke Durak <berke.durak@inria.fr>
1068 Adding before and after handlers to Executor.
1075 * manual/manual.tex: .
1077 2007-01-29 Berke Durak <berke.durak@inria.fr>
1079 Fixed multi-dir globbing.
1082 * manual/manual.tex: .
1084 2007-01-29 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1086 Add Rule.custom_rule and cleanup the ocamldep meta rule.
1089 * ocamldep.mli: Make it a meta rule (or a rule generator).
1091 * rule.mli: Add custom_rule.
1092 * ocaml_specific.ml: Update to Ocamldep.
1093 * test/good-output: Minor update.
1095 2007-01-29 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1099 * manual/Makefile: More things to remove (sometimes).
1100 * Makefile: Use $(BUILDDIR) instead of _build.
1102 2007-01-26 Berke Durak <berke.durak@inria.fr>
1104 Documenting glob expressions.
1106 * glob_lexer.mll: Added negative character classes.
1107 * manual/manual.tex: .
1109 2007-01-26 Berke Durak <berke.durak@inria.fr>
1111 Started documenting glob syntax.
1113 * manual/manual.tex: .
1115 2007-01-25 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1117 One other include dir fix.
1120 * test/test9/testglob.ml: Add a failing test (request for feature).
1121 * test/good-output: Update.
1123 2007-01-25 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1125 Include dirs and Backtrace.
1127 * main.ml: Fix -I, and restore the backtrace.
1129 * report.mli: Fix the backtrace and rename analyze to
1130 print_backtrace_analyze.
1132 2007-01-25 Berke Durak <berke.durak@inria.fr>
1134 Added cross-directory globbing.
1140 * test/test9/testglob.ml: .
1142 2007-01-25 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1144 Inlcude dirs trought tags.
1147 * my_unix_with_unix.ml: Imrpove stat errors.
1150 * pathname.ml: bmla.
1152 * slurp.mli: Add force, fix bugs.
1154 2007-01-25 Berke Durak <berke.durak@inria.fr>
1156 Fixed double display of error status.
1168 2007-01-25 Berke Durak <berke.durak@inria.fr>
1176 2007-01-25 Berke Durak <berke.durak@inria.fr>
1178 Fixed interface, handling of -- with no argument.
1180 * ocamlbuild_plugin.mli: Remove.
1181 * manual/manual.tex: .
1184 2007-01-25 Berke Durak <berke.durak@inria.fr>
1190 2007-01-25 Berke Durak <berke.durak@inria.fr>
1194 * ocamlbuild_plugin.mli: New.
1197 * ocaml_specific.ml: .
1201 2007-01-25 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1203 Cut down ocaml_specific in pieces.
1205 * ocaml_specific.ml,
1206 * ocaml_specific.mli: Split.
1207 * ocamlbuild_plugin.ml: Update.
1208 * ocamlbuild_pack.mlpack: Add new modules.
1210 * my_std.mli: Add good_outcome.
1211 * ocaml_utils.ml: New.
1212 * ocaml_tools.ml: New.
1213 * ocaml_compiler.ml: New.
1214 * ocaml_utils.mli: New.
1215 * ocaml_compiler.mli: New.
1216 * ocaml_tools.mli: New.
1218 * ocamldep.mli: New.
1220 * TODO: Move things done.
1222 2007-01-25 Berke Durak <berke.durak@inria.fr>
1224 Fixer return codes and error message flushing issues.
1233 2007-01-25 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1237 * ocaml_specific.ml: In -debug 1 mode there is a now a warning when
1238 ocamlbuild skip a seliently a module, supposing that's an error of
1241 2007-01-24 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1245 * ocamlbuild_plugin.ml,
1248 * main.ml: Add {Before,After}_rules.
1250 2007-01-24 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1254 * main.ml: Call these hooks.
1256 2007-01-24 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1258 Add a first version of dispatch.
1260 * ocamlbuild_plugin.ml: Export dispatch and the hooks type.
1261 * ocamlbuild_pack.mlpack: Add Hooks.
1264 * ocaml_specific.mli: New line.
1266 2007-01-24 Berke Durak <berke.durak@inria.fr>
1273 2007-01-24 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1275 Fix few more things.
1277 * ocamlbuildlight.ml: .
1278 * ocamlbuild_version.ml: Remove.
1280 * ocamlbuild_pack.mlpack: .
1282 * ocaml_specific.ml: .
1283 * ocaml_specific.mli: .
1285 * test/test2/toto.ml: .
1286 * test/good-output: .
1288 2007-01-24 Berke Durak <berke.durak@inria.fr>
1290 Read directories before files in Slurp.
1295 2007-01-24 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1299 * ocamlbuild_version.ml: Remove.
1301 * ocamlbuildlight.ml: Main is now in the pack.
1302 * ocamlbuild_pack.mlpack: more things.
1303 * ocaml_specific.ml: One fix and one comment.
1306 2007-01-24 Berke Durak <berke.durak@inria.fr>
1308 Splitting ocaml_specific into multiple files.
1310 * ocamlbuildlight.ml: .
1312 * ocamlbuild_version.ml: New.
1314 * ocamlbuildlight.mli: .
1315 * ocamlbuild_pack.mlpack: .
1323 * manual/manual.tex: .
1324 * ocaml_specific.ml: .
1325 * ocaml_specific.mli: .
1336 2007-01-24 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1340 * manual/manual.tex: Typo s/the the/the/g.
1341 * ocaml_specific.ml,
1342 * ocaml_specific.mli: Add some function to deal with linking of a
1343 module list. Add a better lib declaration function.
1346 2007-01-17 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1348 A new pathname operator and a bug fix.
1351 * pathname.mli: add the ( -.- ) operator to add an extension to a
1353 * ocaml_specific.ml: Use that new operator.
1354 * resource.ml: Fix a bug.
1356 2007-01-17 Berke Durak <berke.durak@inria.fr>
1360 * examples/example3/epoch.ml: .
1361 * examples/example3/make.sh: New.
1362 * manual/manual.tex: .
1365 2007-01-17 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1367 Infered mli's, and bug fixes.
1369 * my_unix.ml: Fix a bug.
1371 * manual/manual.tex: Use \verb.
1372 * ocaml_arch.ml: Don't always overide the forpack_flags_of_pathname
1374 * ocaml_arch.mli: Remove the reference.
1375 * ocaml_specific.ml: Update for forpack and add infered mli's.
1377 * pathname.mli: Add is_directory.
1379 2007-01-17 Berke Durak <berke.durak@inria.fr>
1383 * examples/example3/epoch.ml: New.
1384 * examples/example2/hello.ml: .
1385 * examples/example2/greet.ml: New.
1386 * examples/example3: New.
1387 * examples/example2: New.
1388 * manual/manual.tex: .
1391 2007-01-17 Berke Durak <berke.durak@inria.fr>
1395 * examples/example1/hello.ml: New.
1396 * examples/example1: New.
1398 * manual/manual.tex: .
1402 2007-01-17 Berke Durak <berke.durak@inria.fr>
1404 Wrote limitations and features.
1406 * manual/manual.tex: .
1408 2007-01-17 Berke Durak <berke.durak@inria.fr>
1412 * manual/manual.tex: .
1415 2007-01-17 Berke Durak <berke.durak@inria.fr>
1419 * manual/Makefile: New.
1420 * manual/manual.tex: New.
1423 2007-01-17 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1425 Bugs, menhir, path variables.
1427 * display.ml: Fix a bug.
1428 * glob.mli: Fix a typo.
1430 * lexers.mll: Extend ocamldep_output lexer and meta_path lexer.
1432 * my_std.mli: Add memo and String.rev.
1433 * ocaml_specific.ml,
1434 * ocaml_specific.mli: Better rules for C lib linking and menhir rules.
1436 * resource.mli: Handle naively some multiple variables.
1441 2007-01-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1443 Integrate dprintf to the display.
1446 * display.mli: Add dprintf and log_level.
1448 * log.mli: Add dprintf and level.
1450 * debug.mli: Remove.
1451 * options.ml: Update.
1452 * command.ml, ocaml_specific.ml, my_std.ml,
1453 * pathname.ml, ppcache.ml, resource.ml,
1454 * rule.ml, report.ml, slurp.ml, solver.ml,
1455 * configuration.ml, tags.ml: Update to Log.
1456 * ocamlbuild.odocl: Add Log, remove Debug.
1457 * ocamlbuild_pack.mlpack: Remove Debug.
1458 * bool.ml: Remove the debug dependency.
1460 2007-01-10 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1462 Execute and windows...
1464 * command.ml: Test windows here.
1465 * my_unix_with_unix.ml: Revert a little.
1467 2007-01-10 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1469 Don't use executor on windows.
1471 * my_unix_with_unix.ml: Since at least set_nonblock does not works on
1474 2007-01-10 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1476 Add the -no-log option and fix a log bug.
1479 * log.ml: Log is now a lazy to have the good setup order.
1480 * options.ml: Add the -no-log option.
1482 2007-01-10 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1484 Fix a bug with quoting of the nil string.
1486 * shell.ml: Quote the nil string.
1488 2007-01-09 Berke Durak <berke.durak@inria.fr>
1490 Documented the interface of the glob module.
1494 2007-01-09 Berke Durak <berke.durak@inria.fr>
1496 Continuing to document interfaces.
1500 * discard_printf.mli: .
1507 2007-01-09 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1509 Fix a bug with directory links to build dir.
1511 * ocaml_specific.ml,
1513 * options.mli: Keep the Slurp.entry instead of a set.
1514 * pathname.ml: Clean the entry instead of the set, that more precise.
1515 * Makefile: Add doc phonny rules.
1517 2007-01-09 Berke Durak <berke.durak@inria.fr>
1519 Doc for Configuration.
1521 * ocamlbuild_plugin.ml: .
1523 * configuration.ml: .
1524 * configuration.mli: .
1528 * ocaml_specific.ml: .
1531 2007-01-09 Berke Durak <berke.durak@inria.fr>
1533 Started documentation.
1539 2007-01-09 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1543 * Makefile: Use a link.
1544 * _tags: Don't spend times in that dir.
1546 2007-01-09 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1548 Put the log file in the source dir and not when building plugin.
1551 * log.mli: Use an optional.
1552 * options.ml: Update.
1553 * pathname.mli: Export in_source_dir.
1556 2007-01-09 Berke Durak <berke.durak@inria.fr>
1564 2007-01-09 Berke Durak <berke.durak@inria.fr>
1566 Writes tags to log file.
1570 2007-01-09 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1574 * ocamlbuild_pack.mlpack: Add Log.
1576 * command.mli: Use Log.
1579 * options.ml: Use Log.
1582 2007-01-09 Berke Durak <berke.durak@inria.fr>
1594 2007-01-09 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1596 Make usable the ocamldoc support.
1598 * ocaml_specific.ml: Add rules for ocamldoc.
1599 * ocamlbuild.odocl: New.
1600 * test/test3/proj.odocl: New.
1601 * test/good-output: Update.
1602 * test/test3/test.sh: Add a odoc test.
1604 2007-01-09 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1608 * ocamlbuild_plugin.ml: Add tag_file that simule one simple line in the
1610 * ocaml_specific.ml,
1611 * ocaml_specific.mli: Add ln_s, touch, chmod.
1613 * pathname.mli: Remove map_extension*, split_extension* and compiled
1614 files hack skipping.
1615 * rule.ml: Improve logging.
1616 * solver.ml: Use another level.
1618 2007-01-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1620 Fix a bug with debug rules.
1622 * ocaml_specific.ml: Move %.cmi from prods to deps.
1623 * test/good-output: Update.
1625 2007-01-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1627 Add debugging rules.
1628 To get a ocamlbuild with debugging info you can
1629 call `make debug' that will produce ocamlbuild.d.byte
1632 * ocaml_specific.ml,
1633 * ocaml_specific.mli: Add debugging rules, reorder warnings flag to
1634 have 'A' and 'a' before others.
1635 * Makefile: Add the debug target.
1636 * _tags: Cleanup (remove the debug tag that was set by default).
1638 2007-01-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1640 Add profiling support directly in rules.
1641 This means that you can now request for building a target such as
1642 my_main.p.native or my_lib.p.cmxa, that will create %.p.cmx
1643 intermediate files that do not interfer with non-profiling ones.
1645 * ocaml_specific.ml,
1646 * ocaml_specific.mli: Add rules and functions for native link and
1647 comilation in profiling mode.
1648 * Makefile: Add a profile target (require a fixed ocamlopt w.r.t pack).
1649 * _tags: Take care also of .p.cmx files.
1650 * glob.ml: IS.print is equivalent to print_is.
1651 * my_std.ml: Fix a bug.
1653 2007-01-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1655 Add some functions...
1657 * glob.ml: Extract is_suffix and is_prefix.
1659 * my_std.mli: Add String.{is_suffix,is_prefix,first_chars,last_chars}
1662 * pathname.mli: Add get_extensions, remove_extensions,
1663 update_extensions, map_extensions that treat all extensions instead of
1666 * tags.mli: Add +++ and --- that treat optional tags.
1668 2007-01-06 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1670 Change the default display in degraded mode.
1672 * command.ml: Ditto.
1674 2007-01-06 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1676 Cleanup Makefile options.
1680 2007-01-06 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1682 Add a simple opened files tracer.
1684 * misc/opentracer.ml: New.
1685 Just support ktrace for now. A strace one will be appreciated the
1686 interface to follow is quite simple anyway.
1689 2007-01-06 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1691 Handle better commands without Px atom.
1693 * command.ml: Display the whole command if no Px is found.
1694 * display.mli: No longer export these strings.
1696 2007-01-06 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1698 Handle myocamlbuild_config.mli.
1700 * ocaml_specific.ml: Add support for an interface to the config.
1702 2007-01-06 Berke Durak <berke.durak@inria.fr>
1704 Improved language of explanations in Report.
1708 2007-01-06 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1710 Factor and fix the plugin building.
1712 * ocamlbuildlight.mli: New.
1713 * executor.ml: Call cleanup, add a fixme.
1714 * ocaml_specific.ml: Factor and fix plugin stuffs.
1718 * _tags: No longer do favors to some modules.
1720 2007-01-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1724 * ocamlbuildlib.mllib: Add missing modules.
1725 * ocamlbuildlightlib.mllib: New.
1728 2007-01-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1730 Change the my_unix system.
1732 * ocamlbuildlight.ml: Just call the main.
1733 * ocamlbuild.ml: Setup my_unix_with_unix.
1734 * ocamlbuildlib.mllib: Remove executor and exit_codes for the lib.
1735 * ocamlbuild_pack.mlpack: Remove my_std and my_unix.
1736 * exit_codes.ml: Remove. Put them directly in executor.
1737 * executor.ml: Add exitcodes.
1738 * my_unix.ml: New. Default implem.
1739 * my_unix_with_unix.ml: Extend the default implem.
1740 * my_unix_without_unix.ml: Remove.
1741 * my_unix.mli: Add the implem type and val.
1742 * my_unix_with_unix.mli: New.
1743 * ocaml_specific.ml,
1750 2007-01-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1752 Don't use executor for the myocamlbuild call.
1754 * ocaml_specific.ml: Use sys_command directly.
1756 2007-01-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1760 * command.ml: That cause to have reversed sequences.
1762 2007-01-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1764 Some libs and ocamldoc changes.
1766 * ocaml_specific.ml,
1767 * ocaml_specific.mli: Improve ocaml_lib_flag, add fews libs.
1768 Fix ocamldoc support update tags, and use Px only once.
1770 2007-01-05 Berke Durak <berke.durak@inria.fr>
1772 Started ocamldoc support.
1774 * ocaml_specific.ml: .
1778 2007-01-05 Berke Durak <berke.durak@inria.fr>
1780 Pretend option didn't work.
1784 2007-01-05 Berke Durak <berke.durak@inria.fr>
1791 2007-01-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1793 Really call executor all time.
1796 * command.mli: Remove normalization.
1797 And execute_many, it's now execute that do all the job.
1798 In degraded mode it's execute_degraded.
1799 * my_unix_without_unix.ml: Update.
1800 * ocaml_specific.ml,
1803 * solver.ml: Update to Command.execute type.
1805 2007-01-05 Berke Durak <berke.durak@inria.fr>
1807 Isatty detection logic.
1811 * my_unix_with_unix.ml: .
1812 * my_unix_without_unix.ml: .
1815 2007-01-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1817 Always call executor.
1819 * command.ml: Unless in degraded mode.
1821 2007-01-05 Berke Durak <berke.durak@inria.fr>
1823 Removed debugging output, added period argument for ticker.
1830 2007-01-05 Berke Durak <berke.durak@inria.fr>
1832 Somewhat slow but executor seems to work.
1836 2007-01-05 Berke Durak <berke.durak@inria.fr>
1838 Added an Exit_codes module. Fixing Executor...
1841 * ocamlbuildlib.mllib: .
1843 * exit_codes.ml: New.
1846 2007-01-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1848 Fix the max_jobs argument passing.
1850 * command.ml: Use an optional argument.
1852 2007-01-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1856 * my_unix_without_unix.ml,
1857 * my_unix_with_unix.ml,
1859 * command.ml: Call the new execute_many.
1861 * executor.mli: Handle command sequences.
1863 2007-01-04 Berke Durak <berke.durak@inria.fr>
1865 Added Display.update.
1871 2007-01-04 Berke Durak <berke.durak@inria.fr>
1873 Added display function, indentation, language.
1879 2007-01-04 Berke Durak <berke.durak@inria.fr>
1881 Fixing interface of Executor.
1885 * my_unix_with_unix.ml: .
1887 2007-01-04 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1889 Add attributes to entries. Add the -byte-plugin option.
1892 * slurp.mli: Add an attribute field, add map, rename fold_pathnames to
1893 fold and filter_on_names to filter.
1895 * hygiene.mli: Perform hygiene only on entries with a true attribute.
1897 * options.mli: Add the native_plugin reference and the -byte-plugin
1899 * ocaml_specific.ml,
1900 * ocaml_specific.mli: Exclude files tagged not_hygienic or precious
1903 2007-01-04 Berke Durak <berke.durak@inria.fr>
1909 * executor.mli: New.
1912 2007-01-04 Berke Durak <berke.durak@inria.fr>
1914 Started executor module.
1918 * my_unix_with_unix.ml: .
1920 2007-01-04 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1922 Add virtual commands.
1925 * command.mli: Add the V constructor for virtual commands that
1926 will query a virtual command solver to use the best implementation
1927 of that virtual command.
1929 2007-01-04 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1931 Mainly, prepare for parallel display.
1933 * ocamlbuild_plugin.ml: Export file_rule.
1935 * command.mli: Some cleanup and preparation.
1936 * lexers.mll: Remove the dirty hack.
1938 * my_std.mli: Move search_in_path to Command and add ( @:= ).
1939 * my_unix_with_unix.ml,
1940 * my_unix_without_unix.ml,
1941 * my_unix.mli: Change the execute_many_using_fork type.
1942 * ocaml_specific.ml: Use the nopervasives tag for
1943 pervasives dependencies.
1945 * test/test8/myocamlbuild.ml: Update.
1946 * test/good-output: Update.
1949 2007-01-03 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1951 I don't like microbes.
1953 * hygiene.ml: Reverse the bool.
1955 2007-01-03 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1957 Fix the stat problem.
1959 * ocaml_specific.ml: Use the filtered entry for source_dir_path_set.
1961 2007-01-03 Berke Durak <berke.durak@inria.fr>
1963 Hygiene filters cleaned out microbes.
1967 * ocaml_specific.ml: .
1968 * ocaml_specific.mli: .
1972 2007-01-03 Nicolas Pouillard <nicolas.pouillard@gmail.com>
1974 Filename concat cleanup.
1977 * my_std.mli: Add filename_concat.
1987 Use filename_concat.
1990 2007-01-03 Berke Durak <berke.durak@inria.fr>
1996 2007-01-03 Berke Durak <berke.durak@inria.fr>
1998 Debugging tags for myocamlbuild.ml.
2000 * ocaml_specific.ml: .
2003 2007-01-02 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2005 Another atempt to fix the slurp bug and lazy.
2009 2007-01-02 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2011 Fix slurp w.r.t lazyness: keep the cwd.
2015 2007-01-02 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2017 My_unix, slurp in degraded mode, _tags in subdirs, fix the bug with -j...
2019 * ocamlbuild_version.mli: Remove.
2020 * ocamlbuild_where.mli: New.
2029 * configuration.mli: Honor _tags files in subdirs.
2030 * my_unix_with_unix.ml,
2035 * solver.ml: Fix the bug with the -j option.
2037 * slurp.mli: New degraded mode using the find command.
2038 Use lazy values to avoid computing useless directories.
2040 * options.mli: Update -version and -where.
2042 * pathname.mli: Remove the init section.
2044 * rule.mli: Add file_rule useful for rules that don't run a command but
2046 * ocaml_specific.ml: Fix some plugin bugs. Remove -I to ocamldep.
2047 Handle msvc .obj,.lib instead of .o,.a.
2048 * my_unix_without_unix.ml: Make works link stuffs running the readlink
2056 * test/test5/test.sh,
2058 * test/test6/test.sh,
2059 * test/test7/test.sh,
2060 * test/test4/test.sh,
2061 * test/test8/test.sh,
2062 * test/test3/test.sh,
2063 * test/test2/test.sh,
2066 * ocamlbuild_pack.mlpack: Update.
2068 2007-01-02 Berke Durak <berke.durak@inria.fr>
2074 2006-12-21 Berke Durak <berke.durak@inria.fr>
2081 2006-12-21 Berke Durak <berke.durak@inria.fr>
2083 Computing display length.
2087 2006-12-21 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2089 Add -classic-display.
2092 * command.mli: Provide a way to use the classic display.
2093 * options.ml: Add the -classic-display option.
2094 * Makefile: Remove ppcache form the default.
2096 2006-12-21 Berke Durak <berke.durak@inria.fr>
2098 Finish display only once ; display number of jobs cached.
2103 2006-12-21 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2107 * command.ml: Add begin .. end.
2109 2006-12-21 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2113 * command.ml: Select the display mode and remove the assert false.
2114 * display.ml: Change the print function to have a more compact one.
2117 2006-12-21 Berke Durak <berke.durak@inria.fr>
2119 Error support in Display.finish.
2123 2006-12-21 Berke Durak <berke.durak@inria.fr>
2129 2006-12-21 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2131 Integrate display mode.
2133 * ocamlbuild_pack.mlpack: Add display.
2134 * command.mli: Add Px to indicate to highligth this pathname.
2135 * command.ml: Support Px and call Display.
2136 * display.ml: Fix minor bugs.
2137 * ocaml_specific.ml: Declare some Px, and quiet ocamlyacc, ocamllex.
2138 * options.ml: Add quiet to default tags.
2139 * ppcache.ml: Detect more accuratly ocamlrun.
2140 * pathname.ml: Improve concat.
2141 * _tags: No profile.
2143 2006-12-21 Berke Durak <berke.durak@inria.fr>
2149 2006-12-21 Berke Durak <berke.durak@inria.fr>
2155 2006-12-21 Berke Durak <berke.durak@inria.fr>
2160 * my_unix_with_unix.ml: .
2161 * my_unix_without_unix.ml: .
2163 * test/test10/test.sh: New.
2165 * test/test10/dbdi: New.
2167 2006-12-21 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2169 Use a better init order, and fix a Filename.concat usage.
2171 * ocaml_specific.ml: The plugin should act before any initialization.
2172 * ocaml_arch.ml: Use Pathname.(/).
2174 2006-12-21 Berke Durak <berke.durak@inria.fr>
2176 Started user-friendly display module.
2180 2006-12-21 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2184 * ocaml_specific.ml: Config must be available for plugin building.
2186 2006-12-21 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2190 * command.ml: Quote if needed.
2191 * my_std.mli: Comment String.contains_string.
2192 * resource.ml: Remove a useless separator.
2193 * test/good-output: Update.
2195 2006-12-21 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2197 Plugin config file and profile mode.
2199 * ocaml_specific.ml: Fix a bug due to the lazyness of &&.
2200 * ocaml_specific.mli: Move some functions.
2202 2006-12-21 Berke Durak <berke.durak@inria.fr>
2204 Now compiles patterns for fast matching. Removed regexp support.
2211 * test/test9/testglob.ml: .
2212 * test/test9/dbgl: New.
2214 2006-12-20 Berke Durak <berke.durak@inria.fr>
2216 Pattern matching seems to start to work.
2220 2006-12-20 Berke Durak <berke.durak@inria.fr>
2222 Started faster pattern matching code.
2224 * ocaml_specific.ml: .
2227 2006-12-20 Berke Durak <berke.durak@inria.fr>
2229 myocamlbuild is rebuilt only as needed.
2232 * ocaml_specific.ml: .
2237 2006-12-20 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2239 Some changes mainly for windows support.
2242 * command.mli: Add the Quote constructor to help quoting building in
2244 * my_unix_with_unix.ml,
2245 * my_unix_without_unix.ml,
2246 * glob.ml: Commented reslash mode.
2248 * my_std.mli: Some new functions.
2249 * my_unix.mli: Export sys_command.
2250 * ocaml_specific.ml,
2251 * ocaml_specific.mli: Update and windows support.
2253 * options.mli: Remove the ocamlmklib option.
2254 * ppcache.ml: Fix a bug.
2255 * pathname.ml: Add more dirseps. Use a custom Filename.concat (for now).
2261 2006-12-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2267 2006-12-11 Berke Durak <berke.durak@inria.fr>
2269 Added -custom, fixed paths for installation.
2271 * ocaml_specific.ml: .
2274 2006-12-11 Berke Durak <berke.durak@inria.fr>
2280 2006-12-08 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2282 Add a basic ocamlmklib support.
2284 * ocaml_specific.ml,
2285 * ocaml_specific.mli: Use ocamlmklib to make libraries if enabled.
2287 * options.mli: Add -ocamlmklib and -use-ocamlmklib.
2289 2006-12-08 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2291 Export more references of options.
2294 * command.mli: Add ?quiet to execute.
2295 * ocaml_specific.ml,
2296 * ocaml_specific.mli: Update to options.
2298 * options.mli: Move ocamlc, ocamlopt... to references on command specs.
2299 * solver.ml: Update.
2300 * Makefile: Use _ocamldistr to avoid hygiene.
2301 * .vcs: Use _ocamldistr.
2303 2006-12-08 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2305 Ocaml distrib stuffs.
2308 * command.mli: Add a normalization callback.
2309 * ocaml_specific.ml,
2310 * ocaml_specific.mli: Add a more complete interface.
2312 * options.mli: Add nostdlib.
2313 * pathname.ml: Add mkdir -p to import in build.
2315 * rule.mli: Call normalization of commands for digest.
2316 * report.ml: Add ignore.
2317 * start.sh: Add report.ml*.
2318 * Makefile: Add distrib exportation (make a link).
2319 * .vcs: Unmask ocamldistrib link.
2321 2006-12-07 Berke Durak <berke.durak@inria.fr>
2328 2006-12-07 Berke Durak <berke.durak@inria.fr>
2334 2006-12-07 Berke Durak <berke.durak@inria.fr>
2336 Very rudimentary report analysis.
2341 2006-12-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2343 Update tests to run ocamlbuild correctly.
2345 * test/test2/test.sh,
2346 * test/test3/test.sh,
2347 * test/test4/test.sh,
2348 * test/test5/test.sh,
2349 * test/test6/test.sh,
2350 * test/test7/test.sh,
2351 * test/test8/test.sh,
2352 * test/test9/test.sh: Ditto.
2353 * test/good-output: Update.
2355 2006-12-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2357 Make test9 independant.
2359 * test/test9/test.sh: Ditto.
2361 2006-12-07 Berke Durak <berke.durak@inria.fr>
2363 Rewrote globbing engine, adding {,} ; moved reporting functions to Report.
2365 * ocamlbuild_pack.mlpack: .
2371 * ocaml_specific.ml: .
2377 * test/test9/testglob.ml: .
2378 * test/test9/test.sh: .
2379 * test/test3/test.sh: .
2382 2006-12-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2386 * ocamlbuildlight.ml: New.
2387 * ocamlbuild_pack.mlpack: Include new modules.
2388 * bool.ml: Fake dependency.
2389 * configuration.ml: Adapt to the glob parser.
2390 * command.ml: Export the fork usage.
2391 * glob.ml: Use Str through My_unix.
2392 * glob_lexer.mli: New.
2393 * glob_lexer.mll: Add slashs to valid character patterns.
2395 * lexers.mll: Use the glob parser.
2396 * my_std.ml: Use My_unix.
2397 * my_unix_with_unix.ml: New.
2398 * my_unix_without_unix.ml: New.
2400 * my_std.mli: Add search_in_path and change lazy force to ( !* ).
2401 * ocaml_specific.ml: Some updates.
2403 * options.mli: Add -ocamlrun.
2404 * pathname.ml: Adapt to an optional slurp.
2405 * ppcache.ml: Use search_in_path of my_std.
2406 * resource.ml: Update to ( !* ).
2407 * solver.ml: Export Unix errors reporting.
2409 * slurp.mli: Use My_unix.
2411 * test/test9/testglob.ml: Test a constant.
2414 * test/test4/_tags: Don't use regexp.
2415 * test/good-output: Add test9.
2416 * test/test9/test.sh: Remove the parent usage.
2417 * Makefile: Add the light mode.
2421 2006-12-06 Berke Durak <berke.durak@inria.fr>
2423 Extra tests for globbing.
2425 * test/test9/testglob.ml: .
2427 2006-12-06 Berke Durak <berke.durak@inria.fr>
2429 First draft of pattern matching.
2436 2006-12-06 Berke Durak <berke.durak@inria.fr>
2438 More hard-wired but common cases for globbing.
2441 * test/test9/testglob.ml: .
2443 2006-12-06 Berke Durak <berke.durak@inria.fr>
2445 Hidden interface in globber.
2448 * test/test9/testglob.ml: .
2450 2006-12-06 Berke Durak <berke.durak@inria.fr>
2452 Basic globbing works.
2456 * test/test9/testglob.ml: .
2458 2006-12-06 Berke Durak <berke.durak@inria.fr>
2464 * glob_ast.mli: New.
2467 * test/test9/testglob.ml: .
2470 2006-12-06 Berke Durak <berke.durak@inria.fr>
2474 * test/test9/testglob.ml: New.
2475 * test/test9/parent: New.
2476 * test/runtest.sh: .
2478 * test/test9/test.sh: New.
2480 2006-12-06 Berke Durak <berke.durak@inria.fr>
2482 Parser seems to work.
2487 2006-12-06 Berke Durak <berke.durak@inria.fr>
2494 2006-12-06 Berke Durak <berke.durak@inria.fr>
2496 Interface seems to be OK.
2501 2006-12-06 Berke Durak <berke.durak@inria.fr>
2503 Adding files for the globbing module.
2508 * glob_lexer.mll: New.
2511 2006-12-06 Berke Durak <berke.durak@inria.fr>
2513 Replaced numeric escapes.
2517 2006-12-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2519 Remove most of the Str usage by using ocamllex.
2521 * ocamlbuild_pack.mlpack: Remove Re, add Lexers.
2522 * configuration.ml: Use Lexers.
2523 * command.ml: Don't use Re.
2527 * my_std.mli: Add String.before and String.after.
2528 * ocaml_specific.ml,
2529 * ocaml_specific.mli: Use Lexers but also provide tags for warnings.
2534 * pathname.ml: Use Lexers.
2538 * Makefile: Igonre _build... and gives -ml to ocamllex.
2539 * _tags: Warnings for lexers.
2541 2006-12-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2543 Use Sys instead of Unix for readdir.
2546 * my_std.mli: Supress a Unix usage.
2548 2006-12-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2550 Add an option to disable the link creation.
2552 * ocaml_specific.ml: Honor this option.
2553 * options.ml: Declare it.
2554 * options.mli: Define it.
2556 2006-12-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2558 Don't import compiled files...
2560 * pathname.ml: For the OCaml compilation itself I need to exclude some
2561 dirs that contains compiled files but I want to use some of them with
2564 2006-12-05 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2566 Support flags for ocamlyacc and ocamllex.
2568 * ocaml_specific.ml,
2570 * options.mli: Add these options.
2572 2006-12-04 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2574 Two fixes (hygiene and libraries)...
2576 * hygiene.ml: Exit 0 if sterilize removes some files (since source
2577 files are cached in a rather persistent data structure I prefer let the
2578 user start on a fresh setup).
2579 * ocaml_specific.ml: Use the dirname if there is no directory named by
2580 removing the extension.
2582 2006-12-04 Berke Durak <berke.durak@inria.fr>
2584 Small bug in hygiene.
2588 2006-12-04 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2590 Add postition specifications to rules.
2593 * rule.mli: Add a way to specifie where to put a new rule
2594 (top,bottom,before another,after another).
2595 * flags.ml: Reorder.
2597 * my_std.mli: Add mv, fix an error handling.
2598 * ocaml_specific.ml: Better error message for circular dependencies.
2599 * ppcache.ml: Handle errors better.
2601 2006-11-29 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2603 Add a working multiple job support.
2606 * command.mli: Add different versions of execute_many including a
2607 version that use forks.
2609 * options.mli: Restore the -j option.
2610 * solver.ml: Call Command.execute_many.
2611 * test/runtest.sh: Pass $@ to sub tests.
2612 * test/good-output: Update.
2614 2006-11-28 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2618 * start.sh: Fix the link order.
2620 2006-11-28 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2622 One step toward multiple jobs: Add the support for suspended building.
2625 * resource.mli: Add the notion of suspended building.
2626 This represent a resource that is fully ready for evaluation, it's just
2627 a command and a function to apply after.
2628 * rule.ml: Do not really execute rules that can be safely suspended.
2629 * solver.ml: Play with suspended rules to collect as many as possible
2630 to get closer to a pararllel execution.
2632 2006-11-27 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2636 * Makefile: Fix deps.
2638 2006-11-27 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2640 Activates more warnings, and prepare the -j feature.
2642 * hygiene.ml: Consolidates fragile patterns.
2643 * my_std.ml: Likewise.
2644 * ocaml_specific.ml: Mainly update to the new builder prototype.
2646 * pathname.mli: Kick a useless parameter.
2647 * resource.ml: Remove dead code and update.
2649 * rule.mli: The bulider now takes a list of resource lists, it will
2650 try to make in parallel the first level of commands.
2651 * solver.ml: Update to builder without parallelism.
2652 * test/good-output: Update.
2653 * Makefile: Warnings are now set to -w A -warn-error A.
2655 2006-11-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2657 Fix packages... again.
2659 * ocaml_specific.ml: Ditto.
2661 2006-11-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2665 * ocaml_specific.ml: Try to handle better packages during link.
2666 * Makefile: Add the try_bootstrap rule.
2668 2006-11-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2670 Add -tag, -tags to options.
2672 * ocaml_specific.ml: Append default tags from options.
2674 * options.mli: Add -tag and -tags.
2677 2006-11-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2679 Fix a bug and update tests.
2681 * resource.ml: Use Hashtbl.replace of course instead of Hashtbl.add to
2683 * test/test7/test.sh,
2684 * test/test8/test.sh,
2685 * test/test2/test.sh,
2686 * test/test6/test.sh,
2687 * test/test4/test.sh,
2688 * test/test5/test.sh,
2689 * test/test3/test.sh: Extract program options to be sure that
2690 the -nothing-should-be-rebuilt option is before the -- one.
2691 * test/good-output: Update.
2693 2006-11-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2695 Use a hashtbl for digests.
2697 * resource.ml: Ditto.
2698 * ocaml_specific.ml: Remove dead code.
2700 2006-11-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2702 Use lists instead of sets for rule deps & prods.
2704 * ocaml_specific.ml: Move the mli dep first.
2706 * resource.mli: No more provide digest_resources but digest_resource.
2708 * rule.mli: Use list instead of sets for deps and prods, since they are
2709 not heavily updated and the order matter.
2711 * test/good-output: Yeah!
2713 2006-11-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2715 One more fix for libraries.
2717 * ocaml_specific.ml: Improve the link_exception handling.
2718 * test/good-output: Update.
2720 2006-11-25 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2722 Fix the library linking.
2724 * ocaml_specific.ml: The test7 is specially made to check that feature.
2726 2006-11-25 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2730 * ocamlbuild_pack.mlpack: Remove list_set
2731 * list_set.ml: Remove.
2732 * list_set.mli: Remove.
2733 * start.sh: Remove list_set.
2734 * test/good-output: Regen.
2736 2006-11-25 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2738 Fix the C rule when dirname = '.'.
2740 * ocaml_specific.ml: Don't move the output when it's useless.
2742 2006-11-25 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2744 Ignore ocamlbuild_version.ml.
2746 2006-11-25 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2748 New transitive closure.
2750 * ocamlbuild_version.ml: Remove.
2752 * my_std.mli: Add a debug mode for digests and run_and_read.
2753 * ocaml_specific.ml: New transitive closure.
2755 * pathname.mli: Export also parent_dir_name and fix same_contents.
2757 * resource.mli: Add dependencies.
2759 * test/good-output: Regen.
2760 * Makefile: Improve install.
2761 * .vcs: Ignore other _build dirs.
2763 2006-11-20 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2765 Rule definition shortcut and C files.
2768 * rule.mli: Allow to pass ~prod and ~dep when there is just one file.
2769 * ocaml_specific.ml: Add a rule for C files and use the previous
2772 2006-11-18 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2774 No more extend Format.
2778 * my_std.mli: Put directly ksbprintf and sbprintf in My_std.
2780 2006-11-18 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2782 Clean up and consistent use of Pathname instead of Filename.
2787 * ocaml_specific.ml,
2791 * resource.ml: That's it.
2793 2006-11-18 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2797 * ocamlbuild_pack.mlpack,
2803 2006-11-18 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2805 Remove List_set and List_map.
2807 * ocamlbuild_pack.mlpack: No more in the pack.
2808 * list_set.ml: Remove.
2809 * list_map.ml: Remove.
2810 * list_map.mli: Remove.
2811 * list_set.mli: Remove.
2812 * resource.ml: Use a Set.
2815 2006-11-18 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2817 Huge speed up, worth updating.
2820 * resource.mli: Use a hash instead of map, remove the percent type.
2822 * rule.mli: Remove the function for rule names. Use an exception to
2823 choose matching rules.
2825 2006-11-18 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2827 Speedup rule calling.
2830 * rule.mli: No more call the code rule twice to compute the digest.
2831 * ocaml_specific.ml,
2832 * ocaml_specific.mli: Adapt to Rule.
2833 * test/test8/myocamlbuild.ml: Use the exception.
2834 * test/good-output: Update.
2835 * boot: Update svn:ignore.
2837 2006-11-16 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2839 Remove phony resources and include dependencies.
2841 * ocaml_specific.ml,
2851 * test/test8/myocamlbuild.ml: Simplify a lot the code.
2853 2006-11-16 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2855 Some improvements...
2858 * ocamlbuild_version.ml: New.
2859 * ocamlbuild_plugin.ml: New.
2860 * ocamlbuild_version.mli: New.
2861 * ocamlbuildlib.mllib: .
2862 * ocamlbuild.sh: Remove.
2863 * ocamlbuild_pack.mlpack: New.
2865 * ocaml_specific.ml: .
2866 * ocaml_specific.mli: .
2872 * test/test8/a.ml: New.
2873 * test/test7/a2.ml: .
2874 * test/test7/a3.ml: New.
2875 * test/test8/myocamlbuild.ml: New.
2876 * test/test7/myocamlbuild.ml: New.
2878 * test/test8/test.sh: New.
2879 * test/runtest.sh: .
2880 * test/test7/test.sh: .
2881 * test/good-output: .
2885 2006-11-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2887 Add support for libraries.
2889 * ocamlbuildlib.ml: Remove.
2890 * ocamlbuildlib.mllib: New.
2891 * ocaml_specific.ml: Rules and actions for libraries.
2892 * rule.ml: Improve explanations.
2893 * start.sh: Don't make ocamlbuildlib.
2894 * test/test7/a.mli: New.
2895 * test/runtest.sh: Add test7.
2896 * test/test7/test.sh: Add reverts for a.ml.
2897 * test/good-output: Update.
2898 * Makefile: Remove junk lines.
2900 2006-11-14 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2902 Add a tests for libraries.
2904 * test/test7/e.ml: New.
2905 * test/test7/d.ml: New.
2906 * test/test7/a.ml: New.
2907 * test/test7/b.ml: New.
2908 * test/test7/a2.ml: New.
2909 * test/test7/c.ml: New.
2910 * test/test7/test.sh: New.
2911 * test/test7/ablib.mllib: New.
2914 2006-11-14 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2916 Simplify dependency rules.
2918 * ocaml_specific.ml: No more use bytelinkdeps...
2920 * rule.mli: Add a dyndeps set.
2925 2006-11-14 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2929 * test/test2/vivi3.ml: .
2930 * test/good-output: .
2932 2006-11-10 Berke Durak <berke.durak@inria.fr>
2934 Added -sterilize option.
2937 * hygiene.mli: ditto
2938 * ocaml_specific.ml: ditto
2940 * options.mli: ditto
2942 2006-11-10 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2944 View the context dir in first.
2946 * pathname.ml: Ditto.
2948 2006-11-10 Berke Durak <berke.durak@inria.fr>
2950 Added thread and profile tags.
2952 * ocaml_specific.ml: ditto.
2954 2006-11-10 Berke Durak <berke.durak@inria.fr>
2956 Added law for leftover dependency files.
2958 * ocaml_specific.ml: ditto.
2960 2006-11-10 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2962 Reverse the ignore_auto default value.
2964 * options.ml: Add -no-skip, remove -ignore-auto, add -Is and -Xs.
2965 * test/test2/test.sh,
2966 * test/test5/test.sh,
2967 * test/test6/test.sh,
2968 * test/test4/test.sh,
2969 * test/test3/test.sh,
2970 * Makefile: Revert flags.
2972 2006-11-10 Berke Durak <berke.durak@inria.fr>
2974 Added install target to Makefile.
2978 2006-11-10 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2980 Deal with for-pack flags...
2982 * ocaml_arch.ml: Define a hook.
2983 * ocaml_arch.mli: Declare it.
2984 * ocaml_specific.ml: Use it.
2985 * test/test6: Ignore main.byte.
2987 2006-11-09 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2989 Fix start.sh and remove dead code.
2991 * ocaml_specific.ml: Remove dead code about ignore_auto.
2992 * start.sh: Swap two modules.
2993 * test/test6/main.byte: Remove.
2995 2006-11-09 Nicolas Pouillard <nicolas.pouillard@gmail.com>
2997 Pack now works great...
2999 * ocamlbuild.sh: Use ocamlopt.
3000 * command.ml: Reset filesys cache.
3002 * my_std.mli: Add a filesys cache for
3003 case sensitive file_exists and digest over files.
3004 * ocaml_specific.ml: Work on link and packs.
3005 * ppcache.ml: Exit 2 is for unix.
3013 * test/test5: Update.
3015 2006-11-07 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3017 Too lazy to fill this up :).
3026 * ocaml_specific.ml,
3027 * ocaml_specific.mli,
3044 * test/test5/test.sh,
3045 * test/test4/test.sh,
3046 * test/test3/test.sh,
3048 * test/test2/test.sh,
3049 * test/test6/test.sh,
3053 2006-11-04 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3055 Some pack,dirs stuffs.
3058 * ocamlbuildlib.ml,ew.
3064 * ocaml_specific.ml,
3065 * ocaml_specific.mli,
3066 * ocaml_arch.mli,ew.
3079 2006-10-31 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3081 Remove the dirty thing about cmi's.
3083 * ocaml_specific.ml,
3084 * ocaml_specific.mli: Moves of files are no more needed.
3085 * test/good-output: Update.
3087 2006-10-31 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3089 Some renaming and cleanup...
3093 * configuration.mli,
3095 * ocaml_specific.ml,
3098 * test/test6/test.sh: Do that.
3100 2006-10-31 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3102 Use the nothing-should-be-rebuilt for tests and update the output.
3105 * test/test2/test.sh,
3106 * test/test3/test.sh,
3107 * test/test4/test.sh,
3108 * test/test5/test.sh,
3109 * test/test6/test.sh,
3110 * test/good-output: Do that.
3112 2006-10-31 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3114 Add a mode usefull for tests.
3116 * options.ml, options.mli, rule.ml:
3117 This new mode fails when something needs to be rebuilt.
3119 2006-10-31 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3121 Improve the ocaml rule set.
3123 * ocaml_specific.ml: Yipee!
3125 2006-10-31 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3127 Add scripts to run tests.
3129 * test/test2/vivi1.ml: New.
3130 * test/test2/vivi2.ml: New.
3131 * test/test2/vivi3.ml: New.
3132 * test/test2/vivi.ml: .
3133 * test/test4/test.sh: New.
3134 * test/test5/test.sh: New.
3135 * test/test2/test.sh: New.
3136 * test/test6/test.sh: .
3137 * test/good-output: New.
3138 * test/test3/test.sh: New.
3139 * test/runtest.sh: New.
3141 2006-10-31 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3143 Restore some recursivity for includes.
3146 * resource.mli: Remove the digest field.
3148 * test/test6/test.sh: .
3150 2006-10-30 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3152 Remove the arbitrary deep dependencies.
3154 * ocaml_specific.ml,
3155 * ocaml_specific.mli: No more implicit transitives deps.
3157 * resource.mli: Remove as many things as possible.
3160 * solver.ml: Simplify.
3161 * command.ml: Fix newlines and flush.
3163 2006-10-30 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3165 Separated preprocessing, total order over rules...
3170 * ocaml_specific.ml,
3171 * ocaml_specific.mli,
3181 * test/test2/tutu.ml,
3183 * test/test2/tyty.mli,ew.
3184 * test/test6/test.sh,
3187 * test/test5: Update.
3189 2006-10-27 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3191 Add options: -ocamlc,-ocamlopt,-ocamldep,-ocamlyacc,-ocamllex.
3194 * options.mli: Declare them.
3195 * ocaml_specific.ml: Use them.
3197 2006-10-27 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3201 * start.sh: Fix the output.
3203 2006-10-27 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3209 2006-10-27 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3211 Use the list based implems and fix many bugs.
3213 * ocamlbuild.ml: Rename some dependency files.
3214 * boot: Ignore boot/ocamlbuild.byte.save.* files.
3215 * command.ml: Fix command printing.
3217 * my_std.mli: Add List.equal, use the cp command in Shell.cp.
3218 * ocaml_specific.ml,
3219 * ocaml_specific.mli: Many things.
3220 * pathname.ml, pathname.mli: Make compare obselete prefer equal.
3221 * resource.ml, resource.mli: Add print_cache and use list based
3223 * Makefile: Add the bootstrap rule.
3225 2006-10-27 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3227 Add a test for fine-grained dependencies.
3229 * test/test6/main.ml: New.
3230 * test/test6/d.ml: New.
3231 * test/test6/b.ml: New.
3232 * test/test6/a.ml: New.
3233 * test/test6/main.mli: New.
3234 * test/test6/a.mli: New.
3235 * test/test6/d.mli: New.
3236 * test/test6/b.mli: New.
3237 * test/test6/b.mli.v2: New.
3238 * test/test6/main.byte: New.
3239 * test/test6/d.mli.v1: New.
3240 * test/test6/test.sh: New.
3241 * test/test6/d.mli.v2: New.
3242 * test/test6/b.mli.v1: New.
3245 2006-10-26 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3247 Dummy implementations for set and map using lists.
3248 The main advantage is to only rely on the equal function that is simpler
3249 to maintain correct in an imperative setting.
3253 * list_map.mli: New.
3254 * list_set.mli: New.
3256 2006-10-24 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3258 Fixes and improvment.
3263 * ocaml_specific.ml,
3264 * ocaml_specific.mli,
3270 * solver.mli: The previous version was somwhat unstable.
3272 2006-10-24 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3279 * ocaml_specific.ml,
3280 * ocaml_specific.mli,
3289 Simplify the whole solver by removing the value type.
3290 Rule code now returns a resource set, that is injected as dependencies.
3291 So rule code always returns unit. But can raise exceptions.
3292 Add -ignore, and -ignore-auto options to workaround ocamldep
3293 approximations without igonring errors.
3294 * Makefile: Add backup and restore targets.
3296 2006-10-23 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3298 Compute digests of dependencies recursively.
3301 * ocaml_specific.ml,
3308 2006-10-23 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3310 One step toward a parallelisable system.
3314 * ocaml_specific.ml,
3315 * ocaml_specific.mli,
3320 * solver.ml: Update.
3322 * value.mli: Remove.
3324 2006-10-20 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3326 Add vcs config file to setup a good default setup.
3330 2006-10-20 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3332 Simplify the bootstrap by introducing a shell script.
3334 * boot/ocamlbuild.byte: Remove. Useless in distribution mode
3335 but will be created, the first time. So the devel is not
3338 * Makefile: Remove the old one to use start.sh.
3340 2006-10-20 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3342 Take command line in account for the digest computation.
3347 * ocaml_specific.ml,
3348 * ocaml_specific.mli,
3355 * value.mli: Update.
3357 2006-10-19 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3359 New pathname representation.
3361 * pathname.ml, pathname.mli: This new representation should
3362 avoids "fix" problems.
3364 2006-10-17 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3366 Change the cache implem -> now really fast at link time.
3369 * boot/ocamlbuild.byte,
3371 * ocaml_specific.ml,
3375 * solver.ml: By replacing various sets by a map of records and
3376 remember that something has not changed, or cannot be built;
3377 there is a real speedup. In particular to detect that the link is
3378 not necessary to do.
3380 2006-10-17 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3382 Add a basic support for a digest based cache verification.
3384 * resource.ml, resource.mli: Add have_digest and store_digest.
3385 * rule.ml: Use these digests but don't include the command for
3387 * test/test2/vivi.ml, test/test2/tata.mli: Dummy updates.
3389 2006-10-16 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3391 Split in many files.
3393 * ocamlbuild.ml: Splitted.
3394 * boot/ocamlbuild.byte: Updated.
3395 * configuration.ml: New.
3396 * configuration.mli: New.
3405 * ocaml_specific.ml: New.
3406 * ocaml_specific.mli: New.
3410 * pathname.mli: New.
3414 * resource.mli: New.
3419 * test/test5/d.ml: New.
3421 * test/test5/b.ml: New.
3422 * test/test5/a.ml: New.
3424 * test/test5/a.mli: New.
3425 * test/test5/c.mlpack: New.
3426 * test/test5/_tags: New.
3432 2006-10-16 Berke Durak <berke.durak@inria.fr>
3434 Various useful changes.
3436 * ocamlbuild.ml: Hygiene to true.
3437 * slurp.ml: Remove debugging
3438 * Makefile: Clean annot and object files.
3440 2006-10-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3444 * ocamlbuild.ml: Add support for -g, -dtypes, and -rectypes in
3446 * _tags: New. Specify how to build ocamlbuild itself.
3448 * boot/ocamlbuild.byte: New. A bytecode version needed to
3450 * Makefile: By default make it a wrapper over ocamlbuild in boot.
3452 2006-10-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3456 * ocamlbuild.ml: Don't assoc over pathnames since the default
3457 compare is wrong and slow use the string repr.
3459 2006-10-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3461 Allow to control flags, and libraries by tags.
3463 * ocamlbuild.ml: In the _tags file you can add or remove flags
3464 using a colon flag_name:flag_value.
3465 * test/test2/vivi.ml,
3467 * test/test4/b/bb.ml: Dummy updates.
3468 * test/test3/_tags: New.
3469 * test/test4/_tags: New.
3471 2006-10-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3473 Add a tag based flag system.
3475 * test/test2/vivi.ml: An example.
3476 * test/test2/_tags: New.
3477 * ocamlbuild.ml: Now a command can request for flags by giving a
3478 set of tags these tags include file specific tags this allow to
3479 tweak flags by just providing a _tags file.
3481 2006-10-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3483 Add -lib,-libs options remove -P.
3485 * ocamlbuild.ml: -P Is useless due to the fact that we now
3486 have the same directory structure in the _build directory.
3487 Add -lib,-libs that allows one to specify -lib unix without
3488 its extension in order to request for native and byte
3491 2006-10-15 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3493 Multi directories now works ;).
3495 * ocamlbuild.ml: Solve the whole problem by improving the
3496 Pathname module. Pathnames are now symbolic values that
3497 can include variable names. These variable names represent
3498 still ambiguous pathnames /a/b/(c|d as x1)/e.ml but variables
3499 can be shared, so discovering that /a/b/(c|d as x1)/e.ml is in
3500 fact /a/b/c/e.ml will make /a/b/(c|d as x1)/e.cmo automatically
3501 take this value /a/b/c/e.cmo cause it shares the x1 variable.
3503 2006-10-13 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3505 I prefer capitalized names.
3509 2006-10-13 Berke Durak <berke.durak@inria.fr>
3511 Added an AUTHORS file.
3515 2006-10-13 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3520 * vcs/ocamlbuild.rb: New.
3522 2006-10-13 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3524 * ocamlbuild.ml: Restore dependencies.
3526 2006-10-13 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3530 * Makefile, discard_printf.ml: Ditto.
3532 2006-10-13 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3534 Improve the directory handling.
3536 * ocamlbuild.ml: Ditto, but there is still a problem with native.
3539 2006-10-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3541 Fix native dependencies.
3543 * ocamlbuild.ml: By default due to inlining the cmx dependencies
3544 are needed to build a cmx.
3545 * Makefile: Add native support.
3547 2006-10-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3549 Use phony for linkdeps.
3551 * ocamlbuild.ml: Ditto.
3553 2006-10-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3555 Fix exit on multiple targets.
3557 * ocamlbuild.ml: Ditto.
3559 2006-10-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3561 More flags -lflags,-lflag...
3563 * ocamlbuild.ml: Add plrual form options for those that use
3564 comma separated lists.
3566 2006-10-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3568 Use phony resources for .cmo.linkdeps.
3570 * ocamlbuild.ml: Also restore the command running if "--"
3573 2006-10-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3575 Remove Include_string_list resources, add Phony resources.
3577 * ocamlbuild.ml: Also fix some rules.
3579 2006-10-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3583 * ocamlbuild.ml: Add -quiet.
3585 2006-10-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3587 Use str more intensively.
3589 * ocamlbuild.ml: Also clean up useless functions.
3591 2006-10-11 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3593 Fix link dependencies.
3595 * ocamlbuild.ml: Force to consider recursivly Include_ tagged
3596 resources for their full contents. Alas it takes more time to
3597 know if we need to recompute the link.
3598 * test/test2/vivi.ml: Update.
3600 2006-10-10 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3602 Support multiple directories, it can compile the OCaml compiler :).
3604 * ocamlbuild.ml: Add directory handling but also start
3605 the tags config files handling.
3606 * Makefile: Use str.cma.
3608 2006-10-08 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3610 Add library support.
3612 * ocamlbuild.ml: Deduce basic set of tags form the target
3615 2006-10-08 Nicolas Pouillard <nicolas.pouillard@gmail.com>
3617 More customisable flags, and cycle detection.
3619 * ocamlbuild.ml: Add some flags -lflag, -ppflag, -cflag, --.
3620 Also add a detection mechanism for dependencies.
3621 * discard_printf.ml, Makefile: Update.