Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Dario Teixeira <darioteixeira@yahoo.com>
To: OCaml mailing-list <caml-list@inria.fr>
Cc: Sylvain Le Gall <sylvain@le-gall.net>
Subject: [Caml-list] OASIS and conditional compilation
Date: Sat, 15 Dec 2012 08:02:35 -0800 (PST)	[thread overview]
Message-ID: <1355587355.56246.YahooMailNeo@web120405.mail.ne1.yahoo.com> (raw)

Hi,

I've come across a perplexing issue with OASIS.  I'm not sure if this is
just a bug or if I'm trying to push the tool beyond its design parameters.

PG'OCaml can be compiled against either Batteries or ExtLib (the latter
mostly for legacy compatibility). To allow the harmonious coexistence of
the two options in the same system, the build system should allow for
the compilation of one or the two versions of the library side by side.
In OASIS-speak (I'm using version 0.3):

  Flag "batteries"
    Description: Link PG'OCaml against Batteries
    Default: true

  Flag "extlib"
    Description: Link PG'OCaml against ExtLib
    Default: true

  Library "pgocaml_batteries"
    Build$:               flag(batteries)
    Install$:             flag(batteries)
    Path:                 src
    Modules:              PGOCaml, PGOCaml_generic
    BuildDepends:         unix, calendar, csv, pcre, batteries, camlp4.macro
    ByteOpt+:             -ppopt -DUSE_BATTERIES
    NativeOpt+:           -ppopt -DUSE_BATTERIES
    FindlibContainers:    pgocaml
    Findlibname:          batteries
    XMETARequires:        unix, calendar, csv, pcre, batteries

  Library "pgocaml_extlib"
    Build$:               flag(extlib)
    Install$:             flag(extlib)
    Path:                 src
    Modules:              PGOCaml, PGOCaml_generic
    BuildDepends:         unix, calendar, csv, pcre, extlib, camlp4.macro
    FindlibContainers:    pgocaml
    Findlibname:          extlib
    XMETARequires:        unix, calendar, csv, pcre, extlib

Note that the major difference is that "-ppopt -DUSE_BATTERIES" must be
passed to Camlp4 only when compiling the Batteries version.  The problem
is that it's *always* passed, even if the "batteries" flag is disabled
by passing "--disable-batteries" to the configure script.

Did I misinterpret something crucial about OASIS, or is this indeed a bug?

Thanks in advance!
Best regards,
Dario Teixeira

P.S. The full OASIS spec file can be viewed at this location:
     https://forge.ocamlcore.org/scm/viewvc.php/branches/oasification/_oasis?revision=157&root=pgocaml

             reply	other threads:[~2012-12-15 16:02 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-15 16:02 Dario Teixeira [this message]
2012-12-15 16:17 ` Wojciech Meyer
2012-12-15 16:56   ` Dario Teixeira
2012-12-15 17:23   ` Sylvain Le Gall
2012-12-15 18:25     ` Dario Teixeira
2012-12-15 16:59 ` Török Edwin
2012-12-15 18:31   ` Dario Teixeira
2012-12-16  1:13 ` Jacques-Pascal Deplaix

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1355587355.56246.YahooMailNeo@web120405.mail.ne1.yahoo.com \
    --to=darioteixeira@yahoo.com \
    --cc=caml-list@inria.fr \
    --cc=sylvain@le-gall.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox