You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2009/10/28 16:36:15 UTC

svn commit: r830612 - in /qpid/branches/0.5.x-dev/qpid/cpp/src: config.h.cmake qpid/Modules.cpp

Author: ritchiem
Date: Wed Oct 28 15:36:14 2009
New Revision: 830612

URL: http://svn.apache.org/viewvc?rev=830612&view=rev
Log:
Add ability to load modules from something other than a .so file; allows loading .dll files on Windows, for example. The proper suffix is gleaned from cmake; if on autoconf assume .so.

Modified:
    qpid/branches/0.5.x-dev/qpid/cpp/src/config.h.cmake
    qpid/branches/0.5.x-dev/qpid/cpp/src/qpid/Modules.cpp

Modified: qpid/branches/0.5.x-dev/qpid/cpp/src/config.h.cmake
URL: http://svn.apache.org/viewvc/qpid/branches/0.5.x-dev/qpid/cpp/src/config.h.cmake?rev=830612&r1=830611&r2=830612&view=diff
==============================================================================
--- qpid/branches/0.5.x-dev/qpid/cpp/src/config.h.cmake (original)
+++ qpid/branches/0.5.x-dev/qpid/cpp/src/config.h.cmake Wed Oct 28 15:36:14 2009
@@ -37,6 +37,8 @@
 #cmakedefine QPIDC_MODULE_DIR "${QPIDC_MODULE_DIR}"
 #cmakedefine QPIDD_MODULE_DIR "${QPIDD_MODULE_DIR}"
 
+#define QPID_MODULE_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}"
+
 #cmakedefine QPID_HAS_CLOCK_GETTIME
 
 #cmakedefine QPID_HAS_SASL

Modified: qpid/branches/0.5.x-dev/qpid/cpp/src/qpid/Modules.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/0.5.x-dev/qpid/cpp/src/qpid/Modules.cpp?rev=830612&r1=830611&r2=830612&view=diff
==============================================================================
--- qpid/branches/0.5.x-dev/qpid/cpp/src/qpid/Modules.cpp (original)
+++ qpid/branches/0.5.x-dev/qpid/cpp/src/qpid/Modules.cpp Wed Oct 28 15:36:14 2009
@@ -19,6 +19,7 @@
  *
  */
 
+#include "config.h"
 #include "qpid/Modules.h"
 #include "qpid/Exception.h"
 #include "qpid/log/Statement.h"
@@ -67,10 +68,17 @@
     }
 
     fs::directory_iterator endItr;
+    // CMake sets QPID_MODULE_SUFFIX; Autoconf doesn't, so assume Linux .so
+#if defined (QPID_MODULE_SUFFIX)
+    std::string suffix(QPID_MODULE_SUFFIX);
+#else
+    std::string suffix(".so");
+#endif
     for (fs::directory_iterator itr (dirPath); itr != endItr; ++itr)
     {
         if (!fs::is_directory(*itr) &&
-            itr->string().find (".so") == itr->string().length() - 3)
+            itr->string().find (suffix) ==
+                itr->string().length() - suffix.length())
             tryShlib (itr->string().data(), true);
     }
 }



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org