axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jared Hanson" <>
Subject Windows build patch and other info
Date Thu, 15 Feb 2007 20:20:36 GMT
I've attached a short and simple patch that fixes the win32 makefile found
in the current trunk revision (508102).  It looks like a few files got moved
around, and the makefile wasn't in sync.

As a short introduction, I'm the lead developer for a couple of projects at
Aspera (, and am currently working on integrating
axis2c for use in our applications.  Thus far, I've been working off the
0.95 code base, in order to have something "stable" as I familiarize
myself.  I'm impressed with the code base, and how easy its been to utilize
it for our web services.  Now, however, I'm attempting to rebuild against
axis2c trunk, in order to get the latest code and fixes for memory leaks.
In the next few days and weeks, we will be running things through Purify on
Windows and Valgrind on Linux, and I will send in patches to any memory
leaks that those turn up.

Also, one of the requirements we have around here is to static link some of
our applications.  This simplifies deployment, especially for more
"client-side" applications.  In some cases, we use SOAP as an IPC mechanism,
with notifications going between two or more applications.  As such, each
application has both client and server side code.

In light of that, I've developed what I call a "static deployment engine"
that utilizes axis2c.  Its a relatively simple thing that re-implements some
of the code found deployment module.  Off the top of my head, there are some
changes in dll_desc, conf_builder, and dir_handler.  These changes exist
separate from the main deployment engine, so both dynamic and static
deployment are available, to be used as needed by the application.

How it works is the application comes up and creates an
as_axis2_static_repos_t.  Currently, this is then saved in a global
pointer.  When services, modules, transports, etc. need to be instantiated,
rather than loading DLLs from a disk-based repository, the static_repos
implements functions, which the static deployment engine calls to read
configuration, get create and delete procedure addresses, etc.  All
services, modules, etc are statically linked into the binary.

That's a short rundown.  My implementation is a bit rough around the edges,
but I'm cleaning things up right now (which was part of my motivation to
update to trunk).  If there is any interest, I could submit this code for
possible inclusion in the project.  It'll be a week or two before I can
prepare the code for release, but I wanted to make the list aware, and
hopefully get some feedback.

Jared Hanson

View raw message