Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-05-01 14:16:59 -0700 (Sun, 01 May 2005)
Revision: 925
Log message:
Added more precise .SCANNER dependencies.
The rules look like the following, where $& represents the results of the previous scan.
.SCANNER: %.cmi: :value: $(search-path-exists $(OCAMLINCLUDES), $(replacesuffixes .cmi .cmo .cmx, .mli .ml .ml, $&))
.SCANNER: %.cmo %.cmx: :value: $(search-path-exists $(OCAMLINCLUDES), $(replacesuffixes .cmi .cmo .cmx, .mli .ml .ml, $&))
.SCANNER: %$(EXT_OBJ): :value: $(digest-path-exists $(INCLUDES), $&)
The intent here is that omake uses the search path to find the dependent files,
and the scanner is considered out-of-date if the location of a file moves.
For OCaml files, it is just the location of the .ml and .mli files.
For C files, it is the location *and* the contents of the files.
There is a moderate cost to this (it adds about 1-2sec to a MetaPRL compile).
Also, scanners will run more often. In particular it will take 2 runs of
omake to reach a scanner fixpoint because the value dependency is based
on the results of the previous omake run.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-05-01 14:25:45 -0700 (Sun, 01 May 2005)
Revision: 926
Log message:
Update to match libmojave.
Changes | Path |
+36 -35 | libmojave/util/Files |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-05-03 21:01:45 -0700 (Tue, 03 May 2005)
Revision: 948
Log message:
(Bug 463) added a "where" function similar to tcsh's one. Also added
Shell.where and Shell.which.
Changes by: ( at unknown.email)
Date: 2005-05-03 21:06:14 -0700 (Tue, 03 May 2005)
Revision: 950
Log message:
This commit was manufactured by cvs2svn to create branch 'new_scanner'.
Changes by: ( at unknown.email)
Date: 2005-05-06 15:33:26 -0700 (Fri, 06 May 2005)
Revision: 967
Log message:
This commit was manufactured by cvs2svn to create branch 'new_scanner2'.
Changes | Path |
Copied | libmojave-branches/new_scanner2 |
Copied | omake-branches/new_scanner2 |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-05-10 17:07:05 -0700 (Tue, 10 May 2005)
Revision: 982
Log message:
New method for computing theories.dir and mldebug.dir (the search
paths).
If you want to add directory "-I foo" to theories.dir, add a dependency:
$(THEORIES_PATH): foo
Changes | Path |
+1 -5 | libmojave-branches/new_scanner2/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-05-11 23:25:15 -0700 (Wed, 11 May 2005)
Revision: 986
Log message:
A "uniformity" pass over the OMakefiles:
- Turned the file lists into arrays (except when bug 475 makes it hard)
- Turned "tab" symbols into spaces
- Inlined the "Files" files that were only included once.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-05-12 16:10:29 -0700 (Thu, 12 May 2005)
Revision: 989
Log message:
This is an update to match the recent changes to omake. This is
mainly a change to use explicit :scanner: dependencies.
The omake log message was as follows.
------------------------------------------------------------------------
This is a significant change to .SCANNER rules, where .SCANNER rules
are treated much more like normal rules.
Externally, a .SCANNER rule has the usual rule form:
.SCANNER: target: dependencies...
...scanner commands...
In this commit, the scanner target is now decoupled from the
build target, allowing a scanner result to be used for multiple
build targets. For example, ocamldep produces dependencies
for .cmo and .cmx files simultaneously. They can share
the scanner rule by specifying an explicit :scanner: dependency.
.SCANNER: scan-ocaml-%.ml: %.ml
ocamldep $<
%.cmo: %.ml :scanner: scan-ocaml-%.ml
$(OCAMLC) ...
%.cmx %.o: %.ml :scanner: scan-ocaml-%.ml
$(OCAMLOPT) ...
The current convention is that scanner targets should be named
scan-<language>-<source-file>.
-- If a rule has multiple :scanner: dependencies, the actual
dependencies will be the union of the scanner results.
-- The .SCANNER targets use a different namespace than
normal targets, so it is valid to have overlapping rules.
.SCANNER: foo:
echo "foo: boo"
foo: :scanner: foo
...
-- For backwards compatibility, if a rule has no :scanner:
dependencies, then omake will try to find a scanner with
the same name as the target. So in the example above,
the :scanner: foo is actually unnecessary.
Changes | Path |
+1 -5 | libmojave/OMakefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-05-13 12:33:56 -0700 (Fri, 13 May 2005)
Revision: 1014
Log message:
Be a little less aggressive about using Unix.stat during command-line
globbing.
Changes | Path |
+31 -3 | libmojave/util/lm_glob.ml |
Changes by: ( at unknown.email)
Date: 2005-05-13 18:55:40 -0700 (Fri, 13 May 2005)
Revision: 1023
Log message:
This commit was manufactured by cvs2svn to create branch 'configure'.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-05-19 08:52:22 -0700 (Thu, 19 May 2005)
Revision: 1036
Log message:
Adding output_int.
Changes | Path |
+1 -0 | libmojave/stdlib/lm_rprintf.ml |
+1 -0 | libmojave/stdlib/lm_rprintf.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-05-19 19:43:09 -0700 (Thu, 19 May 2005)
Revision: 1038
Log message:
For some reason ".SUBDIR: libmojave" was exporting its variables back to the
parent! Added an explicit "return 0" to prevent this from happening.
Changes | Path |
+4 -0 | libmojave/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-05-19 21:38:31 -0700 (Thu, 19 May 2005)
Revision: 1039
Log message:
Use Lm_symbol.eq instead of (=) more consistently.
Changes | Path |
+2 -2 | libmojave/util/lm_symbol.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-05-20 01:33:43 -0700 (Fri, 20 May 2005)
Revision: 1040
Log message:
Trying to add a module that contains a custom value that can be
[un]marshalled, but can not be compared using the comparison functions in
Pervasives. Untested.
Changes | Path |
+1 -0 | libmojave/cutil/OMakefile |
Added | libmojave/cutil/lm_nocompare.c |
Properties | libmojave/cutil/lm_nocompare.c |
+1 -0 | libmojave/util/Files |
Added | libmojave/util/lm_nocompare.ml |
Properties | libmojave/util/lm_nocompare.ml |
Added | libmojave/util/lm_nocompare.mli |
Properties | libmojave/util/lm_nocompare.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-05-20 01:41:17 -0700 (Fri, 20 May 2005)
Revision: 1041
Log message:
Moved lm_nocompare into libmojave/stdlib.
Changes | Path |
+1 -1 | libmojave/cutil/lm_nocompare.c |
+1 -0 | libmojave/stdlib/Files |
Added | libmojave/stdlib/lm_nocompare.ml |
Properties | libmojave/stdlib/lm_nocompare.ml |
Added | libmojave/stdlib/lm_nocompare.mli |
Properties | libmojave/stdlib/lm_nocompare.mli |
+0 -1 | libmojave/util/Files |
Deleted | libmojave/util/lm_nocompare.ml |
Deleted | libmojave/util/lm_nocompare.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-05-20 03:41:32 -0700 (Fri, 20 May 2005)
Revision: 1042
Log message:
Fixed a number of places where comparisons functions from Pervasives were used
on inappropriate data types (specifically - types containing terms and/or
Lm_num nums).
Changes | Path |
+7 -0 | libmojave/stdlib/lm_array_util.ml |
+2 -0 | libmojave/stdlib/lm_array_util.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-05-20 05:48:17 -0700 (Fri, 20 May 2005)
Revision: 1044
Log message:
More fixed related to improper usage of Pervasives.compare, =, etc.
Changes | Path |
+4 -2 | libmojave/stdlib/lm_list_util.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-05-22 13:57:43 -0700 (Sun, 22 May 2005)
Revision: 1049
Log message:
Documentation fixes:
- A lot of spelling fixes
- Let omake know that MP_DEBUG=spell implies dependency on lib/words
- When building the lib/english_dictionary.dat, build it in a temporary file
first, followed by a rename to make it possible to run several instances
of filter-spell in parallel.
- A number of extra "doc docoff" added around display forms "let resource +="
and other similar items
- A few display form fixes.
- Made the pages in the all-theories file wider.
Changes | Path |
+14 -19 | libmojave/stdlib/lm_rformat_tex.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-05-23 12:56:51 -0700 (Mon, 23 May 2005)
Revision: 1056
Log message:
Fixed the problem with output on Win32.
- Win32 uses threads instead of fork (Unix uses fork
so it doesn't have this problem).
- Threads are run with the usual pipe through another
IO thread that prints the output.
- So when a thread calls Pervasives.exit directly, omake
may exit before the IO threads are finished (and
so the output gets lost).
The solution is to have the omake exit function raise an
exception instead of calling Pervasives.exit.
I'm a little worried about this scheme for two reasons.
1. We need to make sure the ExitEception is handled
properly in all the right exception handlers.
2. In general, we shouldn't allow omake to exit until
all threads have finished. I believe this is done,
but I am not positive.
Also, I fixed the ./mpopt.bat problem. The issue a Win32
"feature". OMake executes a command like ./x with
executable = absolute pathname of ./x (using \ as a separator).
argv[0] = ./x
This is entirely sensible to me, but Win2 doesn't like it.
So the fix is to replace argv[0] with the absolute pathname.
In any case, we should make the OMakefiles as consistent as
possible, and remove the path separator for mpopt.bat that
Yegor introduced (BTW, if you ever really needed it, you should
use the SLASH variable instead of something new).
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-05-23 16:04:45 -0700 (Mon, 23 May 2005)
Revision: 1059
Log message:
The problem with exporting back to the parent is fixed by
http://cvs.cs.cornell.edu:12000/commitlogs/omake/2005-05.html#05/05/23.19:01:46
Removing the "return 0" that were acting as a workaround.
Changes | Path |
+0 -4 | libmojave/OMakefile |
Changes by: ( at unknown.email)
Date: 2005-05-24 20:50:59 -0700 (Tue, 24 May 2005)
Revision: 1062
Log message:
This commit was manufactured by cvs2svn to create branch 'configure2'.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-05-25 01:49:28 -0700 (Wed, 25 May 2005)
Revision: 1063
Log message:
Numerous documentation fixes:
- MP_DEBUG=spell fixes (MP_DEBUG=spell finally compiles again)
- Now docoff/junk/docon sequence does not introduce empty vertical space
- Removed the old reflection theories from the theories.pdf, replacing them
with the new itt_hoas_* theories.
- Chaged so that any TeX printout of a module always starts in the "docoff"
mode. This makes it unnecessary to always terminate documented modules in
the "docoff" mode.
Changes | Path |
+2 -2 | libmojave/stdlib/lm_rformat_tex.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-05-31 16:38:49 -0700 (Tue, 31 May 2005)
Revision: 1064
Log message:
This is some code I wrote on the plane.
This makes the file database (.omc files) more abstract.
Also, .omo files no longer exist. The object, if it is ever
created, is saved as an entry in the .omc file.
There is a placeholder entry for static values, which are
intended for configuration.