httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject Re: AC_CHECK_LIB issues under maintainer mode (Was: Re: Tagging 2.4.29 / 2.5.0-{alpha/beta?} today)
Date Sun, 15 Oct 2017 15:52:26 GMT
Am 15.10.2017 um 16:25 schrieb Yann Ylavic:
> On Sun, Oct 15, 2017 at 4:03 PM, Rainer Jung <rainer.jung@kippdata.de> wrote:
>>
>> Why is this happening now? The "-Werror" was backported last December in
>> r1772330, which was a backport of r1702948 from trunk (May 2015). Maybe
>> people haven't used maintainer mode since then?
> 
> During the backport process of r1772330, Jacob noticed that -Werror
> was not working as expected (see STATUS changes in this commit). He
> also made a comment on dev@ here:
> https://marc.info/?l=apache-cvs&m=147508169616462&w=2
> 
> Maybe -Werror is just ignored somehow, because I always compile in
> maintainer mode with several gcc versions...

Thanks Yann, I actually only ran gcc with the respective flags. But 
indeed configure checks for each flag whether it is "working" and the 
program which gets compiled is:

int
main ()
{
struct tm tm; tm.tm_gmtoff;
   ;
   return 0;
}

So since we set -Wstrict-prototypes before, -Werror turns this into

conftest.c:45:1: error: function declaration isn't a prototype 
[-Werror=strict-prototypes]
  main ()
  ^~~~

and -Werror does not get set at all.

Nevertheless I would still say that adding 
"-Wno-error=strict-prototypes" for any clang and gcc version that 
supports it would be the correct option. Then -Werror should 
automatically get applied again.

So something like the following (simple) patch should be an improvement 
for gcc and clang and also fix Jim's problem. Of course since we then 
would have -Werror enabled probably for the first time for gcc other new 
problems might show (that will currently only be observable as warnings 
during maintainer builds).

Index: configure.in
===================================================================
--- configure.in        (revision 1812218)
+++ configure.in        (working copy)
@@ -597,6 +597,7 @@
      if test "$GCC" = "yes"; then
        APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes 
-Wmissing-declarations -Wpointer-arith])
        APACHE_ADD_GCC_CFLAG([-std=c89])
+      APACHE_ADD_GCC_CFLAG([-Wno-error=strict-prototypes])
        APACHE_ADD_GCC_CFLAG([-Werror])
        APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement])
        APACHE_ADD_GCC_CFLAG([-Wformat])

Regards,

Rainer

Mime
View raw message