caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* ocamlbuild
@ 2007-09-05  8:36 skaller
  2007-09-17 11:56 ` [Caml-list] ocamlbuild Nicolas Pouillard
  0 siblings, 1 reply; 7+ messages in thread
From: skaller @ 2007-09-05  8:36 UTC (permalink / raw)
  To: caml-list; +Cc: Erick Tryzelaar

hi .. I've got an ocamlbuild project which is hanging
forever. Top shows 100% CPU and 2% memory. Any ideas how 
this could happen?

I have a suspicion ocamlbuild can't handle directories
properly..

-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net


^ permalink raw reply	[flat|nested] 7+ messages in thread
* ocamlbuild
@ 2007-08-05 23:19 skaller
  0 siblings, 0 replies; 7+ messages in thread
From: skaller @ 2007-08-05 23:19 UTC (permalink / raw)
  To: caml-list

Does Ocamlbuild work on Windows *transparently*?

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).


-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-09-26  8:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
  -- strict thread matches above, loose matches on Subject: below --
2007-08-05 23:19 ocamlbuild skaller

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).