From: Sam Steingold <sds@gnu.org>
To: caml-list@inria.fr
Subject: otags and OMakefile
Date: Thu, 10 Aug 2006 12:13:53 -0400 [thread overview]
Message-ID: <ebfm03$gjh$1@sea.gmane.org> (raw)
what is the correct entry for TAGS in OMakefile?
I have this in the top-level OMakefile:
------------------------------------------------------------------
TAGS:
otags -r $(SRC_DIRS)
------------------------------------------------------------------
(where SRC_DIRS are also the dependencies of .SUBDIRS).
this is deficient for 2 reasons:
1. somehow otags tries to read non-ml files (despite "otags -h" claiming
that suffixes are [.mli; .ml]) and fails on especially large ones:
------------------------------------------------------------------
otags: Unix error
Syscall: stat
Arg: ./run/scan/top-20060612.log
Error: Value too large for defined data type
------------------------------------------------------------------
2. otags does not respect the pre-processors used for some files,
resulting in many errors:
------------------------------------------------------------------
File "", line 15, characters 0-4:
Parse error: [implem] expected after [str_item_semi] (in [implem])
Uncaught exception: Stream.Error("[implem] expected after
[str_item_semi] (in [implem])")
File "", line 12, characters 0-4:
Parse error: [implem] expected after [str_item_semi] (in [implem])
Uncaught exception: Stream.Error("[implem] expected after
[str_item_semi] (in [implem])")
File "", line 12, characters 0-4:
Parse error: [implem] expected after [str_item_semi] (in [implem])
Uncaught exception: Stream.Error("[implem] expected after
[str_item_semi] (in [implem])")
File "", line 10, characters 0-4:
Parse error: [implem] expected after [str_item_semi] (in [implem])
Uncaught exception: Stream.Error("[implem] expected after
[str_item_semi] (in [implem])")
File "", line 11, characters 39-43:
Parse error: [implem] expected after [str_item_semi] (in [implem])
Uncaught exception: Stream.Error("[implem] expected after
[str_item_semi] (in [implem])")
------------------------------------------------------------------
despite this, a valid TAGS file is created.
the preprocessing is specified in OMakeroot:
------------------------------------------------------------------
# Preprocess OCaml-files with a given OCaml-preprocessor
OCamlMakePPDeps(pps, names) =
pp_cmos = $(addsuffix .cmo, $(pps))
deps =
foreach(pp_cmo, $(pp_cmos))
deps += $(OCamlAddLibDir $(pp_cmos))
export deps
pp_cmd = camlp4o $(PREFIXED_OCAMLINCLUDES) $(pp_cmos)
OCAMLPPFLAGS = -pp "$(pp_cmd)"
OCAMLDEPFLAGS = $(OCAMLPPFLAGS)
foreach(name, $(names))
tgts = $(addsuffixes .cmi .cmo .cmx .o, $(name))
scan_deps = scan-ocaml-$(name).ml scan-ocaml-$(name).mli
Capture_deps(__ENV, \
OCAMLPPFLAGS OCAMLDEPFLAGS, $(tgts), $(deps), $(scan_deps))
tgts = $(addsuffix .auto.mli, $(name))
Capture_deps(__ENV, \
OCAMLPPFLAGS OCAMLDEPFLAGS, $(tgts), $(deps), $(scan_deps))
export __ENV
export __ENV
------------------------------------------------------------------
and in OMakefile:
------------------------------------------------------------------
OCamlMakePPDeps(pa_sexp_conv, foo bar baz)
------------------------------------------------------------------
so, how do I make ocaml TAGS?
next reply other threads:[~2006-08-10 16:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-10 16:13 Sam Steingold [this message]
2006-08-11 5:56 ` [Caml-list] " Nathaniel Gray
2006-08-11 13:53 ` Hendrik Tews
2006-08-16 15:51 ` Sam Steingold
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='ebfm03$gjh$1@sea.gmane.org' \
--to=sds@gnu.org \
--cc=caml-list@inria.fr \
/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