permit multiline comments and strings in macros
[bpt/coccinelle.git] / _tags
1 # Compile all .ml files against some base libraries
2 # (defined in the plugin as unix,str,nums and bigarray)
3 <**/*.ml>: use_base
4
5 #
6 # Cocci sources and directories
7 #
8
9 <commons>: include
10 <commons/ocamlextra>: include
11 <commons/ocollection>: include
12
13 <globals>: include
14 <globals/regexp_pcre.ml>: use_pcre
15
16 <parsing_cocci>: include
17 <parsing_cocci/parser_cocci_menhir.ml>: use_menhirLib, nowarn20
18
19 <parsing_c>: include
20 <ctl>: include
21 <engine>: include
22 <popl09>: include
23 <extra>: include
24
25 <ocaml>: include
26 <ocaml/coccilib.ml{,i}>: use_pcre
27
28 <python>: include
29 <python/yes_pycocci.ml>: thread, use_pycaml
30
31 # some users have a symlink 'result' pointing to the outcome
32 # of the build, which causes troubles with the hygiene check.
33 <result>: -traverse
34
35
36 #
37 # Subdirectories
38 #
39
40 <engine/engine.{cma,cmxa}>: use_pcre
41 <globals/globals.{cma,cmxa}>: use_pcre
42 <ocaml/ocaml.{cma,cmxa}>: use_pcre
43 <parsing_c/parsing_c.{cma,cmxa}>: use_pcre
44 <parsing_cocci/parsing_cocci.{cma,cmxa}>: use_pcre, use_menhirLib
45 <popl09/popl09.{cma,cmxa}>: use_pcre
46 <python/python.{cma,cmxa}>: use_pcre, use_pycaml
47
48
49 #
50 # Bundled packages
51 #
52
53 # apriori remove the traverse tag from the bundle
54 # directories to prevent them from being included.
55 # The traverse tag will be added by the plugin for
56 # the bundles that are included.
57 <bundles/*>: -traverse
58
59 <bundles/pcre/pcre.{cma,cmxa}>: use_pcre
60 <bundles/pycaml/pycaml.{cma,cmxa}>: thread, use_pycaml
61
62 # Interaction between the bundles and the plugin.
63 <bundles/pcre/libpcre_stubs.a>: use_pcre
64 <bundles/pcre/*/lib/pcre_stubs.c>: use_pcre
65 <bundles/pycaml/libpycaml_stubs.a>: use_pycaml
66 <bundles/pycaml/*/pycaml_stubs.c>: pp_pycaml, use_pycaml
67 <bundles/pycaml/*/pycaml.ml>: pp_pycaml
68 <bundles/menhirLib/*/src/*.cmx>: for-pack(MenhirLib)
69
70
71 #
72 # Hygiene
73 #
74
75 # Some lexers and parsers are precompiled in the
76 # source distribution to make some preprocessors
77 # optional
78
79 <parsing_c/parser_c.mly>: not_hygienic
80 <parsing_c/lexer_c.mll>: not_hygienic
81 <parsing_cocci/lexer_cli.mll>: not_hygienic
82 <parsing_cocci/lexer_script.mll>: not_hygienic
83 <parsing_cocci/lexer_cocci.mll>: not_hygienic
84 <parsing_cocci/parser_cocci_menhir.mly>: not_hygienic
85 <parsing_cocci/parser_cocci_menhir.ml{,i}>: precious
86 <ocaml/coccilib/coccilib.cmi>: not_hygienic
87
88
89 #
90 # Applications
91 # Main is the entry point of spatch.
92 #
93
94 # library dependencies of spatch.
95 <main.{byte,native}>: thread, use_base, use_menhirLib, use_pcre, use_pycaml
96
97 # some test tools in the subdirectories
98 <parsing_cocci/main.{byte,native}>: use_base, use_pcre
99 <ctl/test_ctl.{byte,native}>: use_base
100
101
102 # Build tools/all.otarget for all tools, or
103 # tools/all.opt.otarget for all tools with the native compiler.
104
105 <tools/gitgrep.{byte,native}>: use_base
106 <tools/gitsort.{byte,native}>: use_base
107 <tools/process_isoprofile.{byte,native}>: use_base
108 <tools/alloc_free.{byte,native}>: use_base
109 <tools/bridge.{byte,native}>: use_base
110 <tools/spp.{byte,native}>: use_base
111 <tools/splitpatch.{byte,native}>: use_base
112 <tools/extract_c_and_res.{byte,native}>: use_base
113 <tools/cstripenv.{byte,native}>: use_base, use_pcre
114 <tools/distributed/cleanup.{byte,native}>: use_base
115
116
117 #
118 # Documentation
119 #
120
121 <ocaml/man.docdir/index.html>: gen_man, use_menhirLib, use_pcre, use_pycaml
122 <ocaml/html.docdir/index.html>: gen_html, use_menhirLib, use_pcre, use_pycaml