Shared objects not being built on OS X

Hi again everyone...

After following the "Writing an LLVM Pass" tutorial using LLVM 2.5, there is
a part that states that:

"This makefile specifies that all of the .cpp files in the current directory
are to be compiled and linked together into a Debug/lib/ shared
object that can be dynamically loaded by the opt or bugpoint tools via their
-load options."

However, I find that on both my Mac laptop and Mac desktop no such .so files
are built (nor the Debug/ directory), and this is also the case with the
Hello example pass that comes pre-packaged with the source. Is this a known
OS X problem that anyone has any experience with? Or is the documentation
slightly out of date?

When building the Hello pass, it just creates a Release/ directory, which
has a /bin containing Hello.d, Hello.o and Hello.lo. Is this normal? I'm
fairly sure all of my Makefiles are correct when checked against the

If all else fails I have a Linux machine in the lab I can test this with on

Thanks in advance.


Is there a .dylib file? If so, and it works, the docs could be updated.

the .so file gets build in the directory /llvm-2.4/Release/lib/

for the 2.4 release. I think i should be similar for other releases

Thanks to you both.

Firstly, on Mac OS X a .dylib file is built instead of a .so file. Secondly,
this does indeed reside in llvm-location/Release/lib.

The .dylib file seems to link into the opt tool without any problem.