English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[Caml-list] OCaml packaging problems: findlib helps!
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-05-22 (20:55)
From: Gerd Stolpmann <info@g...>
Subject: Re: [Caml-list] OCaml packaging problems: findlib helps!

On 2002.05.22 01:25 Blair Zajac wrote:
> Gerd Stolpmann wrote:
> > 
> > Hello list,
> > 
> > I have prepared an experimental version of findlib (download see below)
> > [...]
> > The simple existence of this directory causes that all files with the suffixes
> > .so and .dll are copied into this directory (no symlinks). Of course, this breaks
> > the current way of representing the ownership of files. In previous versions,
> > all files in the package directory for X are owned by X. This is simple,
> > and works for everything else very well. In libexec, there are now .owner files,
> > e.g. for dllfoo.so findlib creates a second file dllfoo.so.owner, containing
> > only one line with the name of the owner.
> Gerd,
> What about the possibility of having multiple owners for the same library?
> I can see the case (in fact I'm going to build a module that does this)
> that segments a single shared library into multiple modules.  Then I'd
> want multiple owners for the same library.
> Are there any other tricks I need to be careful of to make sure that
> this works?

You could have a special package L that only contains the library, and a minimum
cma/cmxa archive that loads the library, but that does not access it. The rest
can be placed in other packages that list L as predecessor. Ensure that
you call at least one O'Caml function from L (it can be empty), otherwise
the linker will remove the libraries from L from any executable you try
to build.

> On an unrelated point, can you modify the Makefile to define a new
> variable, say DEBUG, that is set to either -g or nothing and replace
> all the -g's with $(DEBUG)?  This would trim down the size of the
> generated files.  This could also be added to configure as a -debug
> command line option.  I can send in a patch if requested.

I can remove it from the command that builds "ocamlfind", but I do not think
that the debugging symbols should be missing in any cma library. They are
removed anyway if you build an executable without -g, so it is only a matter
of disk space (on the developer's system), and disks become larger all
the time.

Gerd Stolpmann      Telefon: +49 6151 997705 (privat)
Viktoriastr. 45             
64293 Darmstadt     EMail:   gerd@gerd-stolpmann.de
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners