All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.