autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Testing for unknown flags in different compilers


From: Dale Visser
Subject: RE: Testing for unknown flags in different compilers
Date: Thu, 20 Feb 2014 09:34:49 -0500

Thomas:

Your concerns make sense. I was deliberately vague about the context and 
purpose of the macro, since I wanted the list community to focus on whether the 
algorithm I was proposing is the best way of accomplishing the stated goal of 
adding a compiler/linker flag *only* if it is known to the compiler.

If you follow the link to the autoconf-patches discussion I provided earlier, 
it gives the context, which I'll describe here. I am attempting to modify and 
port macros from autoconf-archive and gnulib-warnings to modify the default 
behavior of AC_PROG_CC, AC_PROG_CXX and AC_PROG_FC to add option flags to turn 
on compiler warnings. E.g., in gcc and clang, -Wall would be added.

Since not all developers would be happy with this new default, a way is 
provided to restore the previous behavior (not adding the warning options). *In 
addition*, a new macro will be provided to make it easy for configure.ac 
authors to add flags to the CXXFLAGS, CFLAGS, or FCFLAGS as appropriate by 
context. For example, a team may be happy with -Wall except for the fact that 
it includes warnings about the contents of comments, and so could invoke 
AC_ADD_CXXFLAG_IFVALID([-Wno-comment]) in order to turn that warning off. (A 
better name than AC_WARN_ADD, as David Wheeler pointed out.)

Your point about clx makes sense. I was not aware of its different usage of -W 
(documented at 
http://pic.dhe.ibm.com/infocenter/comphelp/v121v141/index.jsp?topic=%2Fcom.ibm.xlcpp121.aix.doc%2Fcompiler_ref%2Fopt_w_upper.html).
  My goal is to make the AC_PROG_* changes as cross-compiler as possible. There 
is probably always going to be some compiler which does its various 
command-line options different than the others. The AC_ADD_*FLAG_IFVALID macro 
would be very much a "buyer beware" macro, and almost by definition, people are 
going to placing flags there that will be specific to a given compiler, hence 
the desire to detect ones unknown to the current compiler and reject them.

Best regards,
Dale Visser

Date: Thu, 20 Feb 2014 11:26:35 +0100
From: address@hidden
To: address@hidden
Subject: Re: Testing for unknown flags in different compilers

Hello all,
 
On 02/19/14 22:05, Dale Visser wrote:
> I have been working on a changes whereby an autoconf user can invoke a macro 
> like
> 
> AC_WARN_ADD([-Wextra])
> 
> to add user-specified flags to the compiler/linker invocations. Ideally we 
> would like 
 
I'm unclear what tool(s) you want to affect (is the flag going to be added to
CFLAGS, CXXFLAGS, FCFLAGS? depending on language mode or CFLAGS only? if the
latter shouldn't the name have something like CC in it).
 
Also this is going to cause all sorts problems for compilers that use -W for
something else entirely, for example on PowerPC xlc has
 
-W<program>,<options_list>
 
so simply adding some arbitrary -Wsomecharactersequence might easily cause
catastrophic results later on. I suggest your macro at least try to make sure
your compiler is GNU CC before modifying CFLAGS in any way.
 
Also users should have an option to deselect this because software tends to get
distributed to systems where system headers cause one warning or another.
 
In my opinion you are trying to solve a development issue with a tool that has
the explicit purpose of being useful for non-developers.
 
Regards, Thomas
-- 
Thomas Jahns
DKRZ GmbH, Department: Application software
 
Deutsches Klimarechenzentrum
Bundesstraße 45a
D-20146 Hamburg
 
Phone: +49-40-460094-151
Fax: +49-40-460094-270
Email: Thomas Jahns <address@hidden>
 

_______________________________________________
Autoconf mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/autoconf                                 
          

reply via email to

[Prev in Thread] Current Thread [Next in Thread]