juliaで書いたコードをコンパイルし、実行可能なファイルにしてくれるライブラリを見つけた。
以下、githubのREADMEを参考に使ってみたときの手順をまとめている。
まず、このサンプルを元に実行ファイルを作成する。
module Hello Base.@ccallable function julia_main(ARGS::Vector{String})::Cint println("hello, world") return 0 end end
次に、これをPackageCompilerを使用してコンパイルする。
build_executable
関数について、第一引数がコンパイルしたいファイルへのパス、第二引数がコンパイル後の実行ファイル名になる。
$ julia -e 'using PackageCompiler; build_executable("hello.jl", "hello")'
これを実行すると自動的にbuilddirというディレクトリが作られ、この中に成果物が格納される。
builddirの中には、コンパイルされたファイルを実行するための各種ライブラリも置かれている。
$ ./builddir/hello hello, world
このライブラリについては、他にもライブラリを作ったりできるようなのだが、いかんせんドキュメントが少ない。
これからいろいろ試してみようと思っている。