From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: weis Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id SAA17670 for caml-redistribution@pauillac.inria.fr; Wed, 23 Feb 2000 18:50:25 +0100 (MET) Resent-Message-Id: <200002231750.SAA17670@pauillac.inria.fr> Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id AAA30450 for ; Wed, 23 Feb 2000 00:38:49 +0100 (MET) Received: from ot-link.ot.com.au ([203.5.3.1]) by nez-perce.inria.fr (8.8.7/8.8.7) with SMTP id AAA26087 for ; Wed, 23 Feb 2000 00:38:28 +0100 (MET) Received: (qmail 13872 invoked from network); 22 Feb 2000 23:38:10 -0000 Received: from unknown (HELO druid.in.ot.com.au) (203.5.4.202) by 203.5.3.1 with SMTP; 22 Feb 2000 23:38:10 -0000 Received: (qmail 849 invoked from network); 22 Feb 2000 23:38:01 -0000 Received: from merlin.in.ot.com.au (HELO in.ot.com.au) (203.5.4.26) by druid.in.ot.com.au with SMTP; 22 Feb 2000 23:38:01 -0000 Sender: maxs@inria.fr Message-ID: <38B31F32.3F0641F4@in.ot.com.au> Date: Wed, 23 Feb 2000 10:43:46 +1100 From: Max Skaller Organization: Open Telecommunications Ltd X-Mailer: Mozilla 4.61 [en] (X11; I; Linux 2.2.12-20 i686) X-Accept-Language: en MIME-Version: 1.0 CC: caml-list@inria.fr Subject: Re: Portability of applications written in OCAML: C stuff References: <14505.19990.196972.627775@sun-demons> <00021700444302.30469@ice> <20000218103603.51298@pauillac.inria.fr> <20000222091306.A19683@dpt-info.u-strasbg.fr> <20000222102116.38250@pauillac.inria.fr> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Resent-From: weis@pauillac.inria.fr Resent-Date: Wed, 23 Feb 2000 18:50:25 +0100 Resent-To: caml-redistribution@pauillac.inria.fr I have a problem using some third partyC codes with ocaml, this includes pcre (defintely) and possibly mlgtk. Some work needs to be done figuring out the right way to do this. Here's the problem: I am distributing an ocaml/C tool which uses third party components like mlgtk and pcre which require C code. The way these packages are distributed is a 'build in separate directory and install' model. This is NOT acceptable for my package. I require all components to be built and usable WITHOUT installing them (with one exception: the standard ocaml (and python) distributions). What I do is copy relevant source files from distributed packages, and, if necessary, edit them, then I build them as part of my system, directly from these sources. [In other words I must distribute IN MY PACKAGE everything which is not stock standard in the official ocaml distribution, and a single command must build the whole system] This is a pain. I would like to ask suppliers of third party packages please 1. DO NOT USE A FILE CALLED 'config.h' Such a file will clobber someone elses config.h Pleae call these files 'pcre_config.h' or 'gdk_config.h' or whatever. PLEASE use filenames that are specialised to your package, do NOT use generic names on the assumption your code will be built with your Makefile in a separate directory. 2. Do NOT require you package be 'main'. Only ONE main is allowed, and it is MINE. Do NOT supply 'main' in ANY C libraries. (you can supply a sample 'main.c', but is must be that: a sample) [This also seems to affect 'numerix'] Some of these problems will be alieviated when Ocaml gets a proper mechanism to add components to the system. This is non-trivial, but it is handled much better in Python than Ocaml at present. I have made quite extensive additions to mlgtk, but I cannot supply a 'patch' to the original authors because I have been forced to rename files, and make edits which break that packages build model. -- John (Max) Skaller at OTT [Open Telecommications Ltd] mailto:maxs@in.ot.com.au -- at work mailto:skaller@maxtal.com.au -- at home