[Caml-list] tools/objinfo and modules without implementations

0 views
Skip to first unread message

Richard Jones

unread,
May 21, 2007, 5:49:40 PM5/21/07
to caml...@inria.fr
The Calendar library from http://www.lri.fr/~signoles/prog/calendar/doc/
contains a module (Period) which has an interface (period.mli) but no
implementation.

There's apparently nothing wrong with that, but the output of
tools/objinfo for calendar.cma shows only the list of modules which
have implementations. For example:

Unit name: Time
Interfaces imported:
71f888453b0f26895819460a72f07493 Pervasives
1876ce678cfa5a1961fac21850f71efd Unix
1b657b86bb0e7ba36acf02910897b2eb Time
8d84727c6f398e1a8b710d8161e26479 Time_Zone
d99e051c4c63bb80cd2586ea99584429 Period
Uses unsafe features: no

"Period" is not shown as a separate module (ie. there is no "Unit
name: Period") in the output.

The problem for me is I'd like to determine which modules are provided
by a library, and which modules a library depends upon. I can't tell
that from objinfo because of modules like Period.

I had a look at the implementation, tools/objinfo.ml and the
definition of compilation_unit and library in bytecomp/emitcode.mli,
and I can't really see how even the compiler knows about these types
of modules. Why doesn't it try and fail to link to Period when
loading calendar.cma?

Rich.

PS. Background here:
https://www.redhat.com/archives/fedora-devel-list/2007-May/thread.html#01234

--
Richard Jones
Red Hat

calendar-objinfo.txt
Reply all
Reply to author
Forward
0 new messages