From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: ** X-Spam-Status: No, score=2.0 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, DNS_FROM_RFC_POST,DNS_FROM_RFC_WHOIS autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 6C5D3BBAF for ; Fri, 21 Nov 2008 20:29:16 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmoCAFOaJklDww/fmWdsb2JhbACOPoUbAQEBAQEGDQoHEbNojGYFAgGCeQ X-IronPort-AV: E=Sophos;i="4.33,645,1220220000"; d="scan'208";a="20238988" Received: from web111516.mail.gq1.yahoo.com ([67.195.15.223]) by mail1-smtp-roc.national.inria.fr with SMTP; 21 Nov 2008 20:29:15 +0100 Received: (qmail 7668 invoked by uid 60001); 21 Nov 2008 19:29:14 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=sUWyPi1A5Olh/PWTtn1Y64A4lpNt62f+FIEFmEiTW4qeQUGHZRRgVhjE7sGKNbDI3sjimfkwExlIgKBfHGqpZ7NY+7Em9HyCm/E0z/7/oruswRZbwzlcAPhzPkcoVBOqUpMPY9KV+0Qw9FIM96xFrje7+PxnYKgloQ1BH5pHiUk=; X-YMail-OSG: 0_jYVesVM1kKiuRUc5hiNIv3.Pr4Kl7H9frnheA33PekqMOmWf1PmgLZ3U5_4gfDcfc3ki1yBTvrf_YM2sxa61wRByuwr.RPkO9tZpTZTmMsrAHOX2DKymf919CgKtZnUE8lCR5z0mEqQJifGecUKW.TnGmUllAMORvBrdEc8T5YLThMAlBKQ0k1cnPU Received: from [213.205.70.204] by web111516.mail.gq1.yahoo.com via HTTP; Fri, 21 Nov 2008 11:29:12 PST X-Mailer: YahooMailWebService/0.7.260.1 Date: Fri, 21 Nov 2008 11:29:12 -0800 (PST) From: Dario Teixeira Subject: Native dynlink on 3.11: a request for packagers To: caml-list@yquem.inria.fr MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID: <908917.4744.qm@web111516.mail.gq1.yahoo.com> X-Spam: no; 0.00; dynlink:01 packagers:01 dynlink:01 afaik:01 cmxa:01 cmx:01 bytecode:01 cmo:01 -shared:01 ocamlopt:01 -shared:01 -linkall:01 foobar:01 foobar:01 cmxa:01 Hi, As you are probably aware, the upcoming 3.11 release includes Alain Frisch's native dynlink patches. AFAIK, you cannot directly dynlink a cmxa or cmx file like you would do in bytecode with cma or cmo files. Beforehand, a native code binary must be made into a plugin via ocamlopt's -shared option. The suggested convention [1] is to give these plugins a cmxs extension: ocamlopt -shared -linkall -o foobar.cmxs foobar.cmxa These native code plugins are a prerequisite if one intends to run Ocsigen in native mode. Therefore, the life of Ocsigen users would be greatly simplified if library writers and packagers (GODI, Debian, Fedora, etc) would add this little extra step of generating cmxs for each cmxa. This request only makes sense for 3.11, of course. Complementary, META files should also include extra directives for plugins. For example: archive(byte) =3D "foobar.cma" archive(native) =3D "foobar.cmxa" archive(plugin,byte) =3D "foobar.cma" archive(plugin,native) =3D "foobar.cmxs" This request can of course become an OSR. My question is if the herein contained instructions will still be valid verbatim for 3.11 final. Will they? Also, please check the Ocsigen Wiki for more info on this subject [2]. Best regards, Dario Teixeira [1] http://alain.frisch.fr/natdynlink.html [2] http://www.ocsigen.org/trac/wiki/NativeCodeVersion =0A=0A=0A