RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Eric Blake
I just helped someone debug an issue today where their configure run was
getting weird results, because they had called './configure
CFLAGS=-Wall -Werror -O0 -g', and the -Werror was causing several
tests to guess wrong.

This issue has repeatedly come up on this list, and our advice has
always been don't use -Werror during configure; save it for 'make'.
In fact, we even have examples to point to on how to write a configure
script that will probe whether -Werror works and add it automatically at
make time without also polluting the rest of the configure run (such as
via coreutils' ./configure --enable-gcc-warnings, coupled with
Makefile.am snippets to add -Werror to AM_CFLAGS as appropriate).

For packages that already take care to separate out -Werror handling,
I'm thinking it might be worthwhile to have a macro that would emit a
warning at ./configure time if CC is detected as gcc, and CFLAGS
contains -Werror, since this usually won't have the desired results.  Of
course, it would need to be a new macro (we don't want to change the
behavior of configure to add a warning without explicit request by
package maintainers), but it seems like something that enough packages
would like to be worth including in the next autoconf release.  It seems
like such a macro should be called after AC_PROG_CC (need to know if the
compiler is gcc).

Thoughts?  Does my idea make sense?  What would a good macro name be?
AC_PROG_CC_SUSPICIOUS_CFLAGS
AC_PROG_CC_NO_WERROR

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Jeffrey Walton
On Wed, Sep 19, 2012 at 5:01 PM, Eric Blake ebl...@redhat.com wrote:
 I just helped someone debug an issue today where their configure run was
 getting weird results, because they had called './configure
 CFLAGS=-Wall -Werror -O0 -g', and the -Werror was causing several
 tests to guess wrong.

 This issue has repeatedly come up on this list, and our advice has
 always been don't use -Werror during configure; save it for 'make'.
 In fact, we even have examples to point to on how to write a configure
 script that will probe whether -Werror works and add it automatically at
 make time without also polluting the rest of the configure run (such as
 via coreutils' ./configure --enable-gcc-warnings, coupled with
 Makefile.am snippets to add -Werror to AM_CFLAGS as appropriate).

 For packages that already take care to separate out -Werror handling,
 I'm thinking it might be worthwhile to have a macro that would emit a
 warning at ./configure time if CC is detected as gcc, and CFLAGS
 contains -Werror, since this usually won't have the desired results.  Of
 course, it would need to be a new macro (we don't want to change the
 behavior of configure to add a warning without explicit request by
 package maintainers), but it seems like something that enough packages
 would like to be worth including in the next autoconf release.  It seems
 like such a macro should be called after AC_PROG_CC (need to know if the
 compiler is gcc).

 Thoughts?  Does my idea make sense?  What would a good macro name be?
 AC_PROG_CC_SUSPICIOUS_CFLAGS
 AC_PROG_CC_NO_WERROR
The best solution for users is likely to be similar to do the sane
thing so things work. If that means hding -Werror so things work as
intended, that that is probably one of the better paths to take.

As a dumb user, I want to use a cookbook. That means I want to do a:

   ./configure CFLAGS=-Wall -Wextra 

I don't want to have to learn how to use autoconf, automake, and make.
I don't want to subscribe to mailing list to make things work. I just
want it to work as expected.

The dumb user (me) is likely not the same person who decided to use
the tool chain (the maintainers). Maintainers are probably much more
savvy users.

No disrespect intended.

Jeff

___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Russ Allbery
Jeffrey Walton noloa...@gmail.com writes:

 As a dumb user, I want to use a cookbook. That means I want to do a:

./configure CFLAGS=-Wall -Wextra 

 I don't want to have to learn how to use autoconf, automake, and make.
 I don't want to subscribe to mailing list to make things work. I just
 want it to work as expected.

If you're an end user following a cookbook, you probably should not be
overriding the decisions of the package maintainer and adding additional
warning flags.  Warning flags are useful for more sophisticated users to
detect possible bugs in the software.  Users who are just following
cookbooks and who aren't prepared to debug the software are not going to
gain anything useful by enabling a bunch of optional warnings, let alone
trying to use -Werror.

-- 
Russ Allbery (r...@stanford.edu) http://www.eyrie.org/~eagle/

___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Eric Blake
On 09/19/2012 03:14 PM, Jeffrey Walton wrote:
 On Wed, Sep 19, 2012 at 5:01 PM, Eric Blake ebl...@redhat.com wrote:
 I just helped someone debug an issue today where their configure run was
 getting weird results, because they had called './configure
 CFLAGS=-Wall -Werror -O0 -g', and the -Werror was causing several
 tests to guess wrong.


 The best solution for users is likely to be similar to do the sane
 thing so things work. If that means hding -Werror so things work as
 intended, that that is probably one of the better paths to take.

That would be more invasive; I really don't want to change AC_PROG_CC
itself for fear of breaking backwards compatibility for users unprepared
for configure to hide -Werror from the rest of make.  Blindly ignoring
-Werror might trigger its own problems (I know of at least one situation
where the configure.ac writer intentionally wanted to test whether a
particular library header triggered warnings, to know whether it was
safe to use -Werror elsewhere in the project; silently stripping -Werror
from CFLAGS for the duration of configure would make this situation
harder to probe for).  In other words, you generally want to configure
for the exact environment that make will also be using, and hiding
-Werror means you have two different environments.  On the other hand,
the rest of your project is generally written in decent coding style,
while configure tests tend to be bare bones abuse to intentionally probe
what features are available, and therefore more likely to trigger warnings.

So maybe your idea has merit, and in fact, I think the two ideas are
orthogonal and could both be implemented (although configure.ac writers
would only ever need to use one of the two versions).

 
 As a dumb user, I want to use a cookbook. That means I want to do a:
 
./configure CFLAGS=-Wall -Wextra 
 
 I don't want to have to learn how to use autoconf, automake, and make.
 I don't want to subscribe to mailing list to make things work. I just
 want it to work as expected.

For this to work, we'd need a way for the configure.ac author to state
that temporary -Werror scrubbing during configure is okay, by invoking a
macro _prior_ to AC_PROG_CC.  If that macro has been used, then
AC_PROG_CC would record whether -Werror is present, strip it from CFLAGS
(or better, morph it to -Wno-error, so that the edit can be undone later
even if CFLAGS has been appended to by the rest of configure), run the
rest of configure without error checking, and then at the end,
re-instate CFLAGS back to the user's request.

 
 The dumb user (me) is likely not the same person who decided to use
 the tool chain (the maintainers). Maintainers are probably much more
 savvy users.
 
 No disrespect intended.

None taken.  However, I still think that this is enough of a change in
default behavior that it has to be something that configure.ac authors
have to request, rather than something forced on them by default, since
not all packages behave equally in the presence or absence of -Werror.
And again, my original proposal, when given your use case as a user,
would result in something like:

$ ./configure CFLAGS=-Wall -Werror
warning: -Werror detected in configure-time CFLAGS; if this does not
  work the way you expected, then configure without CFLAGS and later
  run 'make CFLAGS=-Werror'

That does not mean that the end user has to know anything about touching
configure.ac or rerunning autoconf.  Of course, I'm arguing that
_someone_ has to originally touch configure.ac before either my proposed
warning or your proposed -Werror sanitizing can take place at configure
time, but that one-time edit really is a maintainer's role.

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Eric Blake
On 09/19/2012 03:33 PM, Adrian Bunk wrote:
 IMHO the best solution for both package maintainers and people compiling 
 software would be:
 - AC_PROG_CC always filters out -Werror

Always filtering seems a bit too strong - I think that filtering -Werror
requires at least some request from the configure.ac writer that
filtering -Werror is intended.

 - when -Werror was filtered out, configure prints a message like
   filtering out -Werror during configure
 - when -Werror was filtered out, AC_OUTPUT re-adds it

Indeed, this is what I would do if the filtering were done.

But maybe I can be convinced that always filtering -Werror from
user-input CFLAGS for the duration of configure makes sense, and agree
with changing AC_PROG_CC to do this automatically instead of requiring
configure.ac consent to the filtering.

At this point, patches would speak louder than words (that goes for me,
as well, since I sparked the debate without any proposed patch).

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Adrian Bunk
On Wed, Sep 19, 2012 at 03:01:24PM -0600, Eric Blake wrote:
 I just helped someone debug an issue today where their configure run was
 getting weird results, because they had called './configure
 CFLAGS=-Wall -Werror -O0 -g', and the -Werror was causing several
 tests to guess wrong.
 
 This issue has repeatedly come up on this list, and our advice has
 always been don't use -Werror during configure; save it for 'make'.
 In fact, we even have examples to point to on how to write a configure
 script that will probe whether -Werror works and add it automatically at
 make time without also polluting the rest of the configure run (such as
 via coreutils' ./configure --enable-gcc-warnings, coupled with
 Makefile.am snippets to add -Werror to AM_CFLAGS as appropriate).

That doesn't solve the problem of how to add -Werror when compiling the
typical autoconf-using software that does not have any specific warning
handling implemented.

 For packages that already take care to separate out -Werror handling,
 I'm thinking it might be worthwhile to have a macro that would emit a
 warning at ./configure time if CC is detected as gcc, and CFLAGS
 contains -Werror, since this usually won't have the desired results.  Of
 course, it would need to be a new macro (we don't want to change the
 behavior of configure to add a warning without explicit request by
 package maintainers), but it seems like something that enough packages
 would like to be worth including in the next autoconf release.  It seems
 like such a macro should be called after AC_PROG_CC (need to know if the
 compiler is gcc).
 
 Thoughts?  Does my idea make sense?  What would a good macro name be?
 AC_PROG_CC_SUSPICIOUS_CFLAGS
 AC_PROG_CC_NO_WERROR

IMHO the best solution for both package maintainers and people compiling 
software would be:
- AC_PROG_CC always filters out -Werror
- when -Werror was filtered out, configure prints a message like
  filtering out -Werror during configure
- when -Werror was filtered out, AC_OUTPUT re-adds it

cu
Adrian

-- 

   Is there not promise of rain? Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   Only a promise, Lao Er said.
   Pearl S. Buck - Dragon Seed


___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Jeffrey Walton
On Wed, Sep 19, 2012 at 5:22 PM, Russ Allbery r...@stanford.edu wrote:
 Jeffrey Walton noloa...@gmail.com writes:

 As a dumb user, I want to use a cookbook. That means I want to do a:

./configure CFLAGS=-Wall -Wextra 

 I don't want to have to learn how to use autoconf, automake, and make.
 I don't want to subscribe to mailing list to make things work. I just
 want it to work as expected.

 If you're an end user following a cookbook, you probably should not be
 overriding the decisions of the package maintainer and adding additional
 warning flags.  Warning flags are useful for more sophisticated users to
 detect possible bugs in the software.  Users who are just following
 cookbooks and who aren't prepared to debug the software are not going to
 gain anything useful by enabling a bunch of optional warnings, let alone
 trying to use -Werror.
Good point Russ.

I would like to leave it alone. But *every* FOSS project I've seen
(and *all* closed source security audits I've performed) neglect the
security related stuff. That means I have to act because the supply
chain in under my purview - I have no choice.

Here's the latest example of high integrity software failing the
CompSci 101 stuff. But its not limited to high-integrity software (the
problem is pandemic): FreeRADIUS​: Stack Overflow in TLS-based EAP
Methods, http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-3547.

In the above example, at least three measures could have been taken to
avoid or lessen the problem. If you look at the project's default
setup, you will see the development team chooose none of them. In this
case, it was not the development team making a careful choice. It was
as oversight (as I said, the awareness problem is pandemic).

Jeff

___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Adrian Bunk
On Wed, Sep 19, 2012 at 03:40:39PM -0600, Eric Blake wrote:
 On 09/19/2012 03:33 PM, Adrian Bunk wrote:
  IMHO the best solution for both package maintainers and people compiling 
  software would be:
  - AC_PROG_CC always filters out -Werror
 
 Always filtering seems a bit too strong - I think that filtering -Werror
 requires at least some request from the configure.ac writer that
 filtering -Werror is intended.
...

But that wouldn't fix your original problem where a normal configure
had wrong test results with -Werror.

cu
Adrian

-- 

   Is there not promise of rain? Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   Only a promise, Lao Er said.
   Pearl S. Buck - Dragon Seed


___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Eric Blake
On 09/19/2012 04:02 PM, Adrian Bunk wrote:
 On Wed, Sep 19, 2012 at 03:40:39PM -0600, Eric Blake wrote:
 On 09/19/2012 03:33 PM, Adrian Bunk wrote:
 IMHO the best solution for both package maintainers and people compiling 
 software would be:
 - AC_PROG_CC always filters out -Werror

 Always filtering seems a bit too strong - I think that filtering -Werror
 requires at least some request from the configure.ac writer that
 filtering -Werror is intended.
 ...
 
 But that wouldn't fix your original problem where a normal configure
 had wrong test results with -Werror.

Huh?  Filtering _would_ fix the original problem of getting wrong
configure results under -Werror, because -Werror wouldn't be used during
configure.  It's just a question of whether it is safe to filter by
default, or whether filtering is enough of a change to require a
one-line addition to configure.ac explicitly requesting the filtering.

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Russ Allbery
Jeffrey Walton noloa...@gmail.com writes:

 I would like to leave it alone. But *every* FOSS project I've seen
 (and *all* closed source security audits I've performed) neglect the
 security related stuff. That means I have to act because the supply
 chain in under my purview - I have no choice.

Ah, okay, yes, that's a good point.  But -Werror (apart from the one
specifically about format options, which configure probes don't trigger so
far as I know) is not particularly useful from a security perspective.
And even the one for format options doesn't make the software build more
secure; it's a debugging tool to find potential security problems.

-- 
Russ Allbery (r...@stanford.edu) http://www.eyrie.org/~eagle/

___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Marko Lindqvist
 FWIW my opinion as maintainer of several autoconf-using packages is
that it really should be my decision if -Werror given by user is
passed to configure tests. However, default could be either way - l
just need power to override that. I have at least one test that should
fail if -Werror is going to be used in real software compilation and
the tested thing is giving warnings.


 - ML

___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Adrian Bunk
On Wed, Sep 19, 2012 at 04:06:08PM -0600, Eric Blake wrote:
 On 09/19/2012 04:02 PM, Adrian Bunk wrote:
  On Wed, Sep 19, 2012 at 03:40:39PM -0600, Eric Blake wrote:
  On 09/19/2012 03:33 PM, Adrian Bunk wrote:
  IMHO the best solution for both package maintainers and people compiling 
  software would be:
  - AC_PROG_CC always filters out -Werror
 
  Always filtering seems a bit too strong - I think that filtering -Werror
  requires at least some request from the configure.ac writer that
  filtering -Werror is intended.
  ...
  
  But that wouldn't fix your original problem where a normal configure
  had wrong test results with -Werror.
 
 Huh?  Filtering _would_ fix the original problem of getting wrong
 configure results under -Werror, because -Werror wouldn't be used during
 configure.  It's just a question of whether it is safe to filter by
 default, or whether filtering is enough of a change to require a
 one-line addition to configure.ac explicitly requesting the filtering.

My point is that a normal configure uses whatever is the default,
and will always use the default.

That is the common case, and any fancy warning and -Werror handling in
confiugre.ac is a special case.

And if the default is not to filter, chances are that the person whom 
you helped debugging would still have come to you with the same problem 
if he'd had tried the -Werror in 10 years for the first time.

cu
Adrian

-- 

   Is there not promise of rain? Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   Only a promise, Lao Er said.
   Pearl S. Buck - Dragon Seed


___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Harlan Stenn
Just off the top of my head, what about an AC_GCC_FILTER_WERROR macro
that would search for an incoming -Werror and remove it if it was
provided and restore it at the end?

The downside of this is that maintainers would still have to know to add
it.

And I recall seeing a number of stable GNU packages that hadn't been
updated in a while.  This may no longer be the case, but I know I wanted
to see these packages upgrade to newer auto* tools just for the features
the newer auto* tools offered.

H

___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Marko Lindqvist
On 20 September 2012 01:12, Marko Lindqvist cazf...@gmail.com wrote:
  FWIW my opinion as maintainer of several autoconf-using packages is
 that it really should be my decision if -Werror given by user is
 passed to configure tests. However, default could be either way - l
 just need power to override that. I have at least one test that should
 fail if -Werror is going to be used in real software compilation and
 the tested thing is giving warnings.

 Actually, *other* tests in the same configure script will give wrong
results if -Werror passed, so ideally it should be easy to give
-Werror for that single test only. So maybe filtering by default but
storing information whether -Werror was part of original CFLAGS
(CXXFLAGS, CPPFLAGS?) to documented variable or other part of official
API for configure.ac author to reinstate -Werror at will.

 This leaves me just wrapping my head around what will happen to other
variables with values based on contents of CFLAGS while it was
filtered, and does it even matter.


 - ML

___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Eric Blake
On 09/19/2012 04:18 PM, Adrian Bunk wrote:
 Huh?  Filtering _would_ fix the original problem of getting wrong
 configure results under -Werror, because -Werror wouldn't be used during
 configure.  It's just a question of whether it is safe to filter by
 default, or whether filtering is enough of a change to require a
 one-line addition to configure.ac explicitly requesting the filtering.
 
 My point is that a normal configure uses whatever is the default,
 and will always use the default.
 
 That is the common case, and any fancy warning and -Werror handling in
 confiugre.ac is a special case.

Those are special cases that _I, as configure.ac author,_ get to choose
whether they should happen.  If I know that -Werror filtering won't
impact my package, then I add one line to my configure.ac, and then 10
years from now, when the user first tries './configure CFLAGS=-Werror',
the default _for my package_ already handles it sanely.

It's just that I don't know whether _autoconf_ can enforce filtering on
ALL packages, or whether -Werror handling has to be an opt-in decision
by individual package authors.  Either way, once filtering is enabled
for my package, then people will quit coming to me when they attempt to
configure my package with -Werror.

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Eric Blake
On 09/19/2012 04:30 PM, Marko Lindqvist wrote:
 On 20 September 2012 01:12, Marko Lindqvist cazf...@gmail.com wrote:
  FWIW my opinion as maintainer of several autoconf-using packages is
 that it really should be my decision if -Werror given by user is
 passed to configure tests. However, default could be either way - l
 just need power to override that. I have at least one test that should
 fail if -Werror is going to be used in real software compilation and
 the tested thing is giving warnings.
 
  Actually, *other* tests in the same configure script will give wrong
 results if -Werror passed, so ideally it should be easy to give
 -Werror for that single test only.

I think you meant some tests will give wrong results if user-requested
-Werror is filtered.

 So maybe filtering by default but
 storing information whether -Werror was part of original CFLAGS
 (CXXFLAGS, CPPFLAGS?) to documented variable or other part of official
 API for configure.ac author to reinstate -Werror at will.

Indeed, we may end up documenting:

AC_PROG_CC_FILTER_WERROR
AC_PROG_CC

to enable filtering mode (or perhaps a new optional second argument to
AC_PROG_CC([search list], [filter-werror]) that sets options as part of
AC_PROG_CC), and then the ability to undo that filtering on a per-test
basis, by adding a new optional fourth argument to
AC_COMPILE_IFELSE([code], [if-true], [if-false], [undo-filter]) and friends.

 
  This leaves me just wrapping my head around what will happen to other
 variables with values based on contents of CFLAGS while it was
 filtered, and does it even matter.

That's why I'm thinking that filtering -Werror has to be a conscious
decision in configure.ac, and not the default enforced by stock autoconf.

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Eric Blake
On 09/19/2012 04:12 PM, Marko Lindqvist wrote:
  FWIW my opinion as maintainer of several autoconf-using packages is
 that it really should be my decision if -Werror given by user is
 passed to configure tests. However, default could be either way - l
 just need power to override that. I have at least one test that should
 fail if -Werror is going to be used in real software compilation and
 the tested thing is giving warnings.

Agreed; I will also point out that the suggestion right now is to filter
-Werror out of user-passed CFLAGS at compiler-detection time (ie. a
one-time filter at AC_PROG_CC, not a per-compiler-run at
AC_COMPILE_IFELSE), and therefore the rest of configure is free to
(temporarily) re-add it to CFLAGS without that temporary change also
being filtered.  Then, after all configure checks have run, the
user-requested flag will be restored to the CFLAGS passed on to make,
along with any entries appended to CFLAGS during the course of configure.

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Bob Friesenhahn

On Thu, 20 Sep 2012, Adrian Bunk wrote:


IMHO the best solution for both package maintainers and people compiling
software would be:
- AC_PROG_CC always filters out -Werror
- when -Werror was filtered out, configure prints a message like
 filtering out -Werror during configure
- when -Werror was filtered out, AC_OUTPUT re-adds it


If this is done, there will be a compilation error when there is a 
warning, regardless of the cause of the warning.  That is what was 
requested but it might not be what was desired if a system header 
produces the warning.  The result might fail immediately.


Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/

___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: RFE: macro for warning at configure-time if CFLAGS includes -Werror

2012-09-19 Thread Eric Blake
On 09/19/2012 04:49 PM, Bob Friesenhahn wrote:
 On Thu, 20 Sep 2012, Adrian Bunk wrote:

 IMHO the best solution for both package maintainers and people compiling
 software would be:
 - AC_PROG_CC always filters out -Werror
 - when -Werror was filtered out, configure prints a message like
  filtering out -Werror during configure
 - when -Werror was filtered out, AC_OUTPUT re-adds it
 
 If this is done, there will be a compilation error when there is a
 warning, regardless of the cause of the warning.  That is what was
 requested but it might not be what was desired if a system header
 produces the warning.  The result might fail immediately.

Yes, but it would fail at make time _because_ the user requested
-Werror, and has buggy system headers; we honored the user's request, to
the point that the user's request is possible, without getting false
results during configure.  And, as has been pointed out elsewhere in the
flag, if there is an ability to do a per-compile undo of the filtering,
it will even be possible to write configure tests to detect such buggy
system headers in advance.

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf