Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-01 17:20:10 -0700 (Sun, 01 Apr 2007)
Revision: 10315
Log message:
operation, re-creating all conflicts that ever existed.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-01 18:22:58 -0700 (Sun, 01 Apr 2007)
Revision: 10316
Log message:
Parse GTK2.0 successfully.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-01 20:05:27 -0700 (Sun, 01 Apr 2007)
Revision: 10317
Log message:
useful only after the "parse" branch.
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-02 11:27:16 -0700 (Mon, 02 Apr 2007)
Revision: 10318
Log message:
It would seem that in OCaml 3.10 beta, "ocamldep -modules" produces an output
that is slightly different from what we expect. Fixing.
Changes | Path |
+2 -2 | omake-branches/0.9.8.x/lib/build/OCaml.om |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-03 12:33:00 -0700 (Tue, 03 Apr 2007)
Revision: 10320
Log message:
Intermediate checkpoint while I work on the paper. This backports most of the
DLL wrapping and stub generation.
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-03 13:06:29 -0700 (Tue, 03 Apr 2007)
Revision: 10321
Log message:
Bug 658 - 3-place rules should be considered implicit.
Changes | Path |
+3 -3 | omake-branches/0.9.8.x/src/build/omake_rule.ml |
+107 -104 | omake-branches/0.9.8.x/src/env/omake_env.ml |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-03 13:15:43 -0700 (Tue, 03 Apr 2007)
Revision: 10322
Log message:
Bug 658 follow-up - updated the documentation to explain that the 3-place
rules are implicit.
Changes | Path |
+11 -14 | omake-branches/0.9.8.x/doc/src/omake-grammar.tex |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-03 16:41:44 -0700 (Tue, 03 Apr 2007)
Revision: 10323
Log message:
Bug 660 - allow .PHONY sections to have a body.
.PHONY: targets: deps
commands
would now be equivalent to
.PHONY: targets
targets: %: deps
commands
Changes | Path |
+18 -7 | omake-branches/0.9.8.x/src/build/omake_rule.ml |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-04 09:27:12 -0700 (Wed, 04 Apr 2007)
Revision: 10326
Log message:
Cons-hash patch (rev. 10241) follow-up:
- Use "<foo>" instead of ".PHONY:foo" for pretty-printing
- Minor optimization - when compiting a relative path, first compare the
directories with a == (this is a common case and we already cons-hashed, so
this is worth it).
Changes | Path |
+13 -16 | omake-branches/0.9.8.x/src/ir/omake_node.ml |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-08 09:42:21 -0700 (Sun, 08 Apr 2007)
Revision: 10371
Log message:
A more efficient implementation of the "equal" function.
Changes | Path |
+4 -4 | omake-branches/0.9.8.x/src/ir/omake_node.ml |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-08 09:47:58 -0700 (Sun, 08 Apr 2007)
Revision: 10373
Log message:
Minor: corrected the error message.
Changes | Path |
+1 -1 | omake-branches/0.9.8.x/src/build/omake_build_util.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-08 10:04:33 -0700 (Sun, 08 Apr 2007)
Revision: 10374
Log message:
Better checking of name definitions.
Darcs is an unmitigated disaster. Two problems:
1. Frequent database corruption on MacOSX. Corruption
is unrecoverable.
2. "darcs pull" doesn't terminate. This means that
it is impossible to perform a merge. I only
changed 15 lines of code!
To get around problem #1, I have to work on Linux.
For #2, I take a very explicit approach.
- Place markers around code to be modified (*YYY*)...(*/YYY*)
- Add new code with explicit markers (*XXX*)...(*/XXX*)
- Delete old code and all markers.
This seems to help darcs figure out where the changes
are. And it is pretty painful too.
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-09 10:09:23 -0700 (Mon, 09 Apr 2007)
Revision: 10377
Log message:
Minor documentation fix.
Changes | Path |
+1 -1 | omake-branches/0.9.8.x/src/builtin/omake_builtin_target.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-09 10:24:55 -0700 (Mon, 09 Apr 2007)
Revision: 10378
Log message:
A number of small changes on DLLs.
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-09 10:32:13 -0700 (Mon, 09 Apr 2007)
Revision: 10379
Log message:
Added a section on "distclean" (AKA "realclean") approaches.
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-09 10:35:59 -0700 (Mon, 09 Apr 2007)
Revision: 10380
Log message:
Regenerated the documentation.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-09 20:44:40 -0700 (Mon, 09 Apr 2007)
Revision: 10385
Log message:
Call fairly simple dlls from ML (dll2/0.9.8.x/test/dll/simple).
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-10 16:18:42 -0700 (Tue, 10 Apr 2007)
Revision: 10391
Log message:
Fixing a problem, where filenames ending with a "/." were not always handled
correctly.
Changes | Path |
+12 -6 | omake-branches/0.9.8.x/src/ir/omake_node.ml |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-10 16:28:27 -0700 (Tue, 10 Apr 2007)
Revision: 10392
Log message:
Added an entry on RiskMetrics Group.
Changes | Path |
+3 -0 | omake-branches/0.9.8.x/doc/html/omake_users.html |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-10 16:42:49 -0700 (Tue, 10 Apr 2007)
Revision: 10394
Log message:
Made the "OMake is too old"/"OMake is too new" error messages a bit nicer.
Also, include the http://omake.metaprl.org/download.html URL in the "too old"
message.
Changes | Path |
+4 -2 | omake-branches/0.9.8.x/src/builtin/omake_builtin_rule.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-10 19:39:41 -0700 (Tue, 10 Apr 2007)
Revision: 10397
Log message:
Changed the callback model to make it more general. The tradeoff
is that only a fixed number of callback functions can be defined.
Back-ported the ability to load and use dlls from OMake. This is
reasonably safe--values are coerced to have the right type
before being passed to C (and backward, for callbacks).
Of course, C code can still bomb, even if you pass values
with the right types.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-11 11:05:17 -0700 (Wed, 11 Apr 2007)
Revision: 10398
Log message:
Propagate the callback model to OMake.
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-11 15:00:20 -0700 (Wed, 11 Apr 2007)
Revision: 10400
Log message:
Minor optimization
Changes | Path |
+7 -10 | omake-branches/0.9.8.x/src/util/omake_wild.ml |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-11 15:19:21 -0700 (Wed, 11 Apr 2007)
Revision: 10401
Log message:
Another small optimization.
Changes | Path |
+35 -39 | omake-branches/0.9.8.x/src/ir/omake_node.ml |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-11 15:56:01 -0700 (Wed, 11 Apr 2007)
Revision: 10402
Log message:
Another small optimization.
Changes | Path |
+3 -5 | omake-branches/0.9.8.x/src/ir/omake_node.ml |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-11 16:34:14 -0700 (Wed, 11 Apr 2007)
Revision: 10403
Log message:
Small optimization.
Changes | Path |
+3 -2 | omake-branches/0.9.8.x/src/build/omake_build.ml |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-11 17:44:18 -0700 (Wed, 11 Apr 2007)
Revision: 10405
Log message:
- Include the .com and .cmd in the list of "executable" suffixes recognized by Omake_cache, e.g. during PATH lookup.
- Have Omake_shell_job refer to Omake_cache's list of "executable" suffixes (for locating executables given with a path) for consistency.
Changes | Path |
+17 -19 | omake-branches/0.9.8.x/src/ir/omake_cache.ml |
+5 -7 | omake-branches/0.9.8.x/src/ir/omake_cache.mli |
+10 -16 | omake-branches/0.9.8.x/src/shell/omake_shell_job.ml |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-11 18:09:00 -0700 (Wed, 11 Apr 2007)
Revision: 10406
Log message:
A no-op code refactoring for bug 657 - have the Filename.create take a
directory argument, so that we can later check those directories for case
sensitivity.
Changes | Path |
+38 -27 | omake-branches/0.9.8.x/src/ir/omake_node.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-11 20:22:19 -0700 (Wed, 11 Apr 2007)
Revision: 10409
Log message:
Updated OMake callback mechanism.
Backported a couple of GTK GUIs.
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-12 09:34:00 -0700 (Thu, 12 Apr 2007)
Revision: 10410
Log message:
Removed couple of unused headers.
Changes | Path |
+0 -2 | omake-branches/0.9.8.x/src/clib/readline.c |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-12 11:16:46 -0700 (Thu, 12 Apr 2007)
Revision: 10411
Log message:
[Bug 657] When creating node and directory values on a Unix OS, try figuring
out whether the parent directory is on a case-insensitive filesystem.
The current implementation (not fully tested yet) works as follows:
- It keeps a memo table of previous tests (table is persistent at run-time,
but not across runs)
- The current test for a directory is to:
- Find an item inside it that has a letter in its name
- Create an alternate-case name
- Compree the stat values of the two
- It does: "lstat existing; lstat alternate; lstat existing" to detect
cases where the file is being changed in parallel. Only when both the
first and the last stats were successful and provided an identical
answer, the test is considered successful.
- The sequence for finding a item that can be tested
- First try the one for which the dir/node value is being created
- Next try reading the directory
- Next try creating a tmp file in that directory
- If nothing worked (this would happen if the directory does not exist or is
inaccessible), test its parent instead. If the root dir is untestable,
consider it to be case sensitive.
Good: The overhead does not seem too bad (within 5% for no-op rebuilds)
Bad: This will not handle cases, where the "case sensitivity" changes while
OMake is running. For example, if a new filesystem is mounted on top of
a one with the opposite case sensitivity, OMake will get confused.
Changes | Path |
+161 -54 | omake-branches/0.9.8.x/src/ir/omake_node.ml |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-12 11:30:14 -0700 (Thu, 12 Apr 2007)
Revision: 10412
Log message:
The new case sensitivity testing seems to work correctly with a VFAT fs
mounted on Linux. I am changing OCAMLDEP_MODULES_ENABLED to be true by default
for self-builds.
People on Mac OS X - please test. TIA!
Changes | Path |
+1 -1 | omake-branches/0.9.8.x/mk/defaults |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-13 11:50:04 -0700 (Fri, 13 Apr 2007)
Revision: 10422
Log message:
Improved the generation of error and warning messages.
Changes | Path |
+2 -2 | omake-branches/0.9.8.x/lib/configure/Configure.om |
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-13 16:03:25 -0700 (Fri, 13 Apr 2007)
Revision: 10428
Log message:
Added a comment that in OCaml 3.10 we should be using the new Unix.isatty.
Changes | Path |
+1 -0 | omake-branches/0.9.8.x/src/ir/omake_options.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-16 11:00:30 -0700 (Mon, 16 Apr 2007)
Revision: 10436
Log message:
Some modifications to the DLL stuff.
- Fixed 0-arity function calls.
- Added some more GTK stuff.
- Added a "target navigator" as a demo.
This basically finishes the major backporting of the DLLs.
It would be nice to implement the exploded-omake-value-to-C-value
operation. It is pretty straightforward, but not incredibly urgent.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-18 12:33:54 -0700 (Wed, 18 Apr 2007)
Revision: 10456
Log message:
Auto-generate some OMake wrappers for gtk, mainly to make it easier to use.
Should probably do the same for the ML bindings at some point.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-18 12:41:20 -0700 (Wed, 18 Apr 2007)
Revision: 10457
Log message:
Oops, this is a (huge) generated file.
Changes | Path |
Deleted | omake-jumbo-branches/dll2/0.9.8.x/tests/dll/gtk/gtk_omake.om |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-19 13:04:41 -0700 (Thu, 19 Apr 2007)
Revision: 10466
Log message:
Merge from revs 10219->10223 (0.9.8.1 release).
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-19 16:12:06 -0700 (Thu, 19 Apr 2007)
Revision: 10469
Log message:
Merge 10223+1 -> 10241 (hashnode patch).
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-19 16:25:38 -0700 (Thu, 19 Apr 2007)
Revision: 10470
Log message:
Merge 10241+1 -> 10266.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-19 16:35:06 -0700 (Thu, 19 Apr 2007)
Revision: 10471
Log message:
Merge 10266+1 -> 10318.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-19 18:24:57 -0700 (Thu, 19 Apr 2007)
Revision: 10473
Log message:
Merge 10318+1 -> 10405.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-19 18:50:25 -0700 (Thu, 19 Apr 2007)
Revision: 10474
Log message:
Merge 10405+1 -> 10428.
(Now current.)
Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2007-04-20 14:33:12 -0700 (Fri, 20 Apr 2007)
Revision: 10475
Log message:
[Bug 616] Release the .omakedb lock when polling for filesystem changes.
Changes | Path |
+126 -95 | omake-branches/0.9.8.x/src/build/omake_build.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-20 19:26:33 -0700 (Fri, 20 Apr 2007)
Revision: 10476
Log message:
Working on backwards-compatibility.
Consider a file foo.om with a single line:
bar.om
# empty
foo.om:
open Bar
X = 1
- X gets a default name (.DEFAULT/X).
- X gets exported from "open foo"
This is because the open-exports are computed after evaluating the file.
- X does not get exported from "autoload foo"
This is because the autoload-exports are computed purely syntactically.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-20 19:52:23 -0700 (Fri, 20 Apr 2007)
Revision: 10477
Log message:
Quieter warning messages.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-20 20:00:09 -0700 (Fri, 20 Apr 2007)
Revision: 10478
Log message:
Merged the "unlock .omakedb during -P" (thanks Aleksey!).
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-21 07:19:57 -0700 (Sat, 21 Apr 2007)
Revision: 10479
Log message:
Doc update.
Changes | Path |
+3 -16 | omake-jumbo-branches/DEPENDENCIES |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-22 19:39:40 -0700 (Sun, 22 Apr 2007)
Revision: 10481
Log message:
This is the minimal set of changes to be compilable by var3.
- add a dummy autoload directive.
- variables must be declared before they are used,
even if they are lazy. The following definition
is rejected unless LATEXFLAGS is declared.
public.PDFLATEXFLAGS = $`(LATEXFLAGS)
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-23 09:19:49 -0700 (Mon, 23 Apr 2007)
Revision: 10482
Log message:
A few more declarations.
Minor: when choosing names, please try not to make silly abbreviations,
like EMPTY_ARR. What is an ARR? For two characters more, it becomes
very clear, EMPTY_ARRAY. The other problem with abbreviations is that
you have to remember which names are abbreviated, and which are not.
It is a lot easier to be consistent. The standard abbreviations are
acceptable of course, like int, float, dir, etc. In Pervasives.om
at least, spell it out.
Changes | Path |
+8 -1 | omake-branches/0.9.8.x/lib/Pervasives.om |
+2 -2 | omake-branches/0.9.8.x/lib/configure/ncurses.om |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-23 09:56:47 -0700 (Mon, 23 Apr 2007)
Revision: 10483
Log message:
Merge to 10482.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-23 10:40:55 -0700 (Mon, 23 Apr 2007)
Revision: 10485
Log message:
All the internal variables need to be defined in Pervasives.
Changes | Path |
+10 -1 | omake-branches/0.9.8.x/lib/Pervasives.om |
+3 -2 | omake-branches/0.9.8.x/lib/build/Common.om |
+9 -1 | omake-branches/0.9.8.x/src/builtin/omake_builtin_base.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-23 10:48:33 -0700 (Mon, 23 Apr 2007)
Revision: 10486
Log message:
Merge to 10485.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-23 19:12:34 -0700 (Mon, 23 Apr 2007)
Revision: 10487
Log message:
Process the #! lines. For example, you can start your file with
#!omake --verbose
This means that if you write a script "foo" beginning with:
#!/usr/bin/env osh <options>
then the following are the same.
% ./foo
% osh foo
Another point is that the options are processed at parse time,
so options like -warn-error are handled correctly.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-23 20:19:39 -0700 (Mon, 23 Apr 2007)
Revision: 10488
Log message:
Merge to 10487 (#!)