Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
nonresolved .cma files and errors
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-04-12 (06:39)
From: Jeff Henrikson <jehenrik@y...>
Subject: Re: [Caml-list] nonresolved .cma files and errors
 > .cma and .cmo files are not used during compilation.

Ah, of course.  Rechecking my commands, your assertion is still 
consistent.  I thought I had counterintuitively gotten errors without 
the .cma, and had subconsciously filed in my brain under "weird inlining 
or something . . ."  Well nice to know axiomatically that .cmo / .cma is 
mutually exclusive with -c.

Yes if that's the case then I definitely think it should at least be a 
warning to include such a file with -c.

OTOH, I see from the list archive that I'm not making up this inlining 
across files thing . . .

So if I understand correctly then, cross-file function inlining must by 
design be delayed until link time?


Jeff Henrikson

Alain Frisch wrote:
> .cma and .cmo files are not used during compilation. They make sense
> only for link operations (including -pack and -a). One might argue that
> the compiler should issue a warning when useless .cma and .cmo are given
> on the command line.
> -- Alain

Jeff Henrikson wrote:

> I recently had a shocking realization about why some of my experiments
> with camlp4 weren't compiling.  I had been linking camlp4.cma, which was
> the old name of the library.  Now camlp4.cma doesn't exist and there are
> multiple flavors Camlp4xxx.cma where the xxx is the same flavor notation
> of the the preprocessor binaries.  So the trouble is, why was linking
> such a library not a fatal?  Apparently all missing .cma and .cmo files
> passed on the command line are considered non-errors.