$OpenBSD: patch-libs_CMakeLists_txt,v 1.2 2015/10/05 08:48:05 dcoppa Exp $

Force linking of binary to libpthread, so that you can use addons that
link to libpthread without LD_PRELOAD.

Fix cyclical dependency error

--- libs/CMakeLists.txt.orig	Tue Oct  2 22:33:45 2012
+++ libs/CMakeLists.txt	Mon Oct  5 09:36:41 2015
@@ -10,38 +10,40 @@ add_definitions("-DBUILDING_IOVMALL_DLL")
 # Output our static library to the top-level _build hierarchy
 set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/_build/lib)
 
+set(CMAKE_SHARED_LINKER_FLAGS "-lpthread ${CMAKE_SHARED_LINKER_FLAGS}")
+
 # Our Io source files to be "compiled" into a C source file.
 #file(GLOB IO_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/*.io")
 set(IO_SRCS
-	${CMAKE_CURRENT_SOURCE_DIR}/io/A0_List.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/A1_OperatorTable.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/A2_Object.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/A3_List.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/A4_Exception.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Actor.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/AddonLoader.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/B_Sequence.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Block.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/CFunction.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Date.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Debugger.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Directory.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/DynLib.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Error.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/File.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/List_schwartzian.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Map.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Message.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Number.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Profiler.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Sandbox.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Serialize.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/System.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/UnitTest.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Vector.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Y_Path.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Z_CLI.io
-	${CMAKE_CURRENT_SOURCE_DIR}/io/Z_Importer.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/A0_List.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/A1_OperatorTable.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/A2_Object.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/A3_List.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/A4_Exception.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Actor.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/AddonLoader.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/B_Sequence.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Block.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/CFunction.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Date.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Debugger.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Directory.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/DynLib.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Error.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/File.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/List_schwartzian.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Map.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Message.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Number.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Profiler.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Sandbox.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Serialize.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/System.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/UnitTest.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Vector.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Y_Path.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Z_CLI.io
+	${CMAKE_CURRENT_SOURCE_DIR}/iovm/io/Z_Importer.io
 )
 
 # Hackery for CMake's horrible ASM support
@@ -90,7 +92,7 @@ list(APPEND IOVMALL_STATIC_SRCS ${CMAKE_CURRENT_SOURCE
 # ...And the static library. Refer to IOVMALL_STATIC_SRCS definition
 # up top.
 add_library(iovmall_static STATIC ${IOVMALL_STATIC_SRCS})
-add_dependencies(iovmall_static io2c basekit coroutine garabagecollector iovmall)
+add_dependencies(iovmall_static io2c basekit coroutine)
 
 # Define the subdirectories we can reach from here that we want
 # to go into and build stuff.
