首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ocamlbuild将选项传递给camlp4

使用ocamlbuild将选项传递给camlp4
EN

Stack Overflow用户
提问于 2012-08-08 22:09:29
回答 1查看 474关注 0票数 3

我正在使用ocamlbuild对ocamlfind的本地支持来简化我的项目的构建过程。File foo.ml依赖于使用camlp4的宏进行的条件编译。_tags文件包含以下内容:

代码语言:javascript
复制
<foo.ml>: package(camlp4.macro), syntax(camlp4o)

这工作得很好,但我在将选项传递给camlp4时遇到了麻烦。如果不使用ocamlbuild+ocamlfind自动化,命令行将如下所示:

代码语言:javascript
复制
camlp4o pa_macro.cmo -DFOO file.ml

但是,在使用ocamlbuild+ocamlfind时,如何将-DFOO变量传递给camlp4?我觉得应该有一个简单的命令行选项,而不是混乱的myocamlbuild.ml

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-08 23:36:41

你会惹恼myocamlbuild.ml的。没有内置规则来插入-ppopt,所以它相当冗长,但却很简单。

myocamlbuild.ml

代码语言:javascript
复制
open Ocamlbuild_plugin ;;
dispatch begin function
| After_rules ->
pflag ["ocaml";"compile";] "define" (fun s -> S [A"-ppopt"; A ("-D"^s)]);
pflag ["ocaml";"ocamldep";] "define" (fun s -> S [A"-ppopt"; A ("-D"^s)])
| _ -> ()
end;;

_tags

代码语言:javascript
复制
"foo.ml": syntax(camlp4o), package(camlp4.macro), define(FOO)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11866324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档