From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id EE1B17EF1E for ; Tue, 19 Jul 2016 11:20:14 +0200 (CEST) IronPort-PHdr: 9a23:abdHexbJH/0X32AyH/8s6YX/LSx+4OfEezUN459isYplN5qZpc+8bnLW6fgltlLVR4KTs6sC0LuO9f25EjVZqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i760zceF13FOBZvIaytQ8iJ3pzxirn5osSbSj4LrQL1Wal1IhSyoFeZnegtqqwmFJwMzADUqGBDYeVcyDAgD1uSmxHh+pX4p8Y7oGwD884mosVJVKG/e6UjUZRZCi4nOiY7/p7Frx7GGCSI/WQdVC0IlRwAKRLI4BzgWpDu+n/1sfFi2S/fI4j8Za85U3Ku4vE4G1fTlC4bOmthoynsgctqgfcDrQ== Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=goswin-v-b@web.de; spf=Pass smtp.mailfrom=goswin-v-b@web.de; spf=None smtp.helo=postmaster@mout.web.de Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of goswin-v-b@web.de) identity=pra; client-ip=212.227.17.12; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="goswin-v-b@web.de"; x-sender="goswin-v-b@web.de"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of goswin-v-b@web.de designates 212.227.17.12 as permitted sender) identity=mailfrom; client-ip=212.227.17.12; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="goswin-v-b@web.de"; x-sender="goswin-v-b@web.de"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mout.web.de) identity=helo; client-ip=212.227.17.12; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="goswin-v-b@web.de"; x-sender="postmaster@mout.web.de"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0C/AgC1741XhwwR49RbtV6IGIF6hhoCgTI5EwEBAQEBAQEBEQEBAQgNCQkhL0EOAYFiFYIWAQU6TwsYCSUPBSiISQEaBLg6H4RWAQEIAgEkineFDIJggi8FmSSOWIlMCoVrkB4gA4JNgVmCbIYQAQEB X-IPAS-Result: A0C/AgC1741XhwwR49RbtV6IGIF6hhoCgTI5EwEBAQEBAQEBEQEBAQgNCQkhL0EOAYFiFYIWAQU6TwsYCSUPBSiISQEaBLg6H4RWAQEIAgEkineFDIJggi8FmSSOWIlMCoVrkB4gA4JNgVmCbIYQAQEB X-IronPort-AV: E=Sophos;i="5.28,388,1464645600"; d="scan'208";a="227123402" Received: from mout.web.de ([212.227.17.12]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Jul 2016 11:20:14 +0200 Received: from frosties.localnet ([134.3.242.84]) by smtp.web.de (mrweb103) with ESMTPSA (Nemesis) id 0M1X9B-1b5AO43h0r-00tUVg for ; Tue, 19 Jul 2016 11:20:13 +0200 Received: from mrvn by frosties.localnet with local (Exim 4.87) (envelope-from ) id 1bPRCH-0004U6-1d for caml-list@inria.fr; Tue, 19 Jul 2016 11:20:13 +0200 Date: Tue, 19 Jul 2016 11:20:12 +0200 From: Goswin von Brederlow To: caml-list@inria.fr Message-ID: <20160719092012.GC16408@frosties> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.0 (2016-04-01) X-Provags-ID: V03:K0:KjldzZWFZGrz5RZ+R1olJ+1cV6Y5x31iSntwCEz2e8r2Uo/zisj 4K/I2RVNy4/h2LwJOFwBRC1HIVUQ2AsJvKKD49wN3Y/CiaoNVCthJQhb7aHYvamTS0/qu2N yFbCzsk6K03wQgOurrxbBZvqce2i4/qD+dUYXMjpdjC2spIeUCuB6VCp0g3FEzdrEY4iwpi UEBnHH2RPm62H9XuMWFDQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:RyQeL5xczX8=:cQwCOVrkADvmu4Gbia5/8o sUPDqMv71TYfgrTQrEk+GHV1kWxrTjpnMnKBXd3/9ar3Nxi1I3YWC0NIUYLUqySm5PxbPs5Mo fp10FJHh+fcCut+RIqM+LjXUNW+9S1xWDgv09lSIsIFWRrjv1bWIwA4nrMwjX+TOpLvp5pMxq vzVws6dh5q46Gp4wram0oB+Q/8HOcj+kRLlbeROh/vBrhLz1/Ry+54pHWmF5wMnnnYbi0s0eV eOx2IbwMhyHxSR06I5uZERmbwOB12nqVeLP9DndgObuVp2+Ylm4BazFuWQotroSKR48YxmpGL oi891K33S8SIeDQcrXeVp+4GHOJV4CnjNTQVMLDWhJ/aeZWwQeds+dfMevZrTVtqYC5JVqJaV pfMBYHntcVdP+4VrsSjN9R9AbqEuPKxDPN/7xmMkpW10jnOYMoJKmWMKp1F20j3sjuWVgx+SB KRkY1jaTShHMPDpINHwkLDScwRtw15tCrcCIGlKap+pVsurmu12mLA7XrxRYPkv+Ts8sZG/yJ oN0ktrbI/4wy06CVYVnIxGtF6tdrX3wca9ul/9iV3PTTSbwkbKy8mgenBFAQDHizHExZ97Dl9 zQ/Cb5wWVogKACm2lXTST+phZCCwVqdSUQF+tW+X6MZGua5AxI2wjUxkRifKJIEuFZhC6p5VD vu1zHGBMhLUOTNuOA0La5Ig4vDuvuy3MWj9L7zjXo+ueqWDeeE/4cazqZcyDwsHtU/jnyw4+1 rBViLalTqlHrcCPgdcRB14TB/ugljrKfZ7D15aqZWPR3/V7gghwmiDYbx6g= Subject: Re: [Caml-list] ocamldep, transitive dependencies, build systems, flambda On 05/07/2016 11:17, Nick Chapman wrote: > There was a further issue we needed to solve to get our scheme working. > Suppose library A lists library B as a dependency and allows this > dependence to be exposed in its interface. Clients of library A will > require access to the .cmi's of library B to be compiled but it seems > unreasonable to require them to explicitly list library B as a > dependency. We solve this by automatically running ocamlinfo on the > public .cmi's of a library to discover additional library deps required > by clients of the library. Debian has a verry simple policy for dynamic link libraries: A library must itself be linked against any other lib it uses. That way applications can just link libfoo if the use it and any lib used by libfoo is automatically included as well. If libfoo changes what other libs it needs then they get included without the app having to do anything. The same should work for cmi files. As you say the cmi file already contains the info what other libs are needed. Ocaml should include them automatically and ocamldep and the build system should not have to care. So I agree with you but want to go one step further. Don't even automatically figure out the depends so you can add the libs to the command line when linking. Have ocaml add them implizitly itself. MfG Goswin