Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-12 17:26:56 -0700 (Sat, 12 Apr 2003)
Revision: 2
Log message:
My new nifty build system in lm_libmojave/omake.
I'll explain later. For now, there's a man page
in omake.1
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-13 10:36:52 -0700 (Sun, 13 Apr 2003)
Revision: 3
Log message:
Added OMakefiles, and minor updates to omake.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-13 11:59:33 -0700 (Sun, 13 Apr 2003)
Revision: 4
Log message:
Omake should now work from a clean directory.
Changes | Path |
+1 -1 | omake/lm_string_util.ml |
+56 -10 | omake/src/build/omake_build.ml |
+1 -2 | omake/src/env/omake_ast_lex.mll |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-13 12:00:26 -0700 (Sun, 13 Apr 2003)
Revision: 5
Log message:
Ignore more files.
Changes | Path |
Properties | omake |
+3 -0 | omake/.cvsignore |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-13 15:58:15 -0700 (Sun, 13 Apr 2003)
Revision: 6
Log message:
More general cleanup. Split a cyclic dependency in pasqual.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-13 16:15:17 -0700 (Sun, 13 Apr 2003)
Revision: 7
Log message:
More cleanup. Added lib and bin directories.
Changes | Path |
+1 -1 | omake/lm_string_util.ml |
+1 -1 | omake/lm_string_util.mli |
Changes by: justins (justins at unknown.email)
Date: 2003-04-13 22:04:48 -0700 (Sun, 13 Apr 2003)
Revision: 8
Log message:
Fixing "make clean" error that is blocking regression tests.
Changes | Path |
+2 -1 | omake/Makefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-15 13:50:07 -0700 (Tue, 15 Apr 2003)
Revision: 9
Log message:
omake cleanup in preparation for merge with MetaPRL build system.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-15 14:23:40 -0700 (Tue, 15 Apr 2003)
Revision: 10
Log message:
These files got added by accident.
Changes | Path |
Deleted | omake/lm_arg.ml |
Deleted | omake/lm_arg.mli |
Deleted | omake/lm_debug.ml |
Deleted | omake/lm_debug.mli |
Deleted | omake/lm_filename_util.ml |
Deleted | omake/lm_filename_util.mli |
Deleted | omake/lm_format_util.ml |
Deleted | omake/lm_format_util.mli |
Deleted | omake/lm_index.ml |
Deleted | omake/lm_index.mli |
Deleted | omake/lm_location.ml |
Deleted | omake/lm_location.mli |
Deleted | omake/lm_map.ml |
Deleted | omake/lm_map.mli |
Deleted | omake/lm_position.ml |
Deleted | omake/lm_position.mli |
Deleted | omake/lm_set.ml |
Deleted | omake/lm_set.mli |
Deleted | omake/lm_string_util.ml |
Deleted | omake/lm_string_util.mli |
Deleted | omake/lm_symbol_omake.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-15 14:25:41 -0700 (Tue, 15 Apr 2003)
Revision: 11
Log message:
Missing NormalApply.
Changes | Path |
+2 -1 | omake/src/ir/omake_ir_print.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-15 18:43:46 -0700 (Tue, 15 Apr 2003)
Revision: 12
Log message:
Preparing to move omake out of lm_libmojave.
Changes | Path |
+0 -1 | omake/Makefile |
+0 -1 | omake/OMakefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-15 18:45:54 -0700 (Tue, 15 Apr 2003)
Revision: 13
Log message:
Forgot to add lm_symbol.ml. USe a simpler version of symbols based just
on strings, so that we don't have to worry about reintern on marshaling.
Changes | Path |
Added | omake/lm_symbol_omake.ml |
Properties | omake/lm_symbol_omake.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-15 19:02:46 -0700 (Tue, 15 Apr 2003)
Revision: 14
Log message:
Separated version of omake.
Changes | Path |
Properties | omake |
+1 -0 | omake/.cvsignore |
+0 -28 | omake/Makefile |
+9 -37 | omake/OMakefile |
Added | omake/OMakeroot |
Properties | omake/OMakeroot |
+4 -2 | omake/src/build/omake_build.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-15 21:06:09 -0700 (Tue, 15 Apr 2003)
Revision: 15
Log message:
Added support for +=.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-17 13:30:32 -0700 (Thu, 17 Apr 2003)
Revision: 16
Log message:
The identity of exists is false, not true.
Changes | Path |
+62 -25 | omake/src/build/omake_build.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-18 08:22:08 -0700 (Fri, 18 Apr 2003)
Revision: 17
Log message:
Commands for .PHONY targets should not be committed to the cache.
Also, scanner shuld wait until dependencies are built, not just
that they exist.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-21 14:28:36 -0700 (Mon, 21 Apr 2003)
Revision: 18
Log message:
Forgot to include omake_magic.ml
Changes | Path |
+1 -0 | omake/Makefile |
Changes by: justins (justins at unknown.email)
Date: 2003-04-21 16:00:03 -0700 (Mon, 21 Apr 2003)
Revision: 19
Log message:
Trying to get omake to build. Currently I see this:
ocamlc.opt -warn-error A -g -c omake_cache.ml
File "omake_cache.ml", line 73, characters 22-45:
Unbound value Omake_magic.cache_magic
Changes | Path |
Properties | omake |
+1 -0 | omake/.cvsignore |
+3 -3 | omake/Makefile |
Changes by: justins (justins at unknown.email)
Date: 2003-04-21 16:05:28 -0700 (Mon, 21 Apr 2003)
Revision: 20
Log message:
Now I can build omake, yay!
Changes | Path |
+1 -1 | omake/Makefile |
Changes by: justins (justins at unknown.email)
Date: 2003-04-21 16:40:13 -0700 (Mon, 21 Apr 2003)
Revision: 21
Log message:
Working on adding autoconf support. I *think* this works...
Changes | Path |
Properties | omake |
+4 -0 | omake/.cvsignore |
Deleted | omake/Makefile |
Added | omake/Makefile.in |
Properties | omake/Makefile.in |
Added | omake/aclocal.m4 |
Properties | omake/aclocal.m4 |
Added | omake/config.guess |
Properties | omake/config.guess |
Added | omake/config.sub |
Properties | omake/config.sub |
Added | omake/configure.in |
Properties | omake/configure.in |
Added | omake/install-sh |
Properties | omake/install-sh |
Changes by: justins (justins at unknown.email)
Date: 2003-04-21 16:41:28 -0700 (Mon, 21 Apr 2003)
Revision: 22
Log message:
Ignore the makefile
Changes | Path |
Properties | omake |
+1 -0 | omake/.cvsignore |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-21 21:12:47 -0700 (Mon, 21 Apr 2003)
Revision: 23
Log message:
1. The categorical OMakeroot now installs into the $LIBDIR, as discussed,
so a project OMakeroot should now contain just the following:
#
# Include the standard configuration
#
include $(STDROOT)
2. Added a .spec file to generate RPM.
Aleksey, I know I am being dumb w.r.t RPM. Would you look at omake-0.5.0-1.spec
and tell me some awful things? What I would like is to type "make rpm" in the
omake directory, and the RPM gets built automagically (won't happen now).
3. Magic number generation is now simpler. We just put the important types
into their own separate files. The program omake_gen_magic.ml does the
important work.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-21 21:13:15 -0700 (Mon, 21 Apr 2003)
Revision: 24
Log message:
Well, should have added omake_gen_magic.ml after all.
Changes | Path |
Added | omake/src/magic/omake_gen_magic.ml |
Properties | omake/src/magic/omake_gen_magic.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-21 21:13:47 -0700 (Mon, 21 Apr 2003)
Revision: 25
Log message:
And ignore omake_gen_magic.
Changes | Path |
Properties | omake |
+1 -1 | omake/.cvsignore |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-22 11:33:53 -0700 (Tue, 22 Apr 2003)
Revision: 26
Log message:
Attempting to automate RPM generation from a fresh CVS copy.
You may see a bunch of short commit messages as I try and get this to work.
Changes | Path |
Added | omake/omake.spec |
Properties | omake/omake.spec |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-22 11:35:07 -0700 (Tue, 22 Apr 2003)
Revision: 27
Log message:
Incorrect date format.
Changes | Path |
Deleted | omake/omake-0.5.0-1.spec |
+1 -1 | omake/omake.spec |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-22 11:51:30 -0700 (Tue, 22 Apr 2003)
Revision: 28
Log message:
Getting closer to building RPM.
Changes | Path |
Added | omake/make_rpm |
Properties | omake/make_rpm |
+2 -2 | omake/omake.spec |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-22 11:54:06 -0700 (Tue, 22 Apr 2003)
Revision: 29
Log message:
make install should not be used in RPM.
Changes | Path |
+5 -1 | omake/omake.spec |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-22 11:55:00 -0700 (Tue, 22 Apr 2003)
Revision: 30
Log message:
Install omake.opt.
Changes | Path |
+1 -1 | omake/omake.spec |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-22 11:57:35 -0700 (Tue, 22 Apr 2003)
Revision: 31
Log message:
RPM auto-build now works.
Changes | Path |
+1 -1 | omake/make_rpm |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-22 12:38:50 -0700 (Tue, 22 Apr 2003)
Revision: 32
Log message:
Added OMakefile to autoconf.
Changes | Path |
Added | omake/Files |
Properties | omake/Files |
+6 -0 | omake/Makefile.in |
Deleted | omake/OMakefile |
Added | omake/OMakefile.in |
Properties | omake/OMakefile.in |
+14 -14 | omake/OMakeroot |
+2 -2 | omake/configure.in |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-22 13:57:07 -0700 (Tue, 22 Apr 2003)
Revision: 33
Log message:
Added "export" command. I don't know if I like this so much, so we may need
to evolve a little.
Here's the idea. Suppose you have some variables that are configured
differently based on a flag. Since the omake language is scoped
and functional, the following code does not do the trick because the
variables inside the if are in a different scope.
if $(READLINE_ENABLED)
READLINE_CFLAGS =\
-DREADLINE\
-DRL_COMPLETION_MATCHES=@READLINE_PREFIX@completion_matches\
-DRL_CP_TYPE=@READLINE_CP_TYPE@\
-DRL_CPP_TYPE=@READLINE_CPP_TYPE@
READLINE_LDFLAGS = -cclib -lreadline -cclib -ltermcap
So the trick is to add an "export" command after the last line
in the if. This inlines the _entire_ environment defined in the if,
including variables, rules, etc.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-22 20:06:07 -0700 (Tue, 22 Apr 2003)
Revision: 34
Log message:
.This is a minor fix, but in my mind it finishes the final omake
.feature. All that is left in alpha-test is for the PRL group to
.comment on features/bugs. Please do, so we can release!
.
.---The final feature description---
.
.Here's a description of the problem addressed here.
.
.Rules normally have an or-and semantics. Consider the following rule:
.
.x y z: a b c
. commands
.
.This means to build any of x y z (a disjunct),
.dependencies are a b c (a conjunct).
.
.But some rules are conjuctive, like the yacc rule:
.
.%.c %.h: %.y
. yacc $*.y
.
.This rule builds both files with suffixes .c, .h. Normal make will
.run yacc just once, because the file mtimes do the right thing.
.
.Before this commit, omake would run twice, adhering to the strict semantics.
.This commit fixes it by examining the target files before and after. If a
.file on the left is modified, it is added to the cache/memo. This eliminates
.the duplicate yacc call.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2003-04-22 20:12:17 -0700 (Tue, 22 Apr 2003)
Revision: 35
Log message:
Updating the use system-defined default paths instead of hardcoding.
Changes | Path |
+1 -5 | omake/make_rpm |
+8 -8 | omake/omake.spec |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2003-04-22 20:19:40 -0700 (Tue, 22 Apr 2003)
Revision: 36
Log message:
- rpm expects directory variables to be lowercase
- no need to make omake.run in .spec, since it's not packed in anyway
- RPM should include the %{_libdir}/omake directory, not just the
OMakeroot in it.
Changes | Path |
+8 -8 | omake/Makefile.in |
+2 -2 | omake/omake.spec |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2003-04-22 20:23:28 -0700 (Tue, 22 Apr 2003)
Revision: 37
Log message:
- Do not build the debuginfo package on RH9
- Added the "rhx.y" suffix to the release number.
Changes | Path |
+4 -1 | omake/omake.spec |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-23 13:06:59 -0700 (Wed, 23 Apr 2003)
Revision: 38
Log message:
Cleaned up a little more, and added a little to the man page.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-23 14:02:54 -0700 (Wed, 23 Apr 2003)
Revision: 39
Log message:
SaveExp does not need to venv_add_dir always.
Changes | Path |
+1 -1 | omake/src/env/omake_ir_ast.ml |
+1 -1 | omake/src/eval/omake_eval.ml |
+1 -1 | omake/src/ir/omake_ir.ml |
+2 -2 | omake/src/ir/omake_ir_print.ml |
+1 -1 | omake/src/ir/omake_ir_util.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-24 12:32:13 -0700 (Thu, 24 Apr 2003)
Revision: 40
Log message:
Added filter-exists, so that we can filter out .mli files that
do not exist.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-24 12:51:44 -0700 (Thu, 24 Apr 2003)
Revision: 41
Log message:
Improve the file naming routine so that we don't get paths like
../../../../../../../usr/lib/ocaml
Changes | Path |
+13 -0 | omake/src/ir/omake_node.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-24 13:26:56 -0700 (Thu, 24 Apr 2003)
Revision: 42
Log message:
Just say dumb. Apparently "ar cq" does _not_ create a new archive.
As far as I can tell, there is no option that will delete the old archive,
so the new solution is to manually remove it before running ar.
This fixes the segfault in mcc.
Changes | Path |
+1 -0 | omake/OMakeroot |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-24 13:49:23 -0700 (Thu, 24 Apr 2003)
Revision: 43
Log message:
Minor change: added $> variable to remove all suffixes.
Changes | Path |
+3 -0 | omake/src/eval/omake_eval.ml |
Changes by: justins (justins at unknown.email)
Date: 2003-04-24 17:41:01 -0700 (Thu, 24 Apr 2003)
Revision: 44
Log message:
Ignore Makefile.tmp
Changes | Path |
Properties | omake |
+1 -0 | omake/.cvsignore |
Changes by: justins (justins at unknown.email)
Date: 2003-04-24 17:42:54 -0700 (Thu, 24 Apr 2003)
Revision: 45
Log message:
Adding Justin's "I'm too lazy to type --prefix" rebuild script.
Changes | Path |
Added | omake/rebuild.sh |
Properties | omake/rebuild.sh |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-24 18:35:52 -0700 (Thu, 24 Apr 2003)
Revision: 46
Log message:
This fixes the "don't know how to build xxxx.cmi" problem that
Justin saw.
Changes | Path |
+3 -5 | omake/OMakeroot |
Changes by: justins (justins at unknown.email)
Date: 2003-04-24 19:31:09 -0700 (Thu, 24 Apr 2003)
Revision: 47
Log message:
If Makefile changed, then we probably re-ran configure. If we re-ran
configure, then we *definitely* need to rebuild omake_magic.ml.
Changes | Path |
+1 -1 | omake/Makefile.in |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-24 19:50:55 -0700 (Thu, 24 Apr 2003)
Revision: 48
Log message:
Added the "%.o: %.s" implicit target.
Changes | Path |
+7 -3 | omake/OMakeroot |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-26 17:39:09 -0700 (Sat, 26 Apr 2003)
Revision: 49
Log message:
Fixed the problem with .o files that change but .cmx files that don't.
This turned out to be harder than I thought, but now the OMakeroot
keeps track of the .o and .a aux files that ocamlopt makes.
This fix changes the semantics of implicit rules. If an implicit
rule has multiple targets, like
%.ml %.mli: %.mly
ocamlyacc $<
then it is an and-target: omake assumes that the command will
build both targets.
Side note: this fix hit a performance bug in lm_map, which had debugging
code enabled (see the line marked n8-). I've taken this out, it was
multiplying runtimes by a factor of 3 or so. If you put it back, you may
want to protect it with the "if debug debug_map then" sequence.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-26 18:20:38 -0700 (Sat, 26 Apr 2003)
Revision: 50
Log message:
The build system now builds OMakefiles and all included files.
If this does something, then it restarts.
Changes | Path |
+66 -43 | omake/src/build/omake_build.ml |
+11 -6 | omake/src/ir/omake_cache.ml |
+2 -0 | omake/src/ir/omake_cache.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-26 18:51:41 -0700 (Sat, 26 Apr 2003)
Revision: 51
Log message:
That last commit message should have gone to omake:(
Summary: OMakefiles are now not cached by default. The
-T option caches them.
Changes | Path |
+2 -1 | omake/src/build/omake_build.ml |
+1 -1 | omake/src/ir/omake_state.ml |
+4 -2 | omake/src/main/omake_main.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-27 15:13:08 -0700 (Sun, 27 Apr 2003)
Revision: 52
Log message:
This commit addresses the "make clean cleaned the whole project,
and my 486 takes a long to rebuild" problem.
Phony targets are now arranged in a hierarchy, and omake builds
only those targets in the current directory and below. This includes
.DEFAULT. So, for example, omake will not rebuild mcc by default
unless you are in the main directory or above it.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-27 16:05:41 -0700 (Sun, 27 Apr 2003)
Revision: 53
Log message:
Turn off interface copying by default.
Changes | Path |
+15 -8 | omake/OMakeroot |
+1 -1 | omake/src/build/omake_build.ml |
+1 -1 | omake/src/ir/omake_node.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-27 18:45:24 -0700 (Sun, 27 Apr 2003)
Revision: 54
Log message:
Jyh can be lazy in rebuild.sh too.
Changes | Path |
+2 -2 | omake/Makefile.in |
+2 -0 | omake/rebuild.sh |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-04-28 14:28:23 -0700 (Mon, 28 Apr 2003)
Revision: 55
Log message:
If -j option is not specified, build targets serially, not in parallel.
Changes | Path |
+26 -13 | omake/src/build/omake_build.ml |