diff options
author | Kaspar Brand <kbrand@apache.org> | 2012-09-16 07:55:02 +0200 |
---|---|---|
committer | Kaspar Brand <kbrand@apache.org> | 2012-09-16 07:55:02 +0200 |
commit | 3aaa0378b6be837b84cbcfdbffe13cecaa7e8446 (patch) | |
tree | 67c396c812f33d30fec0b21864fda8d35bc810b7 | |
parent | revert r1358167, in preparation of the next commit (diff) | |
download | apache2-3aaa0378b6be837b84cbcfdbffe13cecaa7e8446.tar.xz apache2-3aaa0378b6be837b84cbcfdbffe13cecaa7e8446.zip |
Spin off module-specific build options into separate build vars.
Add MOD_CFLAGS, MOD_LDFLAGS variables etc. to the build commands,
which are available to modules for customization on a per-subdir
basis (by adding definitions to modules.mk). Reduces the risk
of side-effects when a module needs to add CFLAGS, LDFLAGS etc.
and these would be added to the global settings (ALL_CFLAGS etc.).
Adapt build settings for mod_ssl, mod_socache_dc, mod_deflate,
mod_xml2enc, mod_proxy_html, and mod_lua to use the new MOD_xxx
build variables.
Change PICFLAGS, SHLTCFLAGS and LTCFLAGS into config vars, instead
of AC_SUBSTing them in build/rules.mk.in. For support/ab, introduce
ab_CFLAGS and ab_LDFLAGS, and define explicit make targets where
they appear at the proper position in the build commands.
Consistently use "--with-xxx=PATH" in configure help strings which
are used to specify a path to the installation directory of an
auxiliary package.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1385214 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | build/rules.mk.in | 29 | ||||
-rw-r--r-- | configure.in | 4 | ||||
-rw-r--r-- | modules/cache/config.m4 | 4 | ||||
-rw-r--r-- | modules/filters/config.m4 | 11 | ||||
-rw-r--r-- | modules/lua/config.m4 | 4 | ||||
-rw-r--r-- | modules/ssl/config.m4 | 3 | ||||
-rw-r--r-- | support/Makefile.in | 8 |
7 files changed, 35 insertions, 28 deletions
diff --git a/build/rules.mk.in b/build/rules.mk.in index 3dedb9a3cb..a1804fa9c5 100644 --- a/build/rules.mk.in +++ b/build/rules.mk.in @@ -22,31 +22,34 @@ # the user-defined flags can always override the configure ones, if needed. # Note that includes are listed after the flags because -I options have # left-to-right precedence and CPPFLAGS may include user-defined overrides. +# The "MOD_" prefixed variable are provided to allow modules to insert their +# (per-subdirectory) settings through definitions in modules.mk, with highest +# precedence. # -ALL_CFLAGS = $(EXTRA_CFLAGS) $(NOTEST_CFLAGS) $(CFLAGS) -ALL_CPPFLAGS = $(DEFS) $(INTERNAL_CPPFLAGS) $(EXTRA_CPPFLAGS) $(NOTEST_CPPFLAGS) $(CPPFLAGS) -ALL_CXXFLAGS = $(EXTRA_CXXFLAGS) $(NOTEST_CXXFLAGS) $(CXXFLAGS) -ALL_LDFLAGS = $(EXTRA_LDFLAGS) $(NOTEST_LDFLAGS) $(LDFLAGS) -ALL_LIBS = $(EXTRA_LIBS) $(NOTEST_LIBS) $(LIBS) -ALL_INCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) +ALL_CFLAGS = $(MOD_CFLAGS) $(EXTRA_CFLAGS) $(NOTEST_CFLAGS) $(CFLAGS) +ALL_CPPFLAGS = $(DEFS) $(INTERNAL_CPPFLAGS) $(MOD_CPPFLAGS) $(EXTRA_CPPFLAGS) $(NOTEST_CPPFLAGS) $(CPPFLAGS) +ALL_CXXFLAGS = $(MOD_CXXFLAGS) $(EXTRA_CXXFLAGS) $(NOTEST_CXXFLAGS) $(CXXFLAGS) +ALL_LDFLAGS = $(MOD_LDFLAGS) $(EXTRA_LDFLAGS) $(NOTEST_LDFLAGS) $(LDFLAGS) +ALL_LIBS = $(MOD_LIBS) $(EXTRA_LIBS) $(NOTEST_LIBS) $(LIBS) +ALL_INCLUDES = $(MOD_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES) # Compile commands BASE_CC = $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(ALL_INCLUDES) BASE_CXX = $(CXX) $(ALL_CXXFLAGS) $(ALL_CPPFLAGS) $(ALL_INCLUDES) -COMPILE = $(BASE_CC) @PICFLAGS@ -CXX_COMPILE = $(BASE_CXX) @PICFLAGS@ +COMPILE = $(BASE_CC) $(PICFLAGS) +CXX_COMPILE = $(BASE_CXX) $(PICFLAGS) -SH_COMPILE = $(LIBTOOL) --mode=compile $(BASE_CC) @SHLTCFLAGS@ -c $< && touch $@ -SH_CXX_COMPILE = $(LIBTOOL) --mode=compile $(BASE_CXX) @SHLTCFLAGS@ -c $< && touch $@ +SH_COMPILE = $(LIBTOOL) --mode=compile $(BASE_CC) $(SHLTCFLAGS) -c $< && touch $@ +SH_CXX_COMPILE = $(LIBTOOL) --mode=compile $(BASE_CXX) $(SHLTCFLAGS) -c $< && touch $@ -LT_COMPILE = $(LIBTOOL) --mode=compile $(COMPILE) @LTCFLAGS@ -c $< && touch $@ -LT_CXX_COMPILE = $(LIBTOOL) --mode=compile $(CXX_COMPILE) @LTCFLAGS@ -c $< && touch $@ +LT_COMPILE = $(LIBTOOL) --mode=compile $(COMPILE) $(LTCFLAGS) -c $< && touch $@ +LT_CXX_COMPILE = $(LIBTOOL) --mode=compile $(CXX_COMPILE) $(LTCFLAGS) -c $< && touch $@ # Link-related commands -LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) @PILDFLAGS@ $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ +LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) $(PILDFLAGS) $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ SH_LINK = $(SH_LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) $(LT_LDFLAGS) $(ALL_LDFLAGS) $(SH_LDFLAGS) $(CORE_IMPLIB) $(SH_LIBS) -o $@ MOD_LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) -static $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ diff --git a/configure.in b/configure.in index 4ae175106b..c4c17591ce 100644 --- a/configure.in +++ b/configure.in @@ -644,8 +644,8 @@ if test "$enable_pie" = "yes"; then AC_ERROR([--enable-pie requested but $CC failed using PIE flags]) fi fi -AC_SUBST(PICFLAGS) -AC_SUBST(PILDFLAGS) +APACHE_SUBST(PICFLAGS) +APACHE_SUBST(PILDFLAGS) prefix="$orig_prefix" APACHE_ENABLE_MODULES diff --git a/modules/cache/config.m4 b/modules/cache/config.m4 index 2fe41e1a36..5647e89b5b 100644 --- a/modules/cache/config.m4 +++ b/modules/cache/config.m4 @@ -42,7 +42,7 @@ if test "x$ap_distcache_configured" = "x"; then dnl Determine the distcache base directory, if any AC_MSG_CHECKING([for user-provided distcache base]) - AC_ARG_WITH(distcache, APACHE_HELP_STRING(--with-distcache=DIR, Distcache installation directory), [ + AC_ARG_WITH(distcache, APACHE_HELP_STRING(--with-distcache=PATH, Distcache installation directory), [ dnl If --with-distcache specifies a directory, we use that directory or fail if test "x$withval" != "xyes" -a "x$withval" != "x"; then dnl This ensures $withval is actually a directory and that it is absolute @@ -63,7 +63,7 @@ if test "x$ap_distcache_configured" = "x"; then if test "x$ap_distcache_base" != "x"; then APR_ADDTO(CPPFLAGS, [-I$ap_distcache_base/include]) - APR_ADDTO(INCLUDES, [-I$ap_distcache_base/include]) + APR_ADDTO(MOD_INCLUDES, [-I$ap_distcache_base/include]) APR_ADDTO(LDFLAGS, [-L$ap_distcache_base/lib]) APR_ADDTO(ap_distcache_ldflags, [-L$ap_distcache_base/lib]) if test "x$ap_platform_runtime_link_flag" != "x"; then diff --git a/modules/filters/config.m4 b/modules/filters/config.m4 index 966f77a551..abcec1bdf7 100644 --- a/modules/filters/config.m4 +++ b/modules/filters/config.m4 @@ -34,7 +34,7 @@ fi APACHE_MODULE(deflate, Deflate transfer encoding support, , , most, [ - AC_ARG_WITH(z, APACHE_HELP_STRING(--with-z=DIR,use a specific zlib library), + AC_ARG_WITH(z, APACHE_HELP_STRING(--with-z=PATH,use a specific zlib library), [ if test "x$withval" != "xyes" && test "x$withval" != "x"; then ap_zlib_base="$withval" @@ -66,6 +66,7 @@ APACHE_MODULE(deflate, Deflate transfer encoding support, , , most, [ ap_zlib_ldflags="" if test "$ap_zlib_base" != "/usr"; then APR_ADDTO(INCLUDES, [-I${ap_zlib_base}/include]) + APR_ADDTO(MOD_INCLUDES, [-I${ap_zlib_base}/include]) dnl put in CPPFLAGS temporarily so that AC_TRY_LINK below will work CPPFLAGS="$CPPFLAGS $INCLUDES" APR_ADDTO(LDFLAGS, [-L${ap_zlib_base}/lib]) @@ -82,13 +83,13 @@ APACHE_MODULE(deflate, Deflate transfer encoding support, , , most, [ APR_ADDTO(MOD_DEFLATE_LDADD, [$ap_zlib_ldflags -lz])], [AC_MSG_RESULT(not found) enable_deflate=no - INCLUDES=$ap_save_includes if test "x$ap_zlib_with" = "x"; then AC_MSG_WARN([... Error, zlib was missing or unusable]) else AC_MSG_ERROR([... Error, zlib was missing or unusable]) fi ]) + INCLUDES=$ap_save_includes LDFLAGS=$ap_save_ldflags CPPFLAGS=$ap_save_cppflags APR_REMOVEFROM(LIBS, [-lz]) @@ -98,7 +99,7 @@ APACHE_MODULE(deflate, Deflate transfer encoding support, , , most, [ AC_DEFUN(FIND_LIBXML2, [ AC_CACHE_CHECK([for libxml2], [ac_cv_libxml2], [ AC_ARG_WITH(libxml2, - [APACHE_HELP_STRING(--with-libxml2,location for libxml2)], + [APACHE_HELP_STRING(--with-libxml2=PATH,location for libxml2)], [test_paths="${with_libxml2}"], [test_paths="/usr/include/libxml2 /usr/local/include/libxml2 /usr/include /usr/local/include"] ) @@ -122,7 +123,7 @@ AC_DEFUN(FIND_LIBXML2, [ APACHE_MODULE(xml2enc, i18n support for markup filters, , , , [ FIND_LIBXML2 if test "$ac_cv_libxml2" = "yes" ; then - APR_ADDTO(CFLAGS, [-I${XML2_INCLUDES}]) + APR_ADDTO(MOD_CFLAGS, [-I${XML2_INCLUDES}]) APR_ADDTO(MOD_XML2ENC_LDADD, [-lxml2]) else enable_xml2enc=no @@ -131,7 +132,7 @@ APACHE_MODULE(xml2enc, i18n support for markup filters, , , , [ APACHE_MODULE(proxy_html, Fix HTML Links in a Reverse Proxy, , , , [ FIND_LIBXML2 if test "$ac_cv_libxml2" = "yes" ; then - APR_ADDTO(CFLAGS, [-I${XML2_INCLUDES}]) + APR_ADDTO(MOD_CFLAGS, [-I${XML2_INCLUDES}]) APR_ADDTO(MOD_PROXY_HTML_LDADD, [-lxml2]) else enable_proxy_html=no diff --git a/modules/lua/config.m4 b/modules/lua/config.m4 index c70c5af930..d7d7c7667b 100644 --- a/modules/lua/config.m4 +++ b/modules/lua/config.m4 @@ -128,7 +128,7 @@ else AC_MSG_NOTICE([using '${LUA_LIBS}' for Lua Library]) AC_ARG_ENABLE(luajit, APACHE_HELP_STRING(--enable-luajit,Enable LuaJit Support), - APR_ADDTO(CPPFLAGS, ["-DAP_ENABLE_LUAJIT"])) + APR_ADDTO(MOD_CPPFLAGS, ["-DAP_ENABLE_LUAJIT"])) ifelse([$1], , , $1) fi ]) @@ -138,7 +138,7 @@ lua_objects="lua_apr.lo lua_config.lo mod_lua.lo lua_request.lo lua_vmprep.lo" APACHE_MODULE(lua, Apache Lua Framework, $lua_objects, , , [ CHECK_LUA() if test "x$enable_lua" != "xno" ; then - APR_ADDTO(INCLUDES, [$LUA_CFLAGS]) + APR_ADDTO(MOD_INCLUDES, [$LUA_CFLAGS]) APR_ADDTO(MOD_LUA_LDADD, [$LUA_LIBS]) fi ]) diff --git a/modules/ssl/config.m4 b/modules/ssl/config.m4 index 1ee122e232..8c4f7d6855 100644 --- a/modules/ssl/config.m4 +++ b/modules/ssl/config.m4 @@ -40,11 +40,10 @@ dnl # hook module into the Autoconf mechanism (--enable-ssl option) APACHE_MODULE(ssl, [SSL/TLS support (mod_ssl)], $ssl_objs, , most, [ APACHE_CHECK_OPENSSL if test "$ac_cv_openssl" = "yes" ; then - APR_ADDTO(MOD_SSL_LDADD, [\$(SSL_LIBS)]) if test "x$enable_ssl" = "xshared"; then # The only symbol which needs to be exported is the module # structure, so ask libtool to hide everything else: - APR_ADDTO(MOD_SSL_LDADD, [-export-symbols-regex ssl_module]) + APR_ADDTO(MOD_LDFLAGS, [-export-symbols-regex ssl_module]) fi else enable_ssl=no diff --git a/support/Makefile.in b/support/Makefile.in index 043fd147fa..cef8f00368 100644 --- a/support/Makefile.in +++ b/support/Makefile.in @@ -57,9 +57,13 @@ htdbm: $(htdbm_OBJECTS) $(LINK) $(htdbm_LTFLAGS) $(htdbm_OBJECTS) $(PROGRAM_LDADD) $(CRYPT_LIBS) ab_OBJECTS = ab.lo -ab_LDADD = $(PROGRAM_LDADD) $(SSL_LIBS) $(MATH_LIBS) +ab_LDADD = $(PROGRAM_LDADD) $(MATH_LIBS) +ab.lo: ab.c + $(LIBTOOL) --mode=compile $(CC) $(ab_CFLAGS) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \ + $(ALL_INCLUDES) $(PICFLAGS) $(LTCFLAGS) -c $< && touch $@ ab: $(ab_OBJECTS) - $(LINK) $(ab_LTFLAGS) $(ab_OBJECTS) $(ab_LDADD) + $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) $(ab_LDFLAGS) $(PILDFLAGS) \ + $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ $(ab_LTFLAGS) $(ab_OBJECTS) $(ab_LDADD) checkgid_OBJECTS = checkgid.lo checkgid: $(checkgid_OBJECTS) |