imageworks/OpenShadingLanguage — pull request #136 by lgritz (2012-05-03 21:36:01+00:00)
Title: Review: LLVM_NAMESPACE lets you select a custom LLVM namespace

LLVM is becoming popular enough that we've seen instances of apps that embed one version of LLVM, but also either want OSL or want to load a plugin that somebody has written that uses OSL, which in turn uses a *different* version of LLVM. The symbols clash with hilarious results that make waterboarding seem pleasant in comparison.

So, assuming you make a custom build of LLVM wherein you change the enclosing namespace (more on that later), these minor changes to OSL let you specify the alternate namespace for LLVM. This will let your embedded OSL have its llvm completely sequestered from any other pesky instances that may exist on your system or within any other apps.