* [PATCH] cmake.bbclass: modify construction of compiler flags
@ 2012-09-25 21:37 Joe Slater
2012-09-26 8:47 ` Richard Purdie
0 siblings, 1 reply; 3+ messages in thread
From: Joe Slater @ 2012-09-25 21:37 UTC (permalink / raw)
To: openembedded-core
Use CFLAGS instead of CPPFLAGS for C_FLAGS variants.
Also remove duplicate flags from _RELEASE variants.
Signed-off-by: Joe Slater <jslater@windriver.com>
*** Note - this can break things that have never really
*** been compiled with -O2 optimization
---
meta/classes/cmake.bbclass | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
index dcd974a..ac5c048 100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes/cmake.bbclass
@@ -19,10 +19,10 @@ OECMAKE_C_COMPILER ?= "`echo ${CC} | sed 's/^\([^ ]*\).*/\1/'`"
OECMAKE_CXX_COMPILER ?= "`echo ${CXX} | sed 's/^\([^ ]*\).*/\1/'`"
# Compiler flags
-OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS}"
+OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CFLAGS}"
OECMAKE_CXX_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} -fpermissive"
-OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CPPFLAGS} -DNDEBUG"
-OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CXXFLAGS} -DNDEBUG"
+OECMAKE_C_FLAGS_RELEASE ?= "${CFLAGS} -DNDEBUG"
+OECMAKE_CXX_FLAGS_RELEASE ?= "${CXXFLAGS} -DNDEBUG"
OECMAKE_RPATH ?= ""
OECMAKE_PERLNATIVE_DIR ??= ""
--
1.7.3.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] cmake.bbclass: modify construction of compiler flags
2012-09-25 21:37 [PATCH] cmake.bbclass: modify construction of compiler flags Joe Slater
@ 2012-09-26 8:47 ` Richard Purdie
2012-09-26 17:47 ` Slater, Joseph
0 siblings, 1 reply; 3+ messages in thread
From: Richard Purdie @ 2012-09-26 8:47 UTC (permalink / raw)
To: Joe Slater; +Cc: openembedded-core
On Tue, 2012-09-25 at 14:37 -0700, Joe Slater wrote:
> Use CFLAGS instead of CPPFLAGS for C_FLAGS variants.
> Also remove duplicate flags from _RELEASE variants.
>
> Signed-off-by: Joe Slater <jslater@windriver.com>
>
> *** Note - this can break things that have never really
> *** been compiled with -O2 optimization
This change says what you're doing but not really why. How are things
broken and why is this an improvement?
Cheers,
Richard
> ---
> meta/classes/cmake.bbclass | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
> index dcd974a..ac5c048 100644
> --- a/meta/classes/cmake.bbclass
> +++ b/meta/classes/cmake.bbclass
> @@ -19,10 +19,10 @@ OECMAKE_C_COMPILER ?= "`echo ${CC} | sed 's/^\([^ ]*\).*/\1/'`"
> OECMAKE_CXX_COMPILER ?= "`echo ${CXX} | sed 's/^\([^ ]*\).*/\1/'`"
>
> # Compiler flags
> -OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS}"
> +OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CFLAGS}"
> OECMAKE_CXX_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} -fpermissive"
> -OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CPPFLAGS} -DNDEBUG"
> -OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CXXFLAGS} -DNDEBUG"
> +OECMAKE_C_FLAGS_RELEASE ?= "${CFLAGS} -DNDEBUG"
> +OECMAKE_CXX_FLAGS_RELEASE ?= "${CXXFLAGS} -DNDEBUG"
>
> OECMAKE_RPATH ?= ""
> OECMAKE_PERLNATIVE_DIR ??= ""
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] cmake.bbclass: modify construction of compiler flags
2012-09-26 8:47 ` Richard Purdie
@ 2012-09-26 17:47 ` Slater, Joseph
0 siblings, 0 replies; 3+ messages in thread
From: Slater, Joseph @ 2012-09-26 17:47 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core@lists.openembedded.org
> -----Original Message-----
> From: Richard Purdie [mailto:richard.purdie@linuxfoundation.org]
> Sent: Wednesday, September 26, 2012 1:48 AM
> To: Slater, Joseph
> Cc: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] cmake.bbclass: modify construction of compiler flags
>
> On Tue, 2012-09-25 at 14:37 -0700, Joe Slater wrote:
> > Use CFLAGS instead of CPPFLAGS for C_FLAGS variants.
> > Also remove duplicate flags from _RELEASE variants.
> >
> > Signed-off-by: Joe Slater <jslater@windriver.com>
> >
> > *** Note - this can break things that have never really
> > *** been compiled with -O2 optimization
>
> This change says what you're doing but not really why. How are things
> broken and why is this an improvement?
The specific problem is that, since CFLAGS are ignored, there is no difference
between debug (-O0) and production (-O2) builds. It also seems counter-intuitive
that CXX_FLAGS are based on CXXFLAGS, but C_FLAGS are not based on CFLAGS.
Joe
>
> Cheers,
>
> Richard
>
> > ---
> > meta/classes/cmake.bbclass | 6 +++---
> > 1 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
> > index dcd974a..ac5c048 100644
> > --- a/meta/classes/cmake.bbclass
> > +++ b/meta/classes/cmake.bbclass
> > @@ -19,10 +19,10 @@ OECMAKE_C_COMPILER ?= "`echo ${CC} | sed 's/^\([^ ]*\).*/\1/'`"
> > OECMAKE_CXX_COMPILER ?= "`echo ${CXX} | sed 's/^\([^ ]*\).*/\1/'`"
> >
> > # Compiler flags
> > -OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS}"
> > +OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CFLAGS}"
> > OECMAKE_CXX_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} -fpermissive"
> > -OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CPPFLAGS} -DNDEBUG"
> > -OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CXXFLAGS} -DNDEBUG"
> > +OECMAKE_C_FLAGS_RELEASE ?= "${CFLAGS} -DNDEBUG"
> > +OECMAKE_CXX_FLAGS_RELEASE ?= "${CXXFLAGS} -DNDEBUG"
> >
> > OECMAKE_RPATH ?= ""
> > OECMAKE_PERLNATIVE_DIR ??= ""
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-09-26 18:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-25 21:37 [PATCH] cmake.bbclass: modify construction of compiler flags Joe Slater
2012-09-26 8:47 ` Richard Purdie
2012-09-26 17:47 ` Slater, Joseph
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox