caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* managing ocaml dependencies
@ 2006-11-16 14:20 Guillaume Rousse
  2006-11-16 16:47 ` [Caml-list] " skaller
  2006-11-16 21:21 ` Ralf Wildenhues
  0 siblings, 2 replies; 6+ messages in thread
From: Guillaume Rousse @ 2006-11-16 14:20 UTC (permalink / raw)
  To: autoconf, caml-list

I'm trying to use autoconf for ocaml project, and I have troubles with
managing dependencies.

They are generated through a specific program, ocamldep, that basically
output makefile rules, so as to be used this way:
.depend:
	$(OCAMLDEP) *.ml *.mli > .depend

include .depend

They are two different strategies here, either generate them on
maintainer host and ship them in the distribution, either generate them
on user's host.

The first seems safe, excepted when you have conditional build options:
if the user has not the same setup as the maintainer host, there might
be inconsistencies. I also saw some comments in autotools description
than this strategy was also considered insecure for other languages.

The second strategy, however, heavily relies on make implementation.
Whereas GNU make happily generate .depend file on the fly with previous
snippet, some other implementations don't, such as Digital Unix's one
(and potentially others).
Make: Cannot open ../.depend.  Stop.

I also discovered than GNU make use current directory to resolve path of
included files, even when the inclusion directive is found in an
included makefile, whereas Digital Unix's one consider the directory
containing the makefile containing the inclusion directive instead.

Given the following setup:
|-- Makefile.rules
`-- a
    `-- Makefile

If the inclusion directive is given in top level Makefile.rules, itself
included in lower level a/Makefile, GNU make resolve the .depend file in
a directory, whereas Digital Unix resolve it in top-level directory.

Finally, it seems the safest strategy would be to use configure to
produce those .depend file, or is there any other possibility ?


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

end of thread, other threads:[~2006-11-17  0:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-11-16 14:20 managing ocaml dependencies Guillaume Rousse
2006-11-16 16:47 ` [Caml-list] " skaller
2006-11-16 19:01   ` Jean-Christophe Filliatre
2006-11-16 21:43   ` Nicolas Pouillard
2006-11-17  0:36     ` skaller
2006-11-16 21:21 ` Ralf Wildenhues

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