# The OSx build depends on the environment variables LLDB_INCLUDE_DIR and LLDB_LIB_DIR being set
set(LLDB_INCLUDE_DIR "$ENV{LLDB_INCLUDE_DIR}")
set(LLDB_LIB_DIR "$ENV{LLDB_LIB_DIR}")
-else()
+elseif(CLR_CMAKE_PLATFORM_LINUX)
# The Linux build depends on the lldb-3.5-dev package
set(LLVM_DIR "/usr/lib/llvm-3.5")
set(LLDB_INCLUDE_DIR "${LLVM_DIR}/include")
set(LLDB_LIB_DIR "${LLVM_DIR}/lib")
endif()
-message(LLDB_INCLUDE_DIR=${LLDB_INCLUDE_DIR})
-message(LLDB_LIB_DIR=${LLDB_LIB_DIR})
+if((NOT ${LLDB_INCLUDE_DIR} STREQUAL "") AND (NOT ${LLDB_LIB_DIR} STREQUAL ""))
+ message(LLDB_INCLUDE_DIR=${LLDB_INCLUDE_DIR})
+ message(LLDB_LIB_DIR=${LLDB_LIB_DIR})
-add_compile_options(-Wno-delete-non-virtual-dtor)
+ add_compile_options(-Wno-delete-non-virtual-dtor)
-include_directories(inc)
-include_directories("${LLDB_INCLUDE_DIR}")
-link_directories("${LLDB_LIB_DIR}")
+ include_directories(inc)
+ include_directories("${LLDB_INCLUDE_DIR}")
+ link_directories("${LLDB_LIB_DIR}")
-set(SOURCES
- sosplugin.cpp
- soscommand.cpp
- debugclient.cpp
-)
+ set(SOURCES
+ sosplugin.cpp
+ soscommand.cpp
+ debugclient.cpp
+ )
-add_library(sosplugin SHARED ${SOURCES})
-add_dependencies(sosplugin sos)
+ add_library(sosplugin SHARED ${SOURCES})
+ add_dependencies(sosplugin sos)
-# add the install targets
-install (TARGETS sosplugin DESTINATION .)
\ No newline at end of file
+ # add the install targets
+ install (TARGETS sosplugin DESTINATION .)
+endif()
\ No newline at end of file
m_sosHandle = dlopen(sosLibrary, RTLD_LAZY);
if (m_sosHandle == NULL)
{
- client->Output(DEBUG_OUTPUT_ERROR, "dlopen(%s) failed %s\n", sosLibrary, dlerror());
+#ifdef __APPLE__
+ const char* libraryPathName = "DYLD_LIBRARY_PATH";
+#else
+ const char* libraryPathName = "LD_LIBRARY_PATH";
+#endif
+ client->Output(DEBUG_OUTPUT_ERROR,
+ "dlopen(%s) failed %s.\nMake sure that the %s environment variable is set to the runtime binaries directory.\n",
+ sosLibrary, dlerror(), libraryPathName);
}
}