6
我想在使用ocamlbuild和corebuild命令構建時將-S
標誌傳遞給ocamlopt。如何使用ocamlbuild將-S標誌傳遞給ocamlopt?
我知道做ocamlbuild -cflag -S ...
將不起作用,因爲-S
標誌只存在於ocamlopt而不是ocamlc。
我該如何使用_tags文件來做到這一點?
我想在使用ocamlbuild和corebuild命令構建時將-S
標誌傳遞給ocamlopt。如何使用ocamlbuild將-S標誌傳遞給ocamlopt?
我知道做ocamlbuild -cflag -S ...
將不起作用,因爲-S
標誌只存在於ocamlopt而不是ocamlc。
我該如何使用_tags文件來做到這一點?
以下是一種使用myocamlbuild.ml和_tags的方法。
在myocamlbuild.ml,加flag
指令讓ocamlbuild識別新的標籤 - 在這裏keep_asm - 編譯到本地時,這將使-S
爲選定的文件:
flag ["ocaml";"compile";"native";"keep_asm"] (S [A "-S"]);
無該列表中的"native"
字符串傳遞給flag
,該標誌將啓用任何彙編階段使用ocaml(如字符串"ocaml"
和"compile"
所示),並且當您調用不需要的ocamlc時會觸發。
所以,單獨一個完全獨立myocamlbuild.ml只有做好以上,這將變成爲:
open Ocamlbuild_plugin;;
open Command;;
dispatch begin function
| Before_rules ->
begin
end
| After_rules ->
begin
flag ["ocaml";"compile";"native";"keep_asm"] (S [ A "-S"]);
end
| _ ->()
end
一次,你已經有了新的標籤來定義的,你可以用它在您_tags文件與任何其他標記,例如:
<myfile.ml>: use_bigarray, keep_asm