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 3507D817AE for ; Wed, 10 Jul 2013 04:02:03 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of marco-oweber@gmx.de) identity=pra; client-ip=212.227.15.18; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="marco-oweber@gmx.de"; x-sender="marco-oweber@gmx.de"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of marco-oweber@gmx.de designates 212.227.15.18 as permitted sender) identity=mailfrom; client-ip=212.227.15.18; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="marco-oweber@gmx.de"; x-sender="marco-oweber@gmx.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.gmx.net) identity=helo; client-ip=212.227.15.18; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="marco-oweber@gmx.de"; x-sender="postmaster@mout.gmx.net"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ai4CAELA3FHU4w8SlGdsb2JhbABahxCtR5FMFg4BAQEBBwsLCRIqgk0PAXsCGAENAhJNLodhARaZb4M5i0SHeAGJKIEmjH2EJYEeA54Gjio X-IPAS-Result: Ai4CAELA3FHU4w8SlGdsb2JhbABahxCtR5FMFg4BAQEBBwsLCRIqgk0PAXsCGAENAhJNLodhARaZb4M5i0SHeAGJKIEmjH2EJYEeA54Gjio X-IronPort-AV: E=Sophos;i="4.87,1032,1363129200"; d="scan'208";a="25299587" Received: from mout.gmx.net ([212.227.15.18]) by mail2-smtp-roc.national.inria.fr with ESMTP; 10 Jul 2013 04:02:02 +0200 Received: from mail.gmx.net ([87.164.97.91]) by mail.gmx.com (mrgmx101) with ESMTPA (Nemesis) id 0MV1wf-1UgVfA2haf-00YUeL for ; Wed, 10 Jul 2013 04:02:02 +0200 Received: by mail.gmx.net (sSMTP sendmail emulation); Wed, 10 Jul 2013 02:03:06 +0000 Content-Type: text/plain; charset=UTF-8 From: Marc Weber To: caml-list Date: Wed, 10 Jul 2013 04:03:06 +0200 Message-Id: <1373421379-sup-8981@nixos> User-Agent: Sup/git Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:G5SAwyDgjwMbcGz2dfbgo4TO3LYa2+vV0WyUV2wPQpt/37apt/D QVQ6Hkr4rOllQYp2sA169yEL6XvRdp727nt7lF0RBL45ngqeyvbssyuxkKGjjEmO5lP+Ihj eBRLqzEM/hBsVNVPiUdKjgDQxPzfng/NLAIPnrWWlE+17C7prU4mg1XrP+DQLT8qMYJsl+X o70MHpiebvais0BI8xhrg== Subject: [Caml-list] cppo and camlp4 ? which way to go ? 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