diff -up ./cmake/internal/SetupDirectories.cmake.fixlibload ./cmake/internal/SetupDirectories.cmake --- ./cmake/internal/SetupDirectories.cmake.fixlibload 2010-01-09 22:59:16.000000000 -0500 +++ ./cmake/internal/SetupDirectories.cmake 2010-01-09 23:03:17.000000000 -0500 @@ -19,3 +19,8 @@ ELSE (PLAYER_PROC_64BIT) MESSAGE (STATUS "Player libraries will be in lib") ENDIF (PLAYER_PROC_64BIT) +IF (PLAYER_OS_WIN) + SET(PLAYER_PLUGIN_PATH "${CMAKE_INSTALL_PREFIX}\\lib") +ELSE(PLAYER_OS_WIN) + SET(PLAYER_PLUGIN_PATH "${CMAKE_INSTALL_PREFIX}/${PLAYER_LIBRARY_INSTALL_DIR}/player/") +ENDIF(PLAYER_OS_WIN) diff -up ./config.h.in.fixlibload ./config.h.in --- ./config.h.in.fixlibload 2010-01-09 22:57:28.000000000 -0500 +++ ./config.h.in 2010-01-09 23:05:03.000000000 -0500 @@ -2,6 +2,8 @@ /* Install prefix */ #define PLAYER_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" +#define PLAYER_LIBRARY_DIR "@PLAYER_LIBRARY_INSTALL_DIR@" +#define PLAYER_PLUGIN_PATH "@PLAYER_PLUGIN_PATH@" /* enable TCP_NODELAY */ #cmakedefine ENABLE_TCP_NODELAY 1 diff -up ./libplayercore/plugins.cc.fixlibload ./libplayercore/plugins.cc --- ./libplayercore/plugins.cc.fixlibload 2009-08-10 23:44:43.000000000 -0400 +++ ./libplayercore/plugins.cc 2010-01-09 23:09:48.000000000 -0500 @@ -122,13 +122,20 @@ LoadPlugin(const char* pluginname, const PLAYER_ERROR1( "failed to add config file directory %s to the plugin path", cfgdir ); free(tmp); } + + // add $PLAYER_INSTALL_PREFIX/lib(64)/player/ + if( lt_dladdsearchdir( PLAYER_PLUGIN_PATH ) ) + PLAYER_ERROR1( "failed to add working directory %s to the plugin path", PLAYER_PLUGIN_PATH ); - // add $PLAYER_INSTALL_PREFIX/lib + // add $PLAYER_INSTALL_PREFIX/lib(64)/ char installdir[ PATH_MAX ]; strncpy( installdir, PLAYER_INSTALL_PREFIX, PATH_MAX); - strncat( installdir, "/lib/", PATH_MAX); + strncat( installdir, "/", PATH_MAX); + strncat( installdir, PLAYER_LIBRARY_DIR, PATH_MAX); + strncat( installdir, "/", PATH_MAX); if( lt_dladdsearchdir( installdir ) ) PLAYER_ERROR1( "failed to add working directory %s to the plugin path", installdir ); + } PLAYER_MSG1(3, "loading plugin %s", pluginname); @@ -144,7 +151,7 @@ LoadPlugin(const char* pluginname, const return handle; #elif defined (WIN32) - std::vector paths; + std::vector paths; if(pluginname[0] == '/' || pluginname[0] == '~') {