httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <>
Subject Re: building experimental modules with httpd-2.0 tree
Date Sat, 09 Dec 2000 02:02:28 GMT
On Fri, Dec 08, 2000 at 08:43:08PM -0500, Jeff Trawick wrote:
> writes:
> > > I'm with Roy... copying the files into the "extra" directory is a bit wonky.
> > > As somebody who built an external module :-), I never liked it.
> > > Specifically, mod_dav 1.0 copies itself into apache-1.3/src/modules/dav/
> > > 
> > > I'd like to avoid the extra directory. If possible.  (dunno if that is so)
> > 
> > But dav is a big module, and really needs it's own directory
> > structure.  For simple modules, it is much easier to have a single
> > directory to put them all in.  Consider my mod_hf, which adds a header and
> > a footer to every page Apache sends, if this created it's own directory
> > for a two hundred line file, it would be ridiculous.  Add to that what
> > happens when an admin wants to addfive or six small external modules?  Do
> > we litter the modules directory?  I think extra (or maybe call it
> > external) provides a nice compromise to the problems.
> I agree that copying to modules/extra is more than a little wonky, but
> overall I agree with Ryan.  I think the extra directory (call it what
> you want) is key to the simple build support we provide for
> single-file modules.  We wouldn't want to generate files in the source
> directory (e.g., /home/goober/my_downloads) so we need some place to
> put it that doesn't clobber directories where our own code lives. 

How about if:

1) we create modules/third-party/
2) provide a tool to copy over the files and insert a line(s) into config.m4

If this tool is apxs, then fine, but I think a separate tool would make a
bit more sense. So you'd have apxs for external/dynload builds, and ??? for
within-Apache/static builds.

This also clears up the configure processing: using that to do the *copy* is
strange. It is also non-indempotent. e.g. if you run config.nice again, then
it makes another copy. I've lost changes because of that :-(

So, the process for a installing a third-party module into a static build:

[httpd-2.0]$ support/apcopymod /home/gstein/3pmod-0.1
(some text, saying "copying to modules/third-party)
[httpd-2.0]$ ./configure
[httpd-2.0]$ make

A switch appears in the configure process to disable the module (apcopymod
puts a default=yes module into config.m4).

apcopymod could also look at the provided argument: a directory would copy
over <multiple files and stuff>, and a .c file would be just a simple module
copy. Other stuff in a directory would be:

*) multiple files
*) custom configuration stuff (.m4 files)
*) header files

This feels about right to me. Thoughts?


Greg Stein,

View raw message