Date: Mon, 19 Feb 2001 22:43:58 -0500 (EST) From: Patrick M Doane To: Jacques Garrigue cc: lablgtk at kaba.or.jp Subject: Re: Improving lablgtk installation In-Reply-To: <20010220103752P.garrigue at kurims.kyoto-u.ac.jp> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi Jacques, Thanks for your comments. Here are some additional ideas related to the topic. On Tue, 20 Feb 2001, Jacques Garrigue wrote: > > I think that making some minor modifications to the lablgtk installation > > could make the package more usable. > > My impression is that the problem is not cause by lablgtk: > > > 1) Install the .cmx files. For users of 'ocamldep', the .cmx files > > are generated as dependencies. I would also imagine this opens > > up opportunities for inlining. > > All the cmx are in lablgtk.cmxa, which should be all you need. The interpretation here is largely dependent on your later point regarding library dependencies, so I'll comment there directly. > > > 2) Build a native-code version of gtkThInit.ml > > I'll think about this, but this file contains really a single line: > let thread = GtkThread.start () > It is only intended for toplevels. I would like to create a native-code executable using threads and lablgtk. It was my impression that using the GtkThread module was the right approach. I found that not using it created very poor thread performance but I could have been using the system incorrectly. I could work from? > > 3) Use 'cp -p' instead of regular 'cp' to preserve timestamps. > > I usually have to 'touch' all the .cm[iox] files after > > installation so that 'make' doesn't get confused. > > > > 4) Better support with OcamlMakefile. It's currently difficult to > > use these init objects properly. They should be placed before all > > other .cmo files for order dependence reasons, > > but it seems that only source files can show up in that location. > > I think there is some confusion here: you should not have dependencies > on a library directory. If you want to add some, why not directly use > the source directory, which will have the expected behaviour. I agree with your point about library dependencies, but can also understand the viewpoint that library dependencies should be expressed in a Makefile. If I upgrade to a new version of lablgtk, it would be nice for the make system to compile only the necessary files. If such a dependency is expressed, then the .cmx files from point #1 are useful to install. Note that I probably would not have given this much thought if the OcamlMakefile by Markus Mottl did not automatically include these dependencies. > > 5) Optional installation using 'findlib'. > > Good suggestion. But I'll first have to learn how to use findlib, > which I only installed once. It's very straight-forward to use, I could send an example Makefile to the list if that would be useful. As a side note for Ocaml, it would really be great to see better package management integrated with Ocaml. At least the latest versions of the compiler support the '-where' option. BTW, have you given any thought to hosting the lablgtk project on SourceForge. It would be good to get more Ocaml based projects online there for increased visibility. Patrick Doane