wso2-wsf-cpp/msg_rcvr_lib.patch
2011-04-28 08:44:28 -05:00

29 lines
1.5 KiB
Diff

--- /root/rpmbuild/BUILD/wso2-wsf-cpp-src-2.1.0/wsf_c/axis2c/src/core/deployment/desc_builder.c 2009-10-13 15:03:16.000000000 -0400
+++ ./wsf_c/axis2c/src/core/deployment/desc_builder.c 2011-04-10 11:20:29.545157342 -0400
@@ -972,8 +972,23 @@
msg_recv_dll_name = axutil_dll_desc_create_platform_specific_dll_name(dll_desc, env,
class_name);
repos_name = axis2_dep_engine_get_repos_path(desc_builder->engine, env);
- temp_path = axutil_stracat(env, repos_name, AXIS2_PATH_SEP_STR);
- temp_path2 = axutil_stracat(env, temp_path, AXIS2_LIB_FOLDER);
+ if (!repos_name) {
+ /* TODO: pmackinn - if we rely solely on an axis2.xml repo then the engine still expects
+ * to find a message receiver shared lib in a "lib" dir off some unspecified repo folder;
+ * so we must tell it to instead look at what we specified for a libDir param in the axis2.xml */
+ axutil_param_t* lib_dir_param = axis2_conf_get_param(conf, env, AXIS2_LIB_DIR);
+ if (lib_dir_param) {
+ temp_path2 = (axis2_char_t *)axutil_param_get_value(lib_dir_param, env);
+ }
+ else {
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unable to resolve lib dir for deployment engine");
+ return NULL;
+ }
+ }
+ else {
+ temp_path = axutil_stracat(env, repos_name, AXIS2_PATH_SEP_STR);
+ temp_path2 = axutil_stracat(env, temp_path, AXIS2_LIB_FOLDER);
+ }
temp_path3 = axutil_stracat(env, temp_path2, AXIS2_PATH_SEP_STR);
dll_name = axutil_stracat(env, temp_path3, msg_recv_dll_name);
AXIS2_FREE(env->allocator, temp_path);