<div dir="ltr">Hi, I have some questions about the compilation of the llvm.<div>First,  why the majority of the results of compilation are static library ( *.a files in the $(LLVM_HOME)/Release+Asserts/lib/), Why don't generate dynamic link library (.so files in the directory). The exception is the file libLTO.a and libLTO.so, why the library LTO were generated for static and dynamic both? How to control the generation of the library file, could it be controlled in the file Makefile.config? One item of the Makefile.config is as follow.</div><div><div><br></div><div># Do we want to build a shared library and link the tools with it?</div><div>ENABLE_SHARED := 0</div></div><div><br></div><div><br></div><div><br></div><div>Second, I followed the pass specification of the llvm (<a href="http://llvm.org/docs/WritingAnLLVMPass.html">http://llvm.org/docs/WritingAnLLVMPass.html</a>) and wrote my own pass to do something. However, why did it generate the dynamic library (*.so) just like the example of the specification of LLVMHello.so rather than a static library because it used the same Makefile.config file with the build of the LLVM?</div><div><br></div><div><br></div><div>Third, How can I get my own pass build together with the LLVM, generate *.a file in the directory of $(LLVM_HOME)/Release+Asserts/lib/?</div><div><br></div><div><br></div><div>Thank you, very appreciate.</div><div><br></div><div>Best</div></div>