Menu

Updated build system

Just committed the changes to the build system. Autoconf, automake and libtool are used to build the module now.

Additionally apxs is used to get some information about apache httpd and how modules should be built for it.

Wrote some M4 macros that wrap up the whole stuff into a nice package. With them you are able to say what versions of httpd a module is compatible with. Just include, e.g.

AP_HTTPD_MODULE([>=2.2])

into your configure.ac and the configure run will fail if no apache httpd greater or equal to version 2.2.x was detected. You can check for more than one version by passing the macro a list of space separated version strings. Operators supported with versions are: "<", "<=", "!=", "=", ">=" and ">". The version must follow after the operator immediately (no space in between). If no operator is given the defaults "=" is used. Knowing all this, a more extensive, but less realistic example would be:

AP_HTTPD_MODULE([<=1.3.2 >3 !=2.0.43 2.2])

stating that the module works with any version of httpd less or equal to 1.3.2 AND greater than 3.x.x AND not equal to 2.0.43 AND equal to 2.2.x. You can tell that this condition would never watch any version of HTTPD ever.

Since apxs is involved in finding the version of httpd, you can pass along `--with-apxs' on configure invocation, so that the version of apxs (and thus httpd) you need is used.

Posted by Heiko Hund 2007-02-02

Log in to post a comment.