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 285BF81792 for ; Wed, 10 Jul 2013 04:24:02 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of bobzhang1988@gmail.com) identity=pra; client-ip=209.85.220.169; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="bobzhang1988@gmail.com"; x-sender="bobzhang1988@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of bobzhang1988@gmail.com designates 209.85.220.169 as permitted sender) identity=mailfrom; client-ip=209.85.220.169; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="bobzhang1988@gmail.com"; x-sender="bobzhang1988@gmail.com"; 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@mail-vc0-f169.google.com) identity=helo; client-ip=209.85.220.169; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="bobzhang1988@gmail.com"; x-sender="postmaster@mail-vc0-f169.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ak0BAOXE3FHRVdypm2dsb2JhbABagmiEKL4AgREWDgEBAQEBBgsLCRQogiMBAQUjFQgBGxwCAwwGBQsNAgIFFgsCAgkDAgECARERAQUBHAYBDAgBAReHYQEDDwGcdYt/T4J/hCkKGScNWIdzAQUMgRqMfYFPglaBHgOXVI9kP4RT X-IPAS-Result: Ak0BAOXE3FHRVdypm2dsb2JhbABagmiEKL4AgREWDgEBAQEBBgsLCRQogiMBAQUjFQgBGxwCAwwGBQsNAgIFFgsCAgkDAgECARERAQUBHAYBDAgBAReHYQEDDwGcdYt/T4J/hCkKGScNWIdzAQUMgRqMfYFPglaBHgOXVI9kP4RT X-IronPort-AV: E=Sophos;i="4.87,1032,1363129200"; d="scan'208";a="25301928" Received: from mail-vc0-f169.google.com ([209.85.220.169]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 10 Jul 2013 04:24:01 +0200 Received: by mail-vc0-f169.google.com with SMTP id ia10so4882518vcb.14 for ; Tue, 09 Jul 2013 19:24:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=/1XrDO+uO+BS4QdKE11OBWevrcOs+ryPA1gRAiWnXN4=; b=CPMR8AgDZ+XZH2PoQnVhT/cVd/Qwc088nksl8iIO40K/E9ItYhmMh2yDzQEJtCCS/Z yJ+pBvJsQrX+r/q6wMhEAKZgdxumXYDbjg1Xm5Tiw33BXJ0R6XCs2sl8C+Xxm834vVq1 x8wuLZVTDGYy+mrBk3/yYiMfhbRn6T3QRX1fHxWELlvbz2HRn8qnacPi4Y8mGAVcseSJ mfCbZJchmAiBWmh52DEDzH6OR/dvQnMT0cigx7d46ofW6US4x8z+z6NMjc537FAPUr1S v8IY6oImZfQ5vVscHwcjYSWeZzZ/559sJ1mKUqvp4kR8rWygCB9CgIzdoxaHgzvBRIxC EnBA== X-Received: by 10.58.230.135 with SMTP id sy7mr18056897vec.42.1373423040279; Tue, 09 Jul 2013 19:24:00 -0700 (PDT) Received: from Hongbos-MacBook-Air.local ([2601:c:2e80:8e:80e6:5cdf:289c:510]) by mx.google.com with ESMTPSA id 20sm23287239vde.3.2013.07.09.19.23.59 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 09 Jul 2013 19:23:59 -0700 (PDT) Message-ID: <51DCC5BC.8040308@gmail.com> Date: Tue, 09 Jul 2013 22:23:56 -0400 From: Hongbo Zhang User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: Marc Weber , Caml List References: <1373421379-sup-8981@nixos> In-Reply-To: <1373421379-sup-8981@nixos> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: [Caml-list] Re: cppo and camlp4 ? which way to go ? Hi, I think an easy way is to write a wrapper(in python, for example) to wrap both cppo and camlp4. btw, camlp4 does have optcomp which has similar functionality as cppo. On 7/9/13 10:03 PM, Marc Weber wrote: > It looks like ocaml supports only one -pp option? > Now I want both: first cppo, then camlp4? > > Which way to go? > way 1) find a way to make ocaml accept multiple -pp > > way 2) KISS: -pp 'cppo | camlp4', unlikely to work, because -pp adds the > input file as last argument? > > Well - could be using -pp 'sh -c "cppo $1 | camlp4 $1 ..." ' > > that's linux, only, starting quoting hell > > way 3) > make cppo accept additional options, and make it call camlp4 and pass > its data to it > 3.1: using a file: batteries includes with_temp_file, but would add > new dependencies > 3.2: pipe through command, which cross platform implementation does > exist? > > > way 4) rewrite my tracing code to use new -ppx (would take too long ?) > > Have I missed a simple solution ? > > I appologize if I've missed the obvious. > > Marc Weber >