如何自我主持?

时间:2014-09-07 23:43:34

标签: c clang llvm llvm-clang emscripten

有谁能告诉我如何将Clang编译器编译成LLVM字节码(即自托管Clang)?我想这样做的原因是我可以获取生成的LLVM字节码,然后使用Emscripten生成C到Javascript编译器。

1 个答案:

答案 0 :(得分:3)

您可以使用-emit-llvm命令行标志以及-c标志来输出到LLVM字节码。 (如果使用-S标志而不是-c,则会获得LLVM字节码的文本表示。)您无需将clang编译为LLVM字节码即可。

如果你想尝试在浏览器中运行clang,那么你需要将所有clang编译成LLVM字节码,然后使用llvm-link将目标文件链接在一起。然后,您需要弄清楚如何让编译的编译器访问它所需的系统头文件。我不知道是否有所有的构建选项,但我没有在./configure选项中看到任何内容,所以我怀疑不是。但它可能存在。