[Bf-cycles] LLVM static libs

Brecht Van Lommel brechtvanlommel at pandora.be
Sun Apr 14 21:56:42 CEST 2013

That's seems reasonable, I've attached a patch which tries to
implement it. Could you test if it works on your system?

Also, just adding the llvm-static package may not be the solution, OSL
needs to be linked with the same static/dynamic library. I'm not sure
how that would be ensured at the level of linux distribution packages.


On Sun, Apr 14, 2013 at 7:25 AM, Dan Eicher <dan at trollwerks.org> wrote:
> Hi all,
> I noticed after upgrading to llvm-3.2 on my opensuse build service magic
> machine that cmake is looking libLLVMAnalysis.a to check if llvm is
> installed which now comes in llvm-static on Fedora 18.
> Simple (but incorrect) fix is to just add llvm-static as a build dep and
> call it a day, easy-peasy.
> A better fix would be to check for a dynamic lib (libLLVM) and if that's not
> found and LLVM_STATIC isn't set to error out.
> Dan
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> http://lists.blender.org/mailman/listinfo/bf-cycles
-------------- next part --------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 80008e2..bdfbb1e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -776,9 +776,23 @@ if(UNIX AND NOT APPLE)
 		execute_process(COMMAND ${LLVM_CONFIG} --libdir
+		# first try to find static library
 		             NAMES LLVMAnalysis # first of a whole bunch of libs to get
 		             PATHS ${LLVM_LIB_DIR})
+			# static library not found, try dynamic
+			find_library(LLVM_LIBRARY
+						 PATHS ${LLVM_LIB_DIR})
+				set(LLVM_STATIC NO)
+			endif()
+		endif()
 		message(STATUS "LLVM version  = ${LLVM_VERSION}")
 		message(STATUS "LLVM dir      = ${LLVM_DIRECTORY}")
 		message(STATUS "LLVM lib dir  = ${LLVM_LIB_DIR}")

More information about the Bf-cycles mailing list