2014-12-06 18 views

Trả lời

4

Dưới đây là một cách để thực hiện việc đó bằng cách sử dụng myocamlbuild.ml_tags.

Trong myocamlbuild.ml, thêm một hướng dẫn flag để cho ocamlbuild nhận một thẻ mới - đây keep_asm - mà sẽ cho phép -S cho các tập tin được lựa chọn khi biên dịch để mẹ đẻ:

flag ["ocaml";"compile";"native";"keep_asm"] (S [A "-S"]); 

Without các "native" chuỗi trong danh sách chuyển cho flag, cờ sẽ được kích hoạt cho bất kỳ biên soạn giai đoạn sử dụng ocaml (như được chỉ ra bởi các chuỗi "ocaml""compile"), và sẽ kích hoạt khi ocamlc được gọi, mà bạn không muốn.

Vì vậy, cho mình một lập trường hoàn chỉnh myocamlbuild.ml làm chỉ ở trên, điều này sẽ bật ra như:

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 

Một lần, bạn đã có mà thẻ mới được xác định, bạn có thể sử dụng nó trong tệp _tags của bạn giống như bất kỳ thẻ nào khác, ví dụ:

<myfile.ml>: use_bigarray, keep_asm 
Các vấn đề liên quan