有谁能告诉我如何将Clang编译器编译成LLVM字节码(即自托管Clang)?我想这样做的原因是我可以获取生成的LLVM字节码,然后使用Emscripten生成C到Javascript编译器。
答案 0 :(得分:3)
您可以使用-emit-llvm
命令行标志以及-c
标志来输出到LLVM字节码。 (如果使用-S
标志而不是-c
,则会获得LLVM字节码的文本表示。)您无需将clang编译为LLVM字节码即可。
如果你想尝试在浏览器中运行clang,那么你需要将所有clang编译成LLVM字节码,然后使用llvm-link
将目标文件链接在一起。然后,您需要弄清楚如何让编译的编译器访问它所需的系统头文件。我不知道是否有所有的构建选项,但我没有在./configure
选项中看到任何内容,所以我怀疑不是。但它可能存在。