私はcamlp4.macroを使用して条件付きコンパイルを有効にしています。私は という問題を抱えてOCamlbuildに、 "use_jscore"とタグ付けされた特定のファイル を与えられたcamlp4オプションで前処理しなければならないことを通知しています。ここに私が現在持っているものは次のとおりです:OCamlbuildとcamlp4オプション
let _ = dispatch begin function
| After_rules ->
flag ["ocaml"; "use_jscore"] (S[A"-package"; A"camlp4.macro"; A"-syntax"; A"camlp4o"; A"-ppopt"; A"-DUSE_JSCORE"]);
しかし、これはOCamlbuildですべてエスケープされます。私はocamlfindを使用していますので、 OCamlbuildは、 でタグ付けされたすべてのOCamlファイル "use_jscore"を -DUSE_JSCOREオプションを指定したcamlp4.macroで事前処理する必要があるということです。
しかし、私はまったく同じ文が、S /コンパイル/ DEP /とを繰り返す必要はないのだろうか?繰り返しを避ける方法はありますか? –
あなたは正しいです、あなたは 'dep'のためにステートメントを繰り返さなければならないかもしれません。 'S(...)'の内容は、繰り返したくない場合はローカル変数に格納することができます。 – Thomas