You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ro...@apache.org on 2007/01/24 14:00:45 UTC

svn commit: r499386 - in /incubator/tuscany/cpp/sca/runtime: core/src/tuscany/sca/core/ extensions/cpp/src/tuscany/sca/cpp/ extensions/php/src/tuscany/sca/php/ extensions/python/src/tuscany/sca/python/ extensions/rest/interface/src/tuscany/sca/rest/ ex...

Author: robbinspg
Date: Wed Jan 24 05:00:43 2007
New Revision: 499386

URL: http://svn.apache.org/viewvc?view=rev&rev=499386
Log:
Change extension initialization method to avoid symbol clashes

An extesnion's initialization method is now <library_name>_initialize 
where <library_name> is the root name of the library e.g. 
fred.dll - root is fred
libjoe.so - root is joe

Modified:
    incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/SCARuntime.cpp
    incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/tuscany/sca/cpp/CPPExtension.cpp
    incubator/tuscany/cpp/sca/runtime/extensions/php/src/tuscany/sca/php/PHPExtension.cpp
    incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/PythonExtension.cpp
    incubator/tuscany/cpp/sca/runtime/extensions/rest/interface/src/tuscany/sca/rest/RESTInterfaceExtension.cpp
    incubator/tuscany/cpp/sca/runtime/extensions/rest/reference/curl/src/tuscany/sca/rest/RESTServiceBindingExtension.cpp
    incubator/tuscany/cpp/sca/runtime/extensions/rest/service/httpd/src/Makefile.am
    incubator/tuscany/cpp/sca/runtime/extensions/rest/service/httpd/src/tuscany/sca/rest/RESTReferenceBindingExtension.cpp
    incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyExtension.cpp
    incubator/tuscany/cpp/sca/runtime/extensions/sca/reference/axis2c/src/tuscany/sca/binding/SCAServiceBindingExtension.cpp
    incubator/tuscany/cpp/sca/runtime/extensions/sca/service/axis2c/src/tuscany/sca/binding/SCAReferenceBindingExtension.cpp
    incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp
    incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSReferenceBindingExtension.cpp

Modified: incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/SCARuntime.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/SCARuntime.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/SCARuntime.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/SCARuntime.cpp Wed Jan 24 05:00:43 2007
@@ -372,27 +372,45 @@
             string extensionsRoot = installRoot + "/extensions";
 
 #if defined(WIN32)  || defined (_WINDOWS)
-            string pattern = "*.dll";
+            string libraryExtension = ".dll";
 #else
 #if defined(IS_DARWIN)
-            string pattern = "*.dylib";
+            string libraryExtension = ".dylib";
 #else
-            string pattern = "*.so";
+            string libraryExtension = ".so";
 #endif
 #endif
-          
+            string pattern = "*" + libraryExtension;
             Files files(extensionsRoot, pattern, true);
             for (unsigned int i=0; i < files.size(); i++)
             {
                 try
                 {
-                    Library lib = Library( files[i].getDirectory() + "/" + files[i].getFileName());
-                    extensionsList.push_back(lib);                    
+                	string filename = files[i].getFileName();
+                    Library lib = Library( files[i].getDirectory() + "/" + filename);
+                    
+                    // Determine the name of the initialize method
+                    // 1) strip the .dll/.so/.dylib suffix
+                    // 2) for non-Windows strip any lib prefix                    
+                    string initializeMethod;
+                    #if defined(WIN32)  || defined (_WINDOWS)
+                    #else
+                    if (filename.substr(0,3) == "lib")
+                    {
+                    	initializeMethod = filename.substr(3, filename.size()-libraryExtension.size() - 3);
+                    }
+                    else
+                    #endif
+                    {
+                        initializeMethod = filename.substr(0, filename.size()-libraryExtension.size());
+                    }
+                    initializeMethod += "_initialize";
                     TUSCANY_IMPLEMENTATION_EXTENSION_INITIALIZE extension = 
-                        (TUSCANY_IMPLEMENTATION_EXTENSION_INITIALIZE)lib.getSymbol("tuscany_sca_extension_initialize");
+                        (TUSCANY_IMPLEMENTATION_EXTENSION_INITIALIZE)lib.getSymbol(initializeMethod);
                     if (extension)
                     {
                         extension();
+                        extensionsList.push_back(lib);
                     }
                 }
                 catch (TuscanyRuntimeException& ex)

Modified: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/tuscany/sca/cpp/CPPExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/tuscany/sca/cpp/CPPExtension.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/tuscany/sca/cpp/CPPExtension.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/tuscany/sca/cpp/CPPExtension.cpp Wed Jan 24 05:00:43 2007
@@ -31,7 +31,7 @@
 #if defined(WIN32) || defined(_WINDOWS)
     __declspec(dllexport) 
 #endif
-        void tuscany_sca_extension_initialize()
+        void tuscany_sca_cpp_initialize()
     {
         tuscany::sca::cpp::CPPExtension::initialize();
     }

Modified: incubator/tuscany/cpp/sca/runtime/extensions/php/src/tuscany/sca/php/PHPExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/php/src/tuscany/sca/php/PHPExtension.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/php/src/tuscany/sca/php/PHPExtension.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/php/src/tuscany/sca/php/PHPExtension.cpp Wed Jan 24 05:00:43 2007
@@ -30,7 +30,7 @@
 #if defined(WIN32) || defined(_WINDOWS)
     __declspec(dllexport) 
 #endif
-        void tuscany_sca_extension_initialize()
+        void tuscany_sca_php_initialize()
     {
         tuscany::sca::php::PHPExtension::initialize();
     }

Modified: incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/PythonExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/PythonExtension.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/PythonExtension.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/PythonExtension.cpp Wed Jan 24 05:00:43 2007
@@ -35,7 +35,7 @@
 #if defined(WIN32) || defined(_WINDOWS)
     __declspec(dllexport) 
 #endif
-        void tuscany_sca_extension_initialize()
+        void tuscany_sca_python_initialize()
     {
         tuscany::sca::python::PythonExtension::initialize();
     }

Modified: incubator/tuscany/cpp/sca/runtime/extensions/rest/interface/src/tuscany/sca/rest/RESTInterfaceExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/rest/interface/src/tuscany/sca/rest/RESTInterfaceExtension.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/rest/interface/src/tuscany/sca/rest/RESTInterfaceExtension.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/rest/interface/src/tuscany/sca/rest/RESTInterfaceExtension.cpp Wed Jan 24 05:00:43 2007
@@ -33,7 +33,7 @@
 #if defined(WIN32) || defined(_WINDOWS)
     __declspec(dllexport) 
 #endif
-        void tuscany_sca_extension_initialize()
+        void tuscany_sca_rest_interface_initialize()
     {
         tuscany::sca::rest::RESTInterfaceExtension::initialize();
     }

Modified: incubator/tuscany/cpp/sca/runtime/extensions/rest/reference/curl/src/tuscany/sca/rest/RESTServiceBindingExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/rest/reference/curl/src/tuscany/sca/rest/RESTServiceBindingExtension.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/rest/reference/curl/src/tuscany/sca/rest/RESTServiceBindingExtension.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/rest/reference/curl/src/tuscany/sca/rest/RESTServiceBindingExtension.cpp Wed Jan 24 05:00:43 2007
@@ -33,7 +33,7 @@
 #if defined(WIN32) || defined(_WINDOWS)
     __declspec(dllexport) 
 #endif
-        void tuscany_sca_extension_initialize()
+        void tuscany_sca_rest_service_initialize()
     {
         tuscany::sca::rest::RESTServiceBindingExtension::initialize();
     }

Modified: incubator/tuscany/cpp/sca/runtime/extensions/rest/service/httpd/src/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/rest/service/httpd/src/Makefile.am?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/rest/service/httpd/src/Makefile.am (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/rest/service/httpd/src/Makefile.am Wed Jan 24 05:00:43 2007
@@ -31,6 +31,6 @@
 INCLUDES = -I$(top_builddir)/runtime/core/src \
   -I$(top_builddir)/runtime/extensions/rest/interface/src \
   -I${TUSCANY_SDOCPP}/include \
-  -I${HTTPD_INCLUDE}
+  -I${HTTPD_INCLUDE} -I${APR_INCLUDE}
                    
 AM_CPPFLAGS = $(CPPFLAGS) -D_DEBUG

Modified: incubator/tuscany/cpp/sca/runtime/extensions/rest/service/httpd/src/tuscany/sca/rest/RESTReferenceBindingExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/rest/service/httpd/src/tuscany/sca/rest/RESTReferenceBindingExtension.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/rest/service/httpd/src/tuscany/sca/rest/RESTReferenceBindingExtension.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/rest/service/httpd/src/tuscany/sca/rest/RESTReferenceBindingExtension.cpp Wed Jan 24 05:00:43 2007
@@ -32,7 +32,7 @@
 #if defined(WIN32) || defined(_WINDOWS)
     __declspec(dllexport) 
 #endif
-        void tuscany_sca_extension_initialize()
+        void tuscany_sca_rest_reference_initialize()
     {
         tuscany::sca::rest::RESTReferenceBindingExtension::initialize();
     }

Modified: incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyExtension.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyExtension.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyExtension.cpp Wed Jan 24 05:00:43 2007
@@ -33,7 +33,7 @@
 #if defined(WIN32) || defined(_WINDOWS)
     __declspec(dllexport) 
 #endif
-        void tuscany_sca_extension_initialize()
+        void tuscany_sca_ruby_initialize()
     {
         tuscany::sca::ruby::RubyExtension::initialize();
     }

Modified: incubator/tuscany/cpp/sca/runtime/extensions/sca/reference/axis2c/src/tuscany/sca/binding/SCAServiceBindingExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/sca/reference/axis2c/src/tuscany/sca/binding/SCAServiceBindingExtension.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/sca/reference/axis2c/src/tuscany/sca/binding/SCAServiceBindingExtension.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/sca/reference/axis2c/src/tuscany/sca/binding/SCAServiceBindingExtension.cpp Wed Jan 24 05:00:43 2007
@@ -34,7 +34,7 @@
 #if defined(WIN32) || defined(_WINDOWS)
     __declspec(dllexport) 
 #endif
-        void tuscany_sca_extension_initialize()
+        void tuscany_sca_binding_reference_initialize()
     {
         tuscany::sca::binding::SCAServiceBindingExtension::initialize();
     }

Modified: incubator/tuscany/cpp/sca/runtime/extensions/sca/service/axis2c/src/tuscany/sca/binding/SCAReferenceBindingExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/sca/service/axis2c/src/tuscany/sca/binding/SCAReferenceBindingExtension.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/sca/service/axis2c/src/tuscany/sca/binding/SCAReferenceBindingExtension.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/sca/service/axis2c/src/tuscany/sca/binding/SCAReferenceBindingExtension.cpp Wed Jan 24 05:00:43 2007
@@ -35,7 +35,7 @@
 #if defined(WIN32) || defined(_WINDOWS)
     __declspec(dllexport) 
 #endif
-        void tuscany_sca_extension_initialize()
+        void tuscany_sca_binding_service_initialize()
     {
         tuscany::sca::binding::SCAReferenceBindingExtension::initialize();
     }

Modified: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp Wed Jan 24 05:00:43 2007
@@ -34,7 +34,7 @@
 #if defined(WIN32) || defined(_WINDOWS)
     __declspec(dllexport) 
 #endif
-        void tuscany_sca_extension_initialize()
+        void tuscany_sca_ws_reference_initialize()
     {
         tuscany::sca::ws::WSServiceBindingExtension::initialize();
     }

Modified: incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSReferenceBindingExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSReferenceBindingExtension.cpp?view=diff&rev=499386&r1=499385&r2=499386
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSReferenceBindingExtension.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSReferenceBindingExtension.cpp Wed Jan 24 05:00:43 2007
@@ -35,7 +35,7 @@
 #if defined(WIN32) || defined(_WINDOWS)
     __declspec(dllexport) 
 #endif
-        void tuscany_sca_extension_initialize()
+        void tuscany_sca_ws_service_initialize()
     {
         tuscany::sca::ws::WSReferenceBindingExtension::initialize();
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org