Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: Marek Vasut <marex@denx.de>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] Yocto: qt4: Let qmake control some compiler/linker flags
Date: Mon, 25 Aug 2014 19:04:30 -0700	[thread overview]
Message-ID: <20140826020430.GB18989@haswell> (raw)
In-Reply-To: <1407425157-2736-1-git-send-email-marex@denx.de>

On 14-08-07 17:25:57, Marek Vasut wrote:
> In the case of building an Qt application outside of the Yocto
> build system, we want to make sure that a "debug" configuration
> of the application does contain debug symbols and is has the
> compiler optimalization unset. On the other hand, we want to
> have a "release" build which does not contain the debug symbols
> and has the compiler optimalization turned on.
> 
> The OE_QMAKE_* flags serve to pass all kinds of flags into the
> qmake-generated Makefile. Currently, we set OE_QMAKE_CFLAGS to
> be ${CFLAGS} and ditto for CXXFLAGS and LDFLAGS in the SDK
> toolchain environment script. This poses a problem, since the
> CFLAGS can contain optimization options (-O*) and even flags to
> produce debugging info (-g). The LDFLAGS may also contain some
> harmful flags.
> 
> The easy way out is to let qmake's army of configuration files
> handle the proper configuration of CFLAGS, CXXFLAGS and LDFLAGS
> for the generated Makefile and don't interfere with qmake's
> decisions by adding arbitrary flags. This patch completely
> scrubs OE_QMAKE_C{,XX}FLAGS and leaves only harmless flags in
> OE_QMAKE_LDFLAGS. With this patch, the behavior is as it is
> explained in the first paragraph.

This is fine if you see it from QT app developer POV, however I see a
downside, where we are then not compiling the application with the same
consistent set of flags which you would use with OE-mill when you
integrate the app back into OE build system. This reminds me of the
scenario where apps built with MSVS ended up shipping debug builds
because that was what developers tested on and there wasnt enough time
to fix release builds.

Having said that, I would prefer that you add -g flag to whatever you
are getting from SDK and debug using that ( which will be -g -O2)
in most cases optimized code debugging works well with modern gcc if it
does not we can always complain to gcc community.

IMHO its better to debug the code that you will ship. It saves a lot of
time as various steps of code life cycle.

-Khem



  parent reply	other threads:[~2014-08-26  2:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-07 15:25 [PATCH] Yocto: qt4: Let qmake control some compiler/linker flags Marek Vasut
2014-08-11  0:49 ` Otavio Salvador
2014-08-15 20:53   ` Marek Vasut
2014-08-26  1:33     ` Otavio Salvador
2014-08-26  2:04 ` Khem Raj [this message]
2014-08-28 12:52   ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140826020430.GB18989@haswell \
    --to=raj.khem@gmail.com \
    --cc=marex@denx.de \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox