[Omake] scanning of .mly files
Aleksey Nogin
nogin at cs.caltech.edu
Mon Jun 12 12:20:29 PDT 2006
On 12.06.2006 10:33, Jason Hickey wrote:
>> My reading of OCaml.om is that this will *not* happen automatically
>> -- arguably it should. But in any case, it seems strange that the
>> resulting behavior should differ from one machine to another. Is
>> there some way we can cause OMake to dump enough information to see
>> what the difference might be?
>
>
> Hmm, I'm not sure if you are using -k or such. The build order is
> "nondetermistic". Basically, the leaves of the build tree define a
> "ready-queue" of targets that can be built, and their order in the
> ready-queue is arbitrary. However, if you are not using -k, and you
> start from a fresh tree, it _should_ be deterministic.
Actually, the "-j nn" option would also make things highly
nondeterministic, expecially if some critical dependencies are missing.
> As far as debugging a lack of dependencies, it is hard:( Erick, I
> believe, was suggesting that we monitor the filesystem and verify that
> file accesses conform to the dependency order.
While what Jason said is true, detecting missing dependencies is in my
experience a bit easier if you routinely use the "-j nn" option. Which,
BTW, I would highly recommend in general, Even on a uniprocessor "-j
2"/"-j 3" is likely to speed up the build, especially if the filesystem
is relatively slow (e.g. NFS).
From my ~/.login (tcsh syntax):
setenv OMAKEFLAGS "-p -j5"
if ( -r /proc/cpuinfo ) then
set procs = `cat /proc/cpuinfo | grep '^processor'|wc -l`
if ( $procs > 1 ) setenv MAKEFLAGS "-j`expr $procs + 1`"
setenv OMAKEFLAGS "$OMAKEFLAGS -j`expr $procs \* 5`"
unset procs
endif
--
Aleksey Nogin
Home Page: http://nogin.org/
E-Mail: nogin at cs.caltech.edu (office), aleksey at nogin.org (personal)
Office: Moore 04, tel: (626) 395-2200
More information about the Omake
mailing list