caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Nicolas Pouillard" <nicolas.pouillard@gmail.com>
To: skaller <skaller@users.sourceforge.net>
Cc: "O'Caml Mailing List" <caml-list@yquem.inria.fr>
Subject: Re: [Caml-list] ocamlbuild
Date: Thu, 09 Aug 2007 20:35:23 +0200	[thread overview]
Message-ID: <1186684515-sup-5252@ert.local> (raw)
In-Reply-To: <1186355977.6523.55.camel@rosella.wigram>

Excerpts from skaller's message of Mon Aug 06 01:19:37 +0200 2007:
> Does Ocamlbuild work on Windows *transparently*?

We  tried  to  do our best at the design step of ocamlbuild to avoid as much as
possible problems with windows and especially with pathname quoting.

Ocamlbuild  helps  you  to  keep  your  command structured to enforce a correct
escaping.  But  it's still up to the user that customize ocamlbuild (by writing
a  plugin;  this  is  needed  for  adding  new rules, flags...). There is still
problems with some standard rules that use some unix commands.

So,  ocamlbuild  is  still  partially supported on windows and therefore is not
ideal  solution  for  building  ocaml  code under windows. However we hope that
this kind of problems will be solved in a future version.

> To do this, it must read filenames written with / in it,
> but use filenames with \ replacing the /. I'd say this is
> mandatory, so the same build control file will work on
> all platforms. Then you need to document that Unix filenames
> must be used, even on Windows.
> 
> Note: although *Ocaml* basenames cannot have spaces in them,
> the directories that contain them can. So Ocamlbuild must be
> sure to quote all filenames, in case they have spaces.
> This includes allowing quotes in the input specs.
> Unix file systems allow spaces in filenames too, and many
> modern Desktops will have 'folders' with spaces in
> (if a 'doze or fruit user gets Ubuntu in their office).
> 
> I warn this is a serious PITA if you're building Windows
> *Native* code, but hosting the build on Cygwin, because
> executables have to use Unix filenames but arguments have
> to use Windows filenames, so you have to carefully keep
> track of which tool is running what.
> 
> It helps if standard tools translate internally (eg ocamlc).
> However any build script has to allow for foreign tools
> (eg Felix uses Dypgen as a parser).
> 
> A serious nasty here is if you have to use silly names
> on windows for the tools, eg building Felix:
> 
>     C:\Program Files (x86)\Ocaml\ocamlc
> 
> and here the spaces, parentheses and C: drive
> letter are mandatory and must be handled correctly
> as a native filename. On Windows, Ocaml isn't necessarily
> even in the path -- because on Windows XP64 I have multiple
> Ocaml versions and I need to *specify* which one to use,
> no accidents from PATH please! (Well actually, we do use
> the PATH but it leads to a mess).
> 

We're  aware  of  that.  However  if  someone have a clear specification of the
quoting  system  on  windows  (the recomended one at least) and the one used by
Cygwin I'm interested.


-- 
Nicolas Pouillard aka Ertai


  parent reply	other threads:[~2007-08-09 18:35 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-05 23:19 ocamlbuild skaller
2007-08-06  7:36 ` [Caml-list] ocamlbuild Adrien
2007-08-06  9:34   ` Adrien
2007-08-06 12:14     ` David Allsopp
2007-08-06 16:19     ` Christophe TROESTLER
2007-08-08  4:12 ` Aleksey Nogin
2007-08-09 18:35 ` Nicolas Pouillard [this message]
2007-09-05  8:36 ocamlbuild skaller
2007-09-17 11:56 ` [Caml-list] ocamlbuild Nicolas Pouillard
2007-09-17 16:21   ` skaller
2007-09-25 11:45     ` Nicolas Pouillard
2007-09-25 14:19       ` skaller
2007-09-26  8:42         ` Nicolas Pouillard

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=1186684515-sup-5252@ert.local \
    --to=nicolas.pouillard@gmail.com \
    --cc=caml-list@yquem.inria.fr \
    --cc=skaller@users.sourceforge.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;
as well as URLs for NNTP newsgroup(s).