Checkout Tools
  • last updated 4 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Add an --enable-reduced-exports configure option to link libmain.a

using ld's --whole-archive mode and avoid building exports.c entirely.

This reduces the size of a minimal httpd binary by 18% on Linux/x86_64

(687K to 560K) with no difference to the set of symbols available to


This option is only appropriate to use if using a shared libapr*

build, hence is non-default.

* Add --enable-reduced-exports; disable httpdunit build

if used. Define AP_FORCE_EXPORTS if not enabled (default) in place


* server/main.c (ap_suck_in_APR): Only build if AP_FORCE_EXPORTS is


* Link using LIBMAIN_LIB.

* server/ Conditionally build exports.c into libmain.

  1. … 4 more files in changeset.
* (check-yes): Re-run make before running t/TEST in case

Apache::Test is stale and needs updating.

Define "state directory" for storing persistent child-writable state,

with default from config.layout, configurable via DefaultStateDir.

* server/core.c (set_state_dir, ap_state_dir_relative):

New functions.

* config.layout, acinclude.m4,, Define

statedir variables, drop davlockdb.

* include/ Define DEFAULT_REL_STATEDIR,


* include/ap_mmn.h: Bump MMN minor.

  1. … 7 more files in changeset.
* (install-suexec*): Fix make -jN install.

Submitted by: Arkadiusz Miskiewicz <arekm>

*, Handle no-test-suite case through

check-no rule. Only regenerate the test suite on repeated

"make check" run if a header file has changed.

  1. … 1 more file in changeset.
Avoid cyclic dependency by moving ap_set_etag() from module http to core.

This function, along with ap_make_etag(), is used by the default_handler in

core.c, and in several modules other than builtin mod_http, breaking static

linking and httpdunit tests build.

The move is done by "svn move modules/http/http_etag.c server/util_etag.c".

MMN major bumped, not backportable (as is) to 2.4.x.

  1. … 8 more files in changeset.
* Pass TESTS=... to run only specific tests with make check.

* (check-binaries): Split out binaries to separate targets

so repeated "make check" still works.

Fix "make check" to be able to find ab, creating a "bin" inside the

dummy install root at $builddir/check.

* (check-binaries): New target.

(check/bin/apxs): Moved target inside check/bin.

(check/build/ Override bindir as well.

(check): Use apxs at new location.

* (build/config_vars.out): Rebuild if build/

has changed. merge typo fix from test-integration branch
  1. … 1 more file in changeset. fix MPM_MODULES typo
httpdunit: merge to trunk from feature branch
  1. … 10 more files in changeset.
check: merge warning fixes from feature branch
  1. … 27 more files in changeset.
check: merge MPM-DSO fixes from feature branch
  1. … 27 more files in changeset.
Reintegrate the --with-test-suite feature with trunk
  1. … 3 more files in changeset.
Use different variables to track normal

modules and MPMs during build.

Normal modules and MPMs follow different

rules in the config, e.g. we are only

allowed to have one active LoadModule

for an MPM in the config.

As a side effect, LoadModule for MPMs

will now come before LoadModule for

the normal modules.

  1. … 2 more files in changeset.
Exclude MPM modules from automatic LoadModule

enabling when configure was called with

-enable-load-all-modules. The default MPM

should still get enabled automatically.

exporting mod_http2.h
Fix indentation and tab use after r1652955.

Addition to r1652955: Use "=" in combination

with "test" instead of "==".

PR 57379: If mod_cgi and mod_cgid get installed,

use IfModule for MPM to LoadModule mod_cgi for

prefork and mod_cgid for all other MPMs.

Previously when combined with --enable-load-all-modules

both modules were loaded and it was undefined

which one actually handled cgi requests.

Based on a patch by olli hauer <ohauer>.

mod_ssl: Add hooks to allow other modules to perform processing at

several stages of initialization and connection handling. See


This is enough to allow implementation of Certificate Transparency

outside of mod_ssl.

  1. … 10 more files in changeset.
we need to remove this fluff as well

Don't link support/* against systemd libs.

* Link httpd using $(HTTPD_LIBS).

* Add systemd to HTTPD_LIBS rather than LIBS. Add PCRE

libs to HTTPD_LIBS.

  1. … 1 more file in changeset.
Install cache_common.h as required by mod_cache.h. Allows external modules

to use mod_cache.

Submitted by Niklas Edmundsson.

Export mod_xml2enc.h so that others can use the module.

suexec: Support use of setgid/setuid capability bits on Linux, a

weaker set of privileges than the full setuid/setgid root binary.

* Add --enable-suexec-capabilites flag.

* If configured, use setcap instead of chmod 7555 on

installed suexec binary.

* modules/arch/unix/mod_unixd.c (unixd_pre_config): Drop test for

setuid bit if capability bits are used.

* docs/manual/: Add docs.

  1. … 4 more files in changeset.
Install multiple files per invocation

Libtool and BSD install support installing several files in one run.

Add support to and, too.

Replace for-loops in the Makefiles.

This reduces 'make install' time by approx. 50% because we save

lots of calls to the huge libtool shell script.

The AIX-specific magic in could use some testing.

  1. … 3 more files in changeset.
Add a validate-xml target