mod_rivet builds out of several components:
- mod_rivet: the module with it's configuration code and main callbacks
- rivetCore.c: code extending Tcl with new commands written in C
- rivetChannel.c: a Tcl channel reimplementing stdout
- apache_request.c and apache_multipart_buffer.c: code handling data
sent to the server as part of a request (e.g. forms)
- rivetParser.c and librivetparser: Rivet templates
- librivet.so: various utilities (some of them still undocumented)
- TclWebapache.c: several functions interfacing Tcl and the Apache framework
With the present setup it's awkward (if impossible) to work with the
code of a specific component if the whole directory tree is not
replicated as well.
Thus I created a 'modular' branch to publish my efforts towards an
organization of the directory tree with looser connections among
components *at the build system level*
Goal 1: it would be desirable to enable a developer to build a module
using, for instance, 'trunk' as base directory tree while picking
specific code from other directories or branches
Goal 2: it should be possible to tell automake where a specific
component code is located (already implemented for symbol 'apache-request')
Goal 3: modularization could go further ahead and include also other
components (e.g. module configuration within the Apache server currently
in mod_rivet.c)
I prepared a branch 'modular' where most of the C code under src has
been moved in several directories
-- 'channel' the Rivet channel
-- 'request' apache_request.c and apache_multipart_buffer.c
-- 'rivetcmds' rivetCore.c (and its companion rivetConf.c)
other directories already existing
-- 'parser' librivetparser
-- 'librivet' librivet.so
-- 'apache-2' the module for Apache 2.x
Makefile.am files have been adapted to the new directory tree layout and
the module builds quite nicely. Notice: only Makefile.am's were changed,
C code files were simply moved into their new directories
There is still a strict dependency with the name of files that make into
mod_rivet. In other words if you're branching the development of
rivetCore.c in 'mycore' you have to make sure the new directory contains
a set of files bearing the same names as those in 'rivetcmds'. After all
this is what happens when you branch the code.
The switch --with-apache-request has been implemented and the same
mechanism could be in case easily replicated for other directories.
thank you for your patience in reading this long message.
Any feedbacks would be appreciated
-- Massimo
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]