You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@apache.org on 2012/09/26 16:30:31 UTC

svn commit: r1390518 - in /httpd/httpd/branches/2.4.x: acinclude.m4 build/rules.mk.in configure.in modules/cache/config.m4 modules/filters/config.m4 modules/lua/config.m4 modules/ssl/config.m4 support/Makefile.in

Author: jim
Date: Wed Sep 26 14:30:31 2012
New Revision: 1390518

URL: http://svn.apache.org/viewvc?rev=1390518&view=rev
Log:
build: introduce per-module-directory compile/link flags (MOD_CFLAGS etc.)

Modified:
    httpd/httpd/branches/2.4.x/acinclude.m4
    httpd/httpd/branches/2.4.x/build/rules.mk.in
    httpd/httpd/branches/2.4.x/configure.in
    httpd/httpd/branches/2.4.x/modules/cache/config.m4
    httpd/httpd/branches/2.4.x/modules/filters/config.m4
    httpd/httpd/branches/2.4.x/modules/lua/config.m4
    httpd/httpd/branches/2.4.x/modules/ssl/config.m4
    httpd/httpd/branches/2.4.x/support/Makefile.in

Modified: httpd/httpd/branches/2.4.x/acinclude.m4
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/acinclude.m4?rev=1390518&r1=1390517&r2=1390518&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/acinclude.m4 (original)
+++ httpd/httpd/branches/2.4.x/acinclude.m4 Wed Sep 26 14:30:31 2012
@@ -145,12 +145,20 @@ AC_DEFUN(APACHE_TYPE_RLIM_T, [
   fi
 ])
 
+dnl the list of build variables which are available for customization on a
+dnl per module subdir basis (to be inserted into modules.mk with a "MOD_"
+dnl prefix, i.e. MOD_CFLAGS etc.). Used in APACHE_MODPATH_{INIT,FINISH}.
+define(mod_buildvars, [CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES])
+dnl
 dnl APACHE_MODPATH_INIT(modpath)
 AC_DEFUN(APACHE_MODPATH_INIT,[
   current_dir=$1
   modpath_current=modules/$1
   modpath_static=
   modpath_shared=
+  for var in mod_buildvars; do
+    eval MOD_$var=
+  done
   test -d $1 || $srcdir/build/mkdir.sh $modpath_current
   > $modpath_current/modules.mk
 ])dnl
@@ -159,6 +167,11 @@ AC_DEFUN(APACHE_MODPATH_FINISH,[
   echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk
   echo "static = $modpath_static" >> $modpath_current/modules.mk
   echo "shared = $modpath_shared" >> $modpath_current/modules.mk
+  for var in mod_buildvars; do
+    if eval val=\"\$MOD_$var\"; test -n "$val"; then
+      echo "MOD_$var = $val" >> $modpath_current/modules.mk
+    fi
+  done
   if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then
     MODULE_DIRS="$MODULE_DIRS $current_dir"
   else
@@ -476,7 +489,7 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[
 
     dnl Determine the OpenSSL base directory, if any
     AC_MSG_CHECKING([for user-provided OpenSSL base directory])
-    AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=DIR,OpenSSL base directory), [
+    AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=PATH,OpenSSL installation directory), [
       dnl If --with-ssl specifies a directory, we use that directory
       if test "x$withval" != "xyes" -a "x$withval" != "x"; then
         dnl This ensures $withval is actually a directory and that it is absolute
@@ -493,7 +506,6 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[
     saved_CPPFLAGS="$CPPFLAGS"
     saved_LIBS="$LIBS"
     saved_LDFLAGS="$LDFLAGS"
-    SSL_LIBS=""
 
     dnl Before doing anything else, load in pkg-config variables
     if test -n "$PKGCONFIG"; then
@@ -510,10 +522,11 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[
         ap_openssl_found="yes"
         pkglookup="`$PKGCONFIG --cflags-only-I openssl`"
         APR_ADDTO(CPPFLAGS, [$pkglookup])
-        APR_ADDTO(INCLUDES, [$pkglookup])
+        APR_ADDTO(MOD_CFLAGS, [$pkglookup])
+        APR_ADDTO(ab_CFLAGS, [$pkglookup])
         pkglookup="`$PKGCONFIG --libs-only-L --libs-only-other openssl`"
         APR_ADDTO(LDFLAGS, [$pkglookup])
-        APR_ADDTO(SSL_LIBS, [$pkglookup])
+        APR_ADDTO(MOD_LDFLAGS, [$pkglookup])
       fi
       PKG_CONFIG_PATH="$saved_PKG_CONFIG_PATH"
     fi
@@ -521,12 +534,13 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[
     dnl fall back to the user-supplied directory if not found via pkg-config
     if test "x$ap_openssl_base" != "x" -a "x$ap_openssl_found" = "x"; then
       APR_ADDTO(CPPFLAGS, [-I$ap_openssl_base/include])
-      APR_ADDTO(INCLUDES, [-I$ap_openssl_base/include])
+      APR_ADDTO(MOD_CFLAGS, [-I$ap_openssl_base/include])
+      APR_ADDTO(ab_CFLAGS, [-I$ap_openssl_base/include])
       APR_ADDTO(LDFLAGS, [-L$ap_openssl_base/lib])
-      APR_ADDTO(SSL_LIBS, [-L$ap_openssl_base/lib])
+      APR_ADDTO(MOD_LDFLAGS, [-L$ap_openssl_base/lib])
       if test "x$ap_platform_runtime_link_flag" != "x"; then
         APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
-        APR_ADDTO(SSL_LIBS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
+        APR_ADDTO(MOD_LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
       fi
     fi
 
@@ -544,9 +558,11 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[
 
     if test "x$ac_cv_openssl" = "xyes"; then
       ap_openssl_libs="-lssl -lcrypto `$apr_config --libs`"
-      APR_ADDTO(SSL_LIBS, [$ap_openssl_libs])
+      APR_ADDTO(MOD_LDFLAGS, [$ap_openssl_libs])
       APR_ADDTO(LIBS, [$ap_openssl_libs])
-      APACHE_SUBST(SSL_LIBS)
+      APR_SETVAR(ab_LDFLAGS, [$MOD_LDFLAGS])
+      APACHE_SUBST(ab_CFLAGS)
+      APACHE_SUBST(ab_LDFLAGS)
 
       dnl Run library and function checks
       liberrors=""

Modified: httpd/httpd/branches/2.4.x/build/rules.mk.in
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/build/rules.mk.in?rev=1390518&r1=1390517&r2=1390518&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/build/rules.mk.in (original)
+++ httpd/httpd/branches/2.4.x/build/rules.mk.in Wed Sep 26 14:30:31 2012
@@ -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.
-#
-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)
+# 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   = $(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 $@
 

Modified: httpd/httpd/branches/2.4.x/configure.in
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/configure.in?rev=1390518&r1=1390517&r2=1390518&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/configure.in (original)
+++ httpd/httpd/branches/2.4.x/configure.in Wed Sep 26 14:30:31 2012
@@ -630,8 +630,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

Modified: httpd/httpd/branches/2.4.x/modules/cache/config.m4
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/cache/config.m4?rev=1390518&r1=1390517&r2=1390518&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/cache/config.m4 (original)
+++ httpd/httpd/branches/2.4.x/modules/cache/config.m4 Wed Sep 26 14:30:31 2012
@@ -42,7 +42,7 @@ if test "x$ap_distcache_configured" = "x
 
   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
 
   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

Modified: httpd/httpd/branches/2.4.x/modules/filters/config.m4
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/filters/config.m4?rev=1390518&r1=1390517&r2=1390518&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/filters/config.m4 (original)
+++ httpd/httpd/branches/2.4.x/modules/filters/config.m4 Wed Sep 26 14:30:31 2012
@@ -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 
     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 
        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 
 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 
 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

Modified: httpd/httpd/branches/2.4.x/modules/lua/config.m4
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/lua/config.m4?rev=1390518&r1=1390517&r2=1390518&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/lua/config.m4 (original)
+++ httpd/httpd/branches/2.4.x/modules/lua/config.m4 Wed Sep 26 14:30:31 2012
@@ -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 mo
 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
 ])

Modified: httpd/httpd/branches/2.4.x/modules/ssl/config.m4
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/ssl/config.m4?rev=1390518&r1=1390517&r2=1390518&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/ssl/config.m4 (original)
+++ httpd/httpd/branches/2.4.x/modules/ssl/config.m4 Wed Sep 26 14:30:31 2012
@@ -40,7 +40,6 @@ dnl #  hook module into the Autoconf mec
 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:

Modified: httpd/httpd/branches/2.4.x/support/Makefile.in
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/support/Makefile.in?rev=1390518&r1=1390517&r2=1390518&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/support/Makefile.in (original)
+++ httpd/httpd/branches/2.4.x/support/Makefile.in Wed Sep 26 14:30:31 2012
@@ -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)