httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tom Tromey <tro...@creche.cygnus.com>
Subject Re: conditional HTML
Date Mon, 15 Apr 1996 16:00:42 GMT
Alexei> We move all user-related files (README, INSTALL,
Alexei> Configuration, Makefile, etc) to the root directory. This way
Alexei> they don't even have to look at the source if they don't want
Alexei> to, nor do they have to figure out where it is. They can just
Alexei> type 'make' and go. I'd also like to see an autoconf-like
Alexei> setup. I haven't gotten a chance to look at the one Tom Tromey
Alexei> mentioned, but something like that would be good.

In my setup, the configure files and such are at the top level.  I
didn't update the README and INSTALL files; that is something I'll do
when these patches make it into the core (for INSTALL there is some
boilerplate from GNU that we can use)

For most people, typing "configure ; make ; make install" will be
enough.

Alexei> As well, I'd like to see the non-'core' (i.e. NCSA 1.3)
Alexei> modules moved into their own directory, modules/ maybe, along
Alexei> with a file to configure them. This makes sense, as it makes
Alexei> the modules more modular, and gives (I think) the end user
Alexei> more of a sense that it's okay to fiddle with them, without
Alexei> breaking or damaging the server.

Putting the modules into their own directory is possible.  Under my
current setup, you can just drop a new module into the src/ directory,
add a line to the Modules file, and your new module will be compiled
in if you configure and build.  I'm not sure what making a new
modules/ directory buys, except maybe some clarity.

While it is possible (even easy) to add a new configure script for the
modules, I'm not sure it is such a great idea -- it will probably
duplicate a lot of the main configure script, which means you'd have
to make each change twice.  The module-specific lines in the current
configure.in boils down to these:

    # Some additional tests based on the particular modules in use.
    case "$MODOBJS" in
     *auth_dbm*)
        AC_CHECK_LIB(ndbm, main,,
        echo "Module dbm_auth requires libndbm, which cannot be found" 1>&2
        exit 1)
        ;;
    esac

... so the modules aren't really making the main configure.in
unmaintainable or anything.

Alexei> Finially, have the compilation dump the binary into the root
Alexei> directory along with everything else. [ ... ]

I've never understood why NCSA httpd/Apache want to be built in their
eventual install directory.  In my setup, you use "make install" to
install everything once it is compiled.  Then you can delete the
source and build trees if you want.

There are still some install issues I haven't dealt with, eg:

* Should the default configuration files ("blah-conf.dist") be
  rewritten at build time to know the install location?  This is easy
  to do, if it is desirable.

* Should these files even be installed?  What should happen if you
  already have Apache installed?

One other thing that we get "for free" is the ability to type "make
dist", and have a gzipped tar file created automatically.  (The
Makefile rules to do this are all generated by Automake with very
little effort from the maintainer)

Tom
-- 
tromey@cygnus.com                 Member, League for Programming Freedom

Mime
View raw message