OCaml _tags 文件的用途是什么,以及如何解释内容?
What's the purpose of _tags file with OCaml, and how to interpret the contents?
从 post 开始,我可以使用 _tags
文件执行 ocamlbuild
,构建选项更少。
$ cat _tags
<**/*> : package(camlp4),syntax(camlp4o),package(pa_comprehension)
从 Batteries introduction 开始,我还需要 _tags 文件才能使用 Batteries 包。
<*>: package(batteries)
为什么第一个示例使用 <**/*>
而第二个示例使用 <*>
?一般来说,ocamlbuild 中 _tags 文件的用途是什么?你有一些好的教程吗?
除了myocamlbuild.ml
之外还有一个_tags
文件构成了ocamlbuild
编译系统的根目录。
ocamlbuild
是一个非常通用的工具,可以编译任何东西。它由求解器驱动,根据用户设定的目标,找到满足目标的解。解决方案是应用于文件的一系列规则。文件可以用标签来标记。标签可以改变规则。例如,它可以添加标志,例如启用分析或链接到库。
一个_tags
文件提供了一种为文件分配标签的机制,它有一个简单的语法:
pattern ":" tag "," {tag}.
:
左边的其实是一个模式或者正则表达式。每个与表达式匹配的文件都将分配有出现在 :
右侧的所有标签。
<**/*>
表示对于此文件夹中的所有文件,以及所有子文件夹,有一个快捷方式:true
。 <*>
表示此文件夹中的所有文件(不进入子文件夹)。其他示例是 <*.ml>
、<*.cmx>
或 <**/*.cma>
(顺便说一下,or
也可用于构建模式)。
OCamlbuild 记录在旧 wiki 的 OCaml Manual, also there is a dump 中,包含大量信息。
但有趣的是,通常您不需要知道这些就可以使用 OCaml。有一个 OASIS
工具可以自动执行所有任务,并根据简单的高级定义为您创建 _tags
文件。
从 _tags
文件执行 ocamlbuild
,构建选项更少。
$ cat _tags
<**/*> : package(camlp4),syntax(camlp4o),package(pa_comprehension)
从 Batteries introduction 开始,我还需要 _tags 文件才能使用 Batteries 包。
<*>: package(batteries)
为什么第一个示例使用 <**/*>
而第二个示例使用 <*>
?一般来说,ocamlbuild 中 _tags 文件的用途是什么?你有一些好的教程吗?
除了myocamlbuild.ml
之外还有一个_tags
文件构成了ocamlbuild
编译系统的根目录。
ocamlbuild
是一个非常通用的工具,可以编译任何东西。它由求解器驱动,根据用户设定的目标,找到满足目标的解。解决方案是应用于文件的一系列规则。文件可以用标签来标记。标签可以改变规则。例如,它可以添加标志,例如启用分析或链接到库。
一个_tags
文件提供了一种为文件分配标签的机制,它有一个简单的语法:
pattern ":" tag "," {tag}.
:
左边的其实是一个模式或者正则表达式。每个与表达式匹配的文件都将分配有出现在 :
右侧的所有标签。
<**/*>
表示对于此文件夹中的所有文件,以及所有子文件夹,有一个快捷方式:true
。 <*>
表示此文件夹中的所有文件(不进入子文件夹)。其他示例是 <*.ml>
、<*.cmx>
或 <**/*.cma>
(顺便说一下,or
也可用于构建模式)。
OCamlbuild 记录在旧 wiki 的 OCaml Manual, also there is a dump 中,包含大量信息。
但有趣的是,通常您不需要知道这些就可以使用 OCaml。有一个 OASIS
工具可以自动执行所有任务,并根据简单的高级定义为您创建 _tags
文件。