automake
[Top][All Lists]
Advanced

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

Re: passing flags to C compiler but not to C++ compiler


From: Robert Boehne
Subject: Re: passing flags to C compiler but not to C++ compiler
Date: Mon, 29 Jul 2013 10:17:14 -0500
User-agent: Mozilla/5.0 (X11; SunOS i86pc; rv:14.0) Gecko/20120714 Thunderbird/14.0

On 07/27/13 16:26, Vincent Torri wrote:
On Sat, Jul 27, 2013 at 10:24 PM, Robert Boehne <address@hidden> wrote:

On 07/27/13 00:32, Vincent Torri wrote:
hello

in my sources, i have both C and C++ files. Something like

my_lib_la_SOURCES = foo.c foo.cpp

I want to pass, for example, -Wdeclaration-after-statement to gcc. Hence,
when compiling foo.cpp, i have the warning :

cc1plus.exe: warning: command line option '-Wdeclaration-after-statement'
is valid for C/ObjC but not for C++

How can I remove this warning when compiling c++ files ?

thank you

Vincent Torri

I misread - for C and not C++ you should set "CFLAGS"

./configure CFLAGS="-g -O2 -Wdeclaration-after-statement" CXXFLAGS="-g -O2"
it will still not work as $(CFLAGS) will be passed to the compilation
of the c++ source file

Vincent Torri

Are you saying you've tried it?  That's not my understanding of how Automake
(or GNU Make) works.  Unless the project has overridden the default
use for these variables, that's how it's supposed to work, and
this problem is an example of why.

This is the relevant section of the manual:

http://www.gnu.org/software/automake/manual/automake.html#Standard-Configuration-Variables

for example.  If you want to pass something to the preprocessor,
it's used by both C and C++, use CPPFLAGS
CPPFLAGS="-DSYMBOL=value -I/path/to/headers"

You can set them in the environment, but if you use the syntax where it's after
the configure in the command, those settings will be saved in config.log
so you can see what they were set to when you built.

HTH,

Robert Boehne




reply via email to

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