Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
To: buildroot@busybox.net
Subject: [Buildroot] Qt5WebKit anf gcc 6.x
Date: Wed, 21 Sep 2016 19:22:42 +0000	[thread overview]
Message-ID: <1474485754.5453.8.camel@synopsys.com> (raw)
In-Reply-To: <20160921210949.7ce47d0c@free-electrons.com>

Hi Thomas,

On Wed, 2016-09-21 at 21:09 +0200, Thomas Petazzoni wrote:
> 
> Hello,
> 
> On Wed, 21 Sep 2016 15:28:21 +0000, Alexey Brodkin wrote:
> 
> > 
> > 
> > In its turn "-isystem XXX/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include"
> > appears in ICU's check Makefile because
> > --------------------->8-------------------??
> > ./pkg-config_wrapper.sh --cflags icu-i18n
> > -IXXX/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include
> > --------------------->8-------------------??
> > and that include path matches with one entry from?QMAKE_DEFAULT_INCDIRS.
> > In that case qmake makes an assumption that it's a system path and adds "-isystem".
> 
> Are you sure about this? I don't see this happening anywhere in the
> qmake source code. I do see some isystem related code around
> QMAKE_CFLAGS_ISYSTEM and INCLUDEPATH.

Take a look here:?https://github.com/qt/qtbase/blob/dev/qmake/generators/unix/unixmake2.cpp#L179
That's what I mean:
--------------------->8-------------------
? ? t << "####### Compiler, tools and options\n\n";
????t << "CC????????????= " << var("QMAKE_CC") << endl;
????t << "CXX???????????= " << var("QMAKE_CXX") << endl;
????t << "DEFINES???????= "
??????<< varGlue("PRL_EXPORT_DEFINES","-D"," -D"," ")
??????<< varGlue("DEFINES","-D"," -D","") << endl;
????t << "CFLAGS????????= " << var("QMAKE_CFLAGS") << " $(DEFINES)\n";
????t << "CXXFLAGS??????= " << var("QMAKE_CXXFLAGS") << " $(DEFINES)\n";
????t << "INCPATH???????=";
????{
????????QString isystem = var("QMAKE_CFLAGS_ISYSTEM");
????????const ProStringList &incs = project->values("INCLUDEPATH");
????????for(int i = 0; i < incs.size(); ++i) {
????????????const ProString &inc = incs.at(i);
????????????if (inc.isEmpty())
????????????????continue;

????????????if (!isystem.isEmpty() && isSystemInclude(inc.toQString()))
????????????????t << ' ' << isystem << ' ';
????????????else
????????????????t << " -I";
????????????t << escapeFilePath(inc);
????????}
????}
--------------------->8-------------------

For G++ "QMAKE_CFLAGS_ISYSTEM = -isystem", see?https://github.com/qt/qtbase/blob/dev/mkspecs/common/gcc-base.conf#L47

That's how include path gets prefixed with either normal "-I" if path has no matches in
QMAKE_DEFAULT_INCDIRS otherwise "-isystem " prefix is used.

> 
> In any case, I believe this is where the problem is: I don't see why
> Qt5 should mess up with the addition of -isystem flags.

Agree, but see what Qt people say in similar bug reports:
https://bugreports.qt.io/browse/QTBUG-53367
https://bugreports.qt.io/browse/QTBUG-53375

And BTW that commit added all this mess:
http://code.qt.io/cgit/qt/qtbase.git/commit?id=0b144bc76a368ecc6c5c1121a1b51e888a0621ac

-Alexey

  reply	other threads:[~2016-09-21 19:22 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-21 15:28 [Buildroot] Qt5WebKit anf gcc 6.x Alexey Brodkin
2016-09-21 19:09 ` Thomas Petazzoni
2016-09-21 19:22   ` Alexey Brodkin [this message]
2016-09-22  6:10     ` Thomas Petazzoni
2016-09-22  7:45   ` Alexey Brodkin

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=1474485754.5453.8.camel@synopsys.com \
    --to=alexey.brodkin@synopsys.com \
    --cc=buildroot@busybox.net \
    /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