diff options
author | Joe Orton <jorton@apache.org> | 2019-06-20 15:00:37 +0200 |
---|---|---|
committer | Joe Orton <jorton@apache.org> | 2019-06-20 15:00:37 +0200 |
commit | 50bbfb3de58e82514f50a34f2ec24d147112b7f5 (patch) | |
tree | 8b983073a3f756f57b81d724d0d44fe35d56d8eb /build | |
parent | Clarify pool lifetime constraints when modifying ap_server_config_defines. (diff) | |
download | apache2-50bbfb3de58e82514f50a34f2ec24d147112b7f5.tar.xz apache2-50bbfb3de58e82514f50a34f2ec24d147112b7f5.zip |
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
modules.
This option is only appropriate to use if using a shared libapr*
build, hence is non-default.
* configure.in: Add --enable-reduced-exports; disable httpdunit build
if used. Define AP_FORCE_EXPORTS if not enabled (default) in place
of AP_USING_AUTOCONF.
* server/main.c (ap_suck_in_APR): Only build if AP_FORCE_EXPORTS is
defined.
* Makefile.in: Link libmain.la using LIBMAIN_LIB.
* server/Makefile.in: Conditionally build exports.c into libmain.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1861685 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'build')
-rw-r--r-- | build/config_vars.sh.in | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/build/config_vars.sh.in b/build/config_vars.sh.in index 408e42d2cb..d586ebd4c5 100644 --- a/build/config_vars.sh.in +++ b/build/config_vars.sh.in @@ -84,4 +84,6 @@ exec sed " /^APR_INCLUDEDIR.*$/s,.*,APR_INCLUDEDIR = ${APR_INCLUDEDIR}, /^APU_INCLUDEDIR.*$/s,.*,APU_INCLUDEDIR = ${APU_INCLUDEDIR}, /^LIBTOOL.*$/s,/[^ ]*/libtool \(.*\),${APR_LIBTOOL} @LTFLAGS@, +/^EXPORTS_DOT_C/d +/^LIBMAIN_LIB/d " |