qt5.port.mk breaks security/xca

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

qt5.port.mk breaks security/xca

Christian Weisgerber
http://build-failures.rhaalovely.net/amd64/2018-10-25/security/xca.log

security/xca breaks because it uses "cc" to link C++ code.  It also
uses "cc" to compile C++ code, but the compiler switches to C++
mode.  The link command does not.

xca's build framework uses the CC variable to hold the name of the
compiler.  configure correctly sets this to CC=c++.

Enter qt5.port.mk:

  MAKE_FLAGS +=   ${_MODQT5_SETUP}
  ...
  # useful?
  _MODQT5_SETUP +=        CC=${CC} CXX=${CXX}

This forces CC=cc into the build and breaks it.

Do we really need this forceful override in all ports that use Qt5?
There is no equivalent in qt4.port.mk.

We can work around it in the xca port, but working around a workaround
in the ports infrastructure feels silly.

--
Christian "naddy" Weisgerber                          [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: qt5.port.mk breaks security/xca

Vadim Zhukov
пн, 29 окт. 2018 г. в 0:00, Christian Weisgerber <[hidden email]>:

>
> http://build-failures.rhaalovely.net/amd64/2018-10-25/security/xca.log
>
> security/xca breaks because it uses "cc" to link C++ code.  It also
> uses "cc" to compile C++ code, but the compiler switches to C++
> mode.  The link command does not.
>
> xca's build framework uses the CC variable to hold the name of the
> compiler.  configure correctly sets this to CC=c++.
>
> Enter qt5.port.mk:
>
>   MAKE_FLAGS +=   ${_MODQT5_SETUP}
>   ...
>   # useful?
>   _MODQT5_SETUP +=        CC=${CC} CXX=${CXX}
>
> This forces CC=cc into the build and breaks it.
>
> Do we really need this forceful override in all ports that use Qt5?
> There is no equivalent in qt4.port.mk.
>
> We can work around it in the xca port, but working around a workaround
> in the ports infrastructure feels silly.

The CXX override was the one really needed, and I've added CC to make
things look like similar. Given that we don't have separate libc
installed with egcc, the CC= part probably could be dropped. I can't
test things right now, though — hope things will be better in
December, after leaving current job. :-\

--
  WBR,
  Vadim Zhukov

Reply | Threaded
Open this post in threaded view
|

Re: qt5.port.mk breaks security/xca

Christian Weisgerber
Vadim Zhukov:

> > Enter qt5.port.mk:
> >
> >   MAKE_FLAGS +=   ${_MODQT5_SETUP}
> >   ...
> >   # useful?
> >   _MODQT5_SETUP +=        CC=${CC} CXX=${CXX}
> >
> > This forces CC=cc into the build and breaks it.
> >
> > Do we really need this forceful override in all ports that use Qt5?
>
> The CXX override was the one really needed, and I've added CC to make
> things look like similar.

Why do we need the CXX override in the first place?

--
Christian "naddy" Weisgerber                          [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: qt5.port.mk breaks security/xca

Vadim Zhukov
вс, 4 нояб. 2018 г. в 19:35, Christian Weisgerber <[hidden email]>:

>
> Vadim Zhukov:
>
> > > Enter qt5.port.mk:
> > >
> > >   MAKE_FLAGS +=   ${_MODQT5_SETUP}
> > >   ...
> > >   # useful?
> > >   _MODQT5_SETUP +=        CC=${CC} CXX=${CXX}
> > >
> > > This forces CC=cc into the build and breaks it.
> > >
> > > Do we really need this forceful override in all ports that use Qt5?
> >
> > The CXX override was the one really needed, and I've added CC to make
> > things look like similar.
>
> Why do we need the CXX override in the first place?

To make sure we use eg++ when building Qt5 and Qt5-based stuff, while
allowing to use base (or whatever) compiler for arbitrary qmake-based
builds, since qmake can happily build non-Qt stuff as well.

--
  WBR,
  Vadim Zhukov