LLVM Ocaml チュートリアルのコンテキストで、 Ragelソース ファイルを Ocaml ソース ファイルにコンパイルする機能を追加しようとしています。具体的には、拡張子が「.rl」のソース ファイルの場合は、次のように実行します。
ragel -O source.rl
もちろん、ビルドシステムは結果の Ocaml ファイルを通常どおりコンパイルする必要があります。これを行う簡単な方法は何ですか?
_tags ファイルは次のとおりです。
<{lexer,parser}.ml>: use_camlp4, pp(camlp4of)
<*.{byte,native}>: g++, use_llvm, use_llvm_analysis
<*.{byte,native}>: use_llvm_executionengine, use_llvm_target
<*.{byte,native}>: use_llvm_scalar_opts, use_bindings
myocamlbuild.ml ファイルは次のとおりです。
open Ocamlbuild_plugin;;
ocaml_lib ~extern:true "llvm";;
ocaml_lib ~extern:true "llvm_analysis";;
ocaml_lib ~extern:true "llvm_executionengine";;
ocaml_lib ~extern:true "llvm_target";;
ocaml_lib ~extern:true "llvm_scalar_opts";;
flag ["link"; "ocaml"; "g++"] (S[A"-cc"; A"g++ -rdynamic"]);;
dep ["link"; "ocaml"; "use_bindings"] ["bindings.o"];;