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=0.1 required=5.0 tests=AWL autolearn=disabled version=3.1.3 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 2CB32BC54 for ; Fri, 12 Jun 2009 15:09:28 +0200 (CEST) X-IronPort-AV: E=Sophos;i="4.42,209,1243807200"; d="scan'208";a="31109234" Received: from arvin.irisa.fr (HELO [131.254.11.86]) ([131.254.11.86]) by mail1-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 12 Jun 2009 15:09:27 +0200 Message-ID: <4A32535F.6020109@irisa.fr> Date: Fri, 12 Jun 2009 15:08:47 +0200 From: Tiphaine Turpin User-Agent: Thunderbird 2.0.0.19 (X11/20090216) MIME-Version: 1.0 To: dmitry grebeniuk Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Batteries and portability References: <4A30CD39.1010804@irisa.fr> In-Reply-To: Content-Type: multipart/mixed; boundary="------------070502000901010109040505" X-Spam: no; 0.00; irisa:01 grebeniuk:01 camomile:01 camomile:01 runtime:01 -aur:01 -let:01 -let:01 bool:01 bool:01 lowercase:01 lowercase:01 uchar:01 -aur:01 uchar:01 X-Attachments: cset="UTF-8" name="camomile.patch" name="camomile.patch" This is a multi-part message in MIME format. --------------070502000901010109040505 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The following completed patch works for me. Tiphaine dmitry grebeniuk a écrit : > If you really don't use camomile and it is not used > in batteries indirectly, you can defer initialization. > Apply the patch to camomile: > http://overbld.abcname.net/files/camomile-noprecomp.html > But the patch has a [small] runtime cost. > --------------070502000901010109040505 Content-Type: text/plain; name="camomile.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="camomile.patch" ZGlmZiAtYXVyIGNhbW9taWxlLm9yaWcvY2Ftb21pbGUtMC43LjEvcHVibGljL2Nhc2VNYXAu bWwgY2Ftb21pbGUtMC43LjEvcHVibGljL2Nhc2VNYXAubWwKLS0tIGNhbW9taWxlLm9yaWcv Y2Ftb21pbGUtMC43LjEvcHVibGljL2Nhc2VNYXAubWwJMjAwNi0wOC0xNCAxMzozNTowMy4w MDAwMDAwMDAgKzAyMDAKKysrIGNhbW9taWxlLTAuNy4xL3B1YmxpYy9jYXNlTWFwLm1sCTIw MDktMDYtMTIgMTQ6NDU6MjIuMDAwMDAwMDAwICswMjAwCkBAIC0xNywzNSArMTcsMzUgQEAK ICAgbW9kdWxlIFVDaGFySW5mbyA9IFVDaGFySW5mby5NYWtlKENvbmZpZykKICAgb3BlbiBV Q2hhckluZm8KIAotbGV0IHVwcGVyY2FzZV90YmwgPSBsb2FkX3Byb3BlcnR5X3RibCBgVXBw ZXJjYXNlCitsZXQgdXBwZXJjYXNlX3RibCA9IGxhenkgKGxvYWRfcHJvcGVydHlfdGJsIGBV cHBlcmNhc2UpCiAKLWxldCBpc191cHBlcmNhc2UgdSA9IFVDaGFyVGJsLkJvb2wuZ2V0IHVw cGVyY2FzZV90YmwgdSAKK2xldCBpc191cHBlcmNhc2UgdSA9IFVDaGFyVGJsLkJvb2wuZ2V0 IChMYXp5LmZvcmNlIHVwcGVyY2FzZV90YmwpIHUgCiAKLWxldCBsb3dlcmNhc2VfdGJsID0g bG9hZF9wcm9wZXJ0eV90YmwgYExvd2VyY2FzZQotbGV0IGlzX2xvd2VyY2FzZSB1ID0gVUNo YXJUYmwuQm9vbC5nZXQgbG93ZXJjYXNlX3RibCB1IAorbGV0IGxvd2VyY2FzZV90YmwgPSBs YXp5IChsb2FkX3Byb3BlcnR5X3RibCBgTG93ZXJjYXNlKQorbGV0IGlzX2xvd2VyY2FzZSB1 ID0gVUNoYXJUYmwuQm9vbC5nZXQgKExhenkuZm9yY2UgbG93ZXJjYXNlX3RibCkgdSAKIAot bGV0IGNvbmRpdGlvbmFsX2Nhc2luZ190YmwgPSBsb2FkX2NvbmRpdGlvbmFsX2Nhc2luZ190 YmwgKCkKLWxldCBjb25kaXRpb25hbF9jYXNpbmcgdSA9IFVDaGFyVGJsLmdldCBjb25kaXRp b25hbF9jYXNpbmdfdGJsIHUKK2xldCBjb25kaXRpb25hbF9jYXNpbmdfdGJsID0gbGF6eSAo bG9hZF9jb25kaXRpb25hbF9jYXNpbmdfdGJsICgpKQorbGV0IGNvbmRpdGlvbmFsX2Nhc2lu ZyB1ID0gVUNoYXJUYmwuZ2V0IChMYXp5LmZvcmNlIGNvbmRpdGlvbmFsX2Nhc2luZ190Ymwp IHUKIAotbGV0IGNhc2Vmb2xkaW5nX3RibCA9IGxvYWRfY2FzZWZvbGRpbmdfdGJsICgpCi1s ZXQgY2FzZWZvbGRpbmdfY2hhciB1ID0gVUNoYXJUYmwuZ2V0IGNhc2Vmb2xkaW5nX3RibCB1 CitsZXQgY2FzZWZvbGRpbmdfdGJsID0gbGF6eSAobG9hZF9jYXNlZm9sZGluZ190YmwgKCkp CitsZXQgY2FzZWZvbGRpbmdfY2hhciB1ID0gVUNoYXJUYmwuZ2V0IChMYXp5LmZvcmNlIGNh c2Vmb2xkaW5nX3RibCkgdQogCiBsZXQgaXNfbnVsbCB1ID0gVUNoYXIudWludF9jb2RlIHUg PSAwCiAKLWxldCB0b19sb3dlcjFfdGJsID0gbG9hZF90b19sb3dlcjFfdGJsICgpCitsZXQg dG9fbG93ZXIxX3RibCA9IGxhenkgKGxvYWRfdG9fbG93ZXIxX3RibCAoKSkKIAogbGV0IHRv X2xvd2VyMSB1ID0gCi0gIGxldCB1JyA9IFVDaGFyVGJsLmdldCB0b19sb3dlcjFfdGJsIHUg aW4KKyAgbGV0IHUnID0gVUNoYXJUYmwuZ2V0IChMYXp5LmZvcmNlIHRvX2xvd2VyMV90Ymwp IHUgaW4KICAgaWYgaXNfbnVsbCB1JyB0aGVuIHUgZWxzZSB1JwogCi1sZXQgdG9fdXBwZXIx X3RibCA9IGxvYWRfdG9fdXBwZXIxX3RibCAoKQorbGV0IHRvX3VwcGVyMV90YmwgPSBsYXp5 IChsb2FkX3RvX3VwcGVyMV90YmwgKCkpCiBsZXQgdG9fdXBwZXIxIHUgPSAKLSAgbGV0IHUn ID0gVUNoYXJUYmwuZ2V0IHRvX3VwcGVyMV90YmwgdSBpbgorICBsZXQgdScgPSBVQ2hhclRi bC5nZXQgKExhenkuZm9yY2UgdG9fdXBwZXIxX3RibCkgdSBpbgogICBpZiBpc19udWxsIHUn IHRoZW4gdSBlbHNlIHUnCiAKLWxldCB0b190aXRsZTFfdGJsID0gbG9hZF90b190aXRsZTFf dGJsICgpCitsZXQgdG9fdGl0bGUxX3RibCA9IGxhenkgKGxvYWRfdG9fdGl0bGUxX3RibCAo KSkKIGxldCB0b190aXRsZTEgdSA9IAotICBsZXQgdScgPSBVQ2hhclRibC5nZXQgdG9fdGl0 bGUxX3RibCB1IGluCisgIGxldCB1JyA9IFVDaGFyVGJsLmdldCAoTGF6eS5mb3JjZSB0b190 aXRsZTFfdGJsKSB1IGluCiAgIGlmIGlzX251bGwgdScgdGhlbiB1IGVsc2UgdScKIAogbGV0 IGlzX2Nhc2VfaWdub3JhYmxlIHUgPQpAQCAtOTIsOCArOTIsOCBAQAogICAgICAgaW4KICAg ICAgIHNlYXJjaCAoVGV4dC5uZXh0IHQgaSkKIAotICAgIGxldCBzb2Z0X2RvdHRlZF90Ymwg PSBVQ2hhckluZm8ubG9hZF9wcm9wZXJ0eV90YmwgYFNvZnRfRG90dGVkCi0gICAgbGV0IGlz X3NvZnRfZG90dGVkIHUgPSBVQ2hhclRibC5Cb29sLmdldCBzb2Z0X2RvdHRlZF90YmwgdQor ICAgIGxldCBzb2Z0X2RvdHRlZF90YmwgPSBsYXp5IChVQ2hhckluZm8ubG9hZF9wcm9wZXJ0 eV90YmwgYFNvZnRfRG90dGVkKQorICAgIGxldCBpc19zb2Z0X2RvdHRlZCB1ID0gVUNoYXJU YmwuQm9vbC5nZXQgKExhenkuZm9yY2Ugc29mdF9kb3R0ZWRfdGJsKSB1CiAKICAgICBsZXQg aXNfYWZ0ZXJfc29mdF9kb3R0ZWQgdCBpID0KICAgICAgIGxldCByZWMgc2VhcmNoIGkgPQpk aWZmIC1hdXIgY2Ftb21pbGUub3JpZy9jYW1vbWlsZS0wLjcuMS9wdWJsaWMvdUNoYXJJbmZv Lm1sIGNhbW9taWxlLTAuNy4xL3B1YmxpYy91Q2hhckluZm8ubWwKLS0tIGNhbW9taWxlLm9y aWcvY2Ftb21pbGUtMC43LjEvcHVibGljL3VDaGFySW5mby5tbAkyMDA2LTA4LTE0IDEzOjM1 OjAzLjAwMDAwMDAwMCArMDIwMAorKysgY2Ftb21pbGUtMC43LjEvcHVibGljL3VDaGFySW5m by5tbAkyMDA5LTA2LTExIDE4OjQ2OjE5LjAwMDAwMDAwMCArMDIwMApAQCAtMjUxLDExICsy NTEsMTEgQEAKIAogKCogR2VuZXJhbCBjYXRlZ29yeSAqKQogCi1sZXQgZ2VuZXJhbF9jYXRl Z29yeV90YmwgOiBVQ2hhclRibC5CaXRzLnQgPSAKLSAgcmVhZF9kYXRhICJnZW5lcmFsX2Nh dGVnb3J5IgorbGV0IGdlbmVyYWxfY2F0ZWdvcnlfdGJsIDogVUNoYXJUYmwuQml0cy50IExh enkudCA9IAorICBsYXp5IChyZWFkX2RhdGEgImdlbmVyYWxfY2F0ZWdvcnkiKQogCiBsZXQg Z2VuZXJhbF9jYXRlZ29yeSB1ID0KLSAgbWF0Y2ggVUNoYXJUYmwuQml0cy5nZXQgZ2VuZXJh bF9jYXRlZ29yeV90YmwgdSB3aXRoCisgIG1hdGNoIFVDaGFyVGJsLkJpdHMuZ2V0IChMYXp5 LmZvcmNlIGdlbmVyYWxfY2F0ZWdvcnlfdGJsKSB1IHdpdGgKICAgICAwIC0+CiAgICAgICBs ZXQgbiA9IFVDaGFyLnVpbnRfY29kZSB1IGluCiAgICAgICBpZiBuID49IDB4MGYwMDAwICYm IG4gPD0gMHgxMDAwMDAgdGhlbiBgQ28gZWxzZQpAQCAtNDI2LDkgKzQyNiw5IEBACiAKICgq IFNjcmlwdHMgKikKIAotbGV0IHNjcmlwdF90YmwgOiBVQ2hhclRibC5CaXRzLnQgPSByZWFk X2RhdGEgICJzY3JpcHRzIgorbGV0IHNjcmlwdF90YmwgOiBVQ2hhclRibC5CaXRzLnQgTGF6 eS50ID0gbGF6eSAocmVhZF9kYXRhICJzY3JpcHRzIikKIAotbGV0IHNjcmlwdCB1ID0gc2Ny aXB0X29mX251bSAoVUNoYXJUYmwuQml0cy5nZXQgc2NyaXB0X3RibCB1KQorbGV0IHNjcmlw dCB1ID0gc2NyaXB0X29mX251bSAoVUNoYXJUYmwuQml0cy5nZXQgKExhenkuZm9yY2Ugc2Ny aXB0X3RibCkgdSkKIGxldCBsb2FkX3NjcmlwdF9tYXAgKCkgPSByZWFkX2RhdGEgICJzY3Jp cHRzX21hcCIKIAogKCogQ2FzaW5nICopCkBAIC00OTUsMTAgKzQ5NSwxMCBAQAogCiAoKiBD b21iaW5lZCBjbGFzcyAqKQogCi1sZXQgY29tYmluZWRfY2xhc3NfdGJsIDogVUNoYXJUYmwu Q2hhci50ID0KLSAgcmVhZF9kYXRhICAiY29tYmluZWRfY2xhc3MiCitsZXQgY29tYmluZWRf Y2xhc3NfdGJsIDogVUNoYXJUYmwuQ2hhci50IExhenkudCA9CisgIGxhenkgKHJlYWRfZGF0 YSAgImNvbWJpbmVkX2NsYXNzIikKIAotbGV0IGNvbWJpbmVkX2NsYXNzIHUgPSBDaGFyLmNv ZGUgKFVDaGFyVGJsLkNoYXIuZ2V0IGNvbWJpbmVkX2NsYXNzX3RibCB1KQorbGV0IGNvbWJp bmVkX2NsYXNzIHUgPSBDaGFyLmNvZGUgKFVDaGFyVGJsLkNoYXIuZ2V0IChMYXp5LmZvcmNl IGNvbWJpbmVkX2NsYXNzX3RibCkgdSkKIAogKCogRGVjb21wb3NpdGlvbiAqKQogCmRpZmYg LWF1ciBjYW1vbWlsZS5vcmlnL2NhbW9taWxlLTAuNy4xL3B1YmxpYy91Q29sLm1sIGNhbW9t aWxlLTAuNy4xL3B1YmxpYy91Q29sLm1sCi0tLSBjYW1vbWlsZS5vcmlnL2NhbW9taWxlLTAu Ny4xL3B1YmxpYy91Q29sLm1sCTIwMDYtMDgtMTQgMTM6MzU6MDMuMDAwMDAwMDAwICswMjAw CisrKyBjYW1vbWlsZS0wLjcuMS9wdWJsaWMvdUNvbC5tbAkyMDA5LTA2LTEyIDE0OjQ3OjE2 LjAwMDAwMDAwMCArMDIwMApAQCAtNTgsMTAgKzU4LDEwIEBACiBvcGVuIFVDaGFySW5mbwog CiBsZXQgbG9naWNhbF9vcmRlcl9leGNlcHRpb25fdGJsID0gCi0gIFVDaGFySW5mby5sb2Fk X3Byb3BlcnR5X3RibCBgTG9naWNhbF9PcmRlcl9FeGNlcHRpb24KKyAgbGF6eSAoVUNoYXJJ bmZvLmxvYWRfcHJvcGVydHlfdGJsIGBMb2dpY2FsX09yZGVyX0V4Y2VwdGlvbikKIAogbGV0 IGlzX2xvZ2ljYWxfb3JkZXJfZXhjZXB0aW9uIHUgPSAKLSAgVUNoYXJUYmwuQm9vbC5nZXQg bG9naWNhbF9vcmRlcl9leGNlcHRpb25fdGJsIHUKKyAgVUNoYXJUYmwuQm9vbC5nZXQgKExh enkuZm9yY2UgbG9naWNhbF9vcmRlcl9leGNlcHRpb25fdGJsKSB1CiAKIGxldCByZWMgcmVh cnJhbmdlX2F1eCB4IHBvcyA9CiAgIGlmIHBvcyA+IFhTdHJpbmcubGVuZ3RoIHggLSAyIHRo ZW4gKCkgZWxzZQpAQCAtOTcsMTAgKzk3LDEwIEBACiAgIGxvb3AwIDAKIAogbGV0IG5vbmNo YXJhY3Rlcl9jb2RlX3BvaW50X3RibCA9IAotICBVQ2hhckluZm8ubG9hZF9wcm9wZXJ0eV90 YmwgYE5vbmNoYXJhY3Rlcl9Db2RlX1BvaW50CisgIGxhenkgKFVDaGFySW5mby5sb2FkX3By b3BlcnR5X3RibCBgTm9uY2hhcmFjdGVyX0NvZGVfUG9pbnQpCiAKIGxldCBpc19ub25jaGFy YWN0ZXJfY29kZV9wb2ludCB1ID0gCi0gIFVDaGFyVGJsLkJvb2wuZ2V0IG5vbmNoYXJhY3Rl cl9jb2RlX3BvaW50X3RibCB1CisgIFVDaGFyVGJsLkJvb2wuZ2V0IChMYXp5LmZvcmNlIG5v bmNoYXJhY3Rlcl9jb2RlX3BvaW50X3RibCkgdQogCiBsZXQgcmV2ZXJzZSBzID0KICAgaWYg U3RyaW5nLmxlbmd0aCBzID0gMCB0aGVuICgpIGVsc2UKZGlmZiAtYXVyIGNhbW9taWxlLm9y aWcvY2Ftb21pbGUtMC43LjEvcHVibGljL3VORi5tbCBjYW1vbWlsZS0wLjcuMS9wdWJsaWMv dU5GLm1sCi0tLSBjYW1vbWlsZS5vcmlnL2NhbW9taWxlLTAuNy4xL3B1YmxpYy91TkYubWwJ MjAwNi0wOC0xNCAxMzozNTowMy4wMDAwMDAwMDAgKzAyMDAKKysrIGNhbW9taWxlLTAuNy4x L3B1YmxpYy91TkYubWwJMjAwOS0wNi0xMiAxNDo0OTo0Mi4wMDAwMDAwMDAgKzAyMDAKQEAg LTY0LDE0ICs2NCwxNCBAQAogCiBsZXQgbnVsbCA9IFVDaGFyLmNocl9vZl91aW50IDAKIAot bGV0IGRlY29tcG9zaXRpb25fdGJsID0gbG9hZF9kZWNvbXBvc2l0aW9uX3RibCAoKQotbGV0 IGRlY29tcG9zaXRpb24gdSA9IFVDaGFyVGJsLmdldCBkZWNvbXBvc2l0aW9uX3RibCB1Cits ZXQgZGVjb21wb3NpdGlvbl90YmwgPSBsYXp5IChsb2FkX2RlY29tcG9zaXRpb25fdGJsICgp KQorbGV0IGRlY29tcG9zaXRpb24gdSA9IFVDaGFyVGJsLmdldCAoTGF6eS5mb3JjZSBkZWNv bXBvc2l0aW9uX3RibCkgdQogCi1sZXQgY29tcG9zaXRpb25fZXhjbHVzaW9uX3RibCA9IGxv YWRfY29tcG9zaXRpb25fZXhjbHVzaW9uX3RibCAoKQotbGV0IGNvbXBvc2l0aW9uX2V4Y2x1 c2lvbiB1ID0gVUNoYXJUYmwuQm9vbC5nZXQgY29tcG9zaXRpb25fZXhjbHVzaW9uX3RibCB1 CitsZXQgY29tcG9zaXRpb25fZXhjbHVzaW9uX3RibCA9IGxhenkgKGxvYWRfY29tcG9zaXRp b25fZXhjbHVzaW9uX3RibCAoKSkKK2xldCBjb21wb3NpdGlvbl9leGNsdXNpb24gdSA9IFVD aGFyVGJsLkJvb2wuZ2V0IChMYXp5LmZvcmNlIGNvbXBvc2l0aW9uX2V4Y2x1c2lvbl90Ymwp IHUKIAotbGV0IGNvbXBvc2l0aW9uX3RibCA9IGxvYWRfY29tcG9zaXRpb25fdGJsICgpCi1s ZXQgY29tcG9zaXRpb24gdSA9IFVDaGFyVGJsLmdldCBjb21wb3NpdGlvbl90YmwgdQorbGV0 IGNvbXBvc2l0aW9uX3RibCA9IGxhenkgKGxvYWRfY29tcG9zaXRpb25fdGJsICgpKQorbGV0 IGNvbXBvc2l0aW9uIHUgPSBVQ2hhclRibC5nZXQgKExhenkuZm9yY2UgY29tcG9zaXRpb25f dGJsKSB1CiAKIGxldCByZWMgYWRkX2xpc3QgeCA9IGZ1bmN0aW9uCiAgICAgW10gLT4gKCkK --------------070502000901010109040505--