Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-07-04 12:44:43 -0700 (Tue, 04 Jul 2006)
Revision: 9416
Log message:

      Added the standard syntax
      
         $(X:suf1=suf2)
      
      which means
      
         $(replacesuffixes suf1, suf2, $X)
      
      Also, fixed the errored output so that we will actually see
      what happens when an error occurs:/
      

Changes  Path
+10 -5 omake-branches/0.9.8.x/src/build/omake_build.ml
+1 -1 omake-branches/0.9.8.x/src/env/omake_ast_lex.mll
+32 -0 omake-branches/0.9.8.x/src/env/omake_ast_parse.input
+6 -0 omake-branches/0.9.8.x/src/env/omake_gen_parse.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-07-04 12:49:14 -0700 (Tue, 04 Jul 2006)
Revision: 9417
Log message:

      Minor change for Win32.
      

Changes  Path
+2 -2 omake-branches/0.9.8.x/lib/build/C.om

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-07-05 09:42:47 -0700 (Wed, 05 Jul 2006)
Revision: 9421
Log message:

      ybryukhov@gc.cuny.edu wrote:
      > Were these backslashes ($(slash)="\\") intentionally replaced with "/" in src/Makefile.nt ?
      > It breaks Win32 compilation, "copy" does not like forward slashes.
      
      Doh, no that was due to an attempt I made to bring 0.9.8 closer to
      0.9.9 in terms of declarations.
      
      However, this was probably a bad idea.  In 0.9.8, we have the following
      
         f(x) =
             private.x = $(add $x, 1)
             value $x   # Unfortunately, this refers to $(public.x), not $(private.x)
      

Changes  Path
+7 -7 omake-branches/0.9.8.x/mk/make_gen
+154 -154 omake-branches/0.9.8.x/src/Makefile
+154 -154 omake-branches/0.9.8.x/src/Makefile.nt

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-07-05 10:14:51 -0700 (Wed, 05 Jul 2006)
Revision: 9422
Log message:

      Re-add the kqueue line:
      
      FAM_CFLAGS = -DFAM_ENABLED -DFAM_PSEUDO -DFAM_KQUEUE
      

Changes  Path
+1 -1 omake-branches/0.9.9.x/lib/configure/fam.om

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-07-06 15:43:00 -0700 (Thu, 06 Jul 2006)
Revision: 9425
Log message:

      Do not print silent commands (the ones with a leading @), even in diverted
      output.
      

Changes  Path
+2 -1 omake-branches/0.9.8.x/src/exec/omake_exec_print.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-07-06 17:28:40 -0700 (Thu, 06 Jul 2006)
Revision: 9426
Log message:

      When a cycle in implicit dependencies is detected, raise an exception (instead
      of simply considering the target as not buildable, which could be wrong - see
      http://lists.metaprl.org/pipermail/omake-devel/2006-June/000269.html)
      

Changes  Path
+9 -11 omake-branches/0.9.8.x/src/build/omake_target.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-07-08 10:38:08 -0700 (Sat, 08 Jul 2006)
Revision: 9434
Log message:

      Try using flock instead of lockf.
      Also, set close-on-exec for dependency files.
      

Changes  Path
+1 -0 omake-branches/0.9.8.x/src/exec/omake_exec_util.ml
+2 -1 omake-branches/0.9.8.x/src/ir/omake_state.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-07-11 17:17:02 -0700 (Tue, 11 Jul 2006)
Revision: 9439
Log message:

      Reverting the lockf->flock change for now. We may want to revisit this, but
      for now it is not clear whether changing it is a good idea, so it would be
      better to retain compatibility with the previous versions.
      

Changes  Path
+5 -8 omake-branches/0.9.8.x/src/ir/omake_state.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-07-12 10:08:49 -0700 (Wed, 12 Jul 2006)
Revision: 9440
Log message:

      Refined locking.  When updating the .omc file:
         - First take a read lock.
         - If the item doesn't exist, release the lock, and re-lock
           with a write-lock, and check again for the item before
           creating a new one.
      Will test again on mojave2+filer.
      

Changes  Path
+1 -1 omake-branches/0.9.8.x/src/build/omake_build.ml
+91 -22 omake-branches/0.9.8.x/src/env/omake_env.ml
+26 -12 omake-branches/0.9.8.x/src/env/omake_env.mli
+27 -14 omake-branches/0.9.8.x/src/eval/omake_eval.ml
+2 -6 omake-branches/0.9.8.x/src/ir/omake_state.ml
+2 -1 omake-branches/0.9.8.x/src/ir/omake_state.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-07-13 12:22:16 -0700 (Thu, 13 Jul 2006)
Revision: 9441
Log message:

      This changes the way that .BUILD_* targets are built.
      
      They are still called .BUILD_BEGIN, .BUILD_SUCCESS, and
      .BUILD_FAILURE.  However, instead of mixing these targets
      into the main build graph, we build them with a fresh
      set of worklist queues.
      
      Note, FAM events during the .BUILD_* phases are queued
      and processed once the phase is done.
      
      Also, any dependencies are pulled off of the main worklist
      during a .BUILD phase.  I think this should be changed.
      

Changes  Path
+132 -86 omake-branches/0.9.8.x/src/build/omake_build.ml
+18 -12 omake-branches/0.9.8.x/src/build/omake_build_type.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-07-15 12:08:27 -0700 (Sat, 15 Jul 2006)
Revision: 9446
Log message:

      Update the GPL to the currently posted version (the address
      of the FSF changed).
      

Changes  Path
+7 -12 omake-branches/0.9.8.x/LICENSE
Added omake-branches/0.9.8.x/LICENSE.OMake

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-07-15 12:27:06 -0700 (Sat, 15 Jul 2006)
Revision: 9447
Log message:

      Updated the OMake GPL license header (the address of the FSF changed).
      
      Added relicense.om in case we need to tweak it.  The only issue is whether
      we want version 2 specifically, or "(at your option), and later version".
      

Changes  Path
Added omake-branches/0.9.8.x/relicense.om
+9 -5 omake-branches/0.9.8.x/src/ast/omake_ast.ml
+9 -5 omake-branches/0.9.8.x/src/ast/omake_ast_print.ml
+9 -5 omake-branches/0.9.8.x/src/ast/omake_ast_print.mli
+9 -5 omake-branches/0.9.8.x/src/ast/omake_ast_util.ml
+9 -5 omake-branches/0.9.8.x/src/ast/omake_ast_util.mli
+9 -5 omake-branches/0.9.8.x/src/build/omake_build.ml
+9 -5 omake-branches/0.9.8.x/src/build/omake_build.mli
+9 -5 omake-branches/0.9.8.x/src/build/omake_build_tee.ml
+9 -5 omake-branches/0.9.8.x/src/build/omake_build_tee.mli
+9 -5 omake-branches/0.9.8.x/src/build/omake_build_type.ml
+9 -5 omake-branches/0.9.8.x/src/build/omake_build_util.ml
+9 -5 omake-branches/0.9.8.x/src/build/omake_build_util.mli
+9 -5 omake-branches/0.9.8.x/src/build/omake_builtin.ml
+9 -5 omake-branches/0.9.8.x/src/build/omake_builtin.mli
+9 -5 omake-branches/0.9.8.x/src/build/omake_builtin_type.ml
+9 -5 omake-branches/0.9.8.x/src/build/omake_builtin_util.ml
+9 -5 omake-branches/0.9.8.x/src/build/omake_builtin_util.mli
+9 -5 omake-branches/0.9.8.x/src/build/omake_rule.ml
+9 -5 omake-branches/0.9.8.x/src/build/omake_rule.mli
+9 -5 omake-branches/0.9.8.x/src/build/omake_target.ml
+9 -5 omake-branches/0.9.8.x/src/build/omake_target.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_arith.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_arith.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_base.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_base.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_file.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_file.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_fun.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_fun.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_io.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_io.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_io_fun.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_io_fun.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_object.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_object.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_rule.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_rule.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_shell.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_shell.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_sys.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_sys.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_target.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_target.mli
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_test.ml
+9 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_test.mli
+9 -5 omake-branches/0.9.8.x/src/clib/omake_shell_sys.c
+9 -5 omake-branches/0.9.8.x/src/clib/readline.c
+9 -5 omake-branches/0.9.8.x/src/env/omake_ast_lex.mli
+10 -6 omake-branches/0.9.8.x/src/env/omake_ast_lex.mll
+9 -5 omake-branches/0.9.8.x/src/env/omake_ast_parse.input
+9 -5 omake-branches/0.9.8.x/src/env/omake_command_digest.ml
+9 -5 omake-branches/0.9.8.x/src/env/omake_command_digest.mli
+9 -5 omake-branches/0.9.8.x/src/env/omake_env.ml
+9 -5 omake-branches/0.9.8.x/src/env/omake_env.mli
+9 -5 omake-branches/0.9.8.x/src/env/omake_exn_print.ml
+9 -5 omake-branches/0.9.8.x/src/env/omake_exn_print.mli
+9 -5 omake-branches/0.9.8.x/src/env/omake_gen_parse.ml
+9 -5 omake-branches/0.9.8.x/src/env/omake_ir_ast.ml
+9 -5 omake-branches/0.9.8.x/src/env/omake_ir_ast.mli
+9 -5 omake-branches/0.9.8.x/src/env/omake_ir_free_vars.ml
+9 -5 omake-branches/0.9.8.x/src/env/omake_ir_free_vars.mli
+9 -5 omake-branches/0.9.8.x/src/env/omake_ir_semant.ml
+9 -5 omake-branches/0.9.8.x/src/env/omake_ir_semant.mli
+9 -5 omake-branches/0.9.8.x/src/env/omake_lexer.ml
+9 -5 omake-branches/0.9.8.x/src/env/omake_parser.ml
+9 -5 omake-branches/0.9.8.x/src/eval/omake_eval.ml
+9 -5 omake-branches/0.9.8.x/src/eval/omake_eval.mli
+9 -5 omake-branches/0.9.8.x/src/eval/omake_value.ml
+9 -5 omake-branches/0.9.8.x/src/eval/omake_value.mli
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec.ml
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec.mli
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_id.ml
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_id.mli
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_local.ml
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_local.mli
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_notify.ml
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_notify.mli
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_print.ml
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_print.mli
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_remote.ml
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_remote.mli
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_type.ml
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_util.ml
+9 -5 omake-branches/0.9.8.x/src/exec/omake_exec_util.mli
+9 -5 omake-branches/0.9.8.x/src/ir/omake_cache.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_cache.mli
+9 -5 omake-branches/0.9.8.x/src/ir/omake_cache_type.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_command.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_command.mli
+9 -5 omake-branches/0.9.8.x/src/ir/omake_command_type.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_install.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_install.mli
+9 -5 omake-branches/0.9.8.x/src/ir/omake_ir.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_ir_print.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_ir_print.mli
+9 -5 omake-branches/0.9.8.x/src/ir/omake_ir_util.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_ir_util.mli
+9 -5 omake-branches/0.9.8.x/src/ir/omake_node.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_node.mli
+9 -5 omake-branches/0.9.8.x/src/ir/omake_node_sig.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_node_type.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_options_type.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_shell_type.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_state.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_state.mli
+9 -5 omake-branches/0.9.8.x/src/ir/omake_symbol.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_virtual_id.ml
+9 -5 omake-branches/0.9.8.x/src/ir/omake_virtual_id.mli
+9 -5 omake-branches/0.9.8.x/src/magic/omake_gen_magic.ml
+9 -5 omake-branches/0.9.8.x/src/main/cvs_realclean.ml
+9 -5 omake-branches/0.9.8.x/src/main/omake_main.ml
+9 -5 omake-branches/0.9.8.x/src/main/omake_main.mli
+9 -5 omake-branches/0.9.8.x/src/main/omake_shell.ml
+9 -5 omake-branches/0.9.8.x/src/main/omake_shell.mli
+9 -5 omake-branches/0.9.8.x/src/shell/omake_shell_job.ml
+9 -5 omake-branches/0.9.8.x/src/shell/omake_shell_job.mli
+9 -5 omake-branches/0.9.8.x/src/shell/omake_shell_lex.ml
+9 -5 omake-branches/0.9.8.x/src/shell/omake_shell_lex.mli
+9 -5 omake-branches/0.9.8.x/src/shell/omake_shell_parse.mly
+9 -5 omake-branches/0.9.8.x/src/shell/omake_shell_sys.mli
+9 -5 omake-branches/0.9.8.x/src/shell/omake_shell_sys_type.ml
+9 -5 omake-branches/0.9.8.x/src/shell/omake_shell_sys_unix.ml
+9 -5 omake-branches/0.9.8.x/src/shell/omake_shell_sys_win32.ml
+9 -5 omake-branches/0.9.8.x/src/util/fmarshal.ml
+9 -5 omake-branches/0.9.8.x/src/util/ocaml_patch.mli
+9 -5 omake-branches/0.9.8.x/src/util/ocaml_patch_unix.ml
+9 -5 omake-branches/0.9.8.x/src/util/ocaml_patch_win32.ml
+9 -5 omake-branches/0.9.8.x/src/util/omake_marshal.ml
+9 -5 omake-branches/0.9.8.x/src/util/omake_print_util.ml
+9 -5 omake-branches/0.9.8.x/src/util/omake_print_util.mli
+9 -5 omake-branches/0.9.8.x/src/util/omake_printf.ml
+9 -5 omake-branches/0.9.8.x/src/util/omake_readline.ml
+9 -5 omake-branches/0.9.8.x/src/util/omake_readline.mli
+9 -5 omake-branches/0.9.8.x/src/util/omake_util.ml
+9 -5 omake-branches/0.9.8.x/src/util/omake_util.mli
+9 -5 omake-branches/0.9.8.x/src/util/omake_wild.ml
+9 -5 omake-branches/0.9.8.x/src/util/omake_wild.mli