I've created an initial patch against the trunk for my static deployment
engine.  I've used #ifdefs, and placed the relevant changes directly in the
source.  This greatly simplified the code, compared to keeping it a separate
module.  When building, simply define AXIS2_STATIC_DEPLOY to build a
libraries targeted for static linking and deployment.

In the patch, the following files have modifications:
dep_engine.c
desc_builder.c
repos_listener.c
http_transport_sender.c
dll_desc.c
file_handler.c

I've commented the areas where I've made changes, in order to explain how
the static deployment engine operates differently than the normal dynamic
engine.

Also, the following new files exist:
axis2_static_arch.h
axis2_static_conf.h
axis2_static_lib.h
axis2_static_repos.h

Strictly speaking, only axis2_static_repos.h is required.  An implementation
needs to be provided by the application, and set equal to
g_axis2_static_repos pointer.  The implementation provides functions that
approximate disk access, getting the root path, reading files, etc.  The
other header files are simply ones I found useful, and mirror archive files
(modules, services), repository configuration, and any libraries
(http_transport_sender, etc.).  The application could implement the
requirements of axis2_static_repos.h without using these, however.

I think the code should be fairly self-explanatory.  I'll be putting
together a sample of how to use these, and uploading in the next few days.
In the meantime, the example-app in my previous upload (
http://www.asperasoft.com/developer/axis2c/axis2-static-deploy.tar.gz)
demonstrates most of what is necessary.

I am, of course, subscribed to the list.  So, any feedback or questions can
be sent here.

Thanks,
Jared Hanson

Attachment: static-deployment-20070222.patch
Description: Binary data

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to