compiler.whitelist and compiler installation side-effects

Ryan Schmidt ryandesign at
Wed Sep 23 14:13:58 PDT 2015

On Sep 23, 2015, at 3:49 PM, René J.V. Bertin wrote:

> On Wednesday September 23 2015 15:35:38 Ryan Schmidt wrote:
>> That sounds like a busted build system which should be fixed.
> It's only partly the fault of the build system; the rest is an interplay between compiler limitations and code requirements.

Compiler limitations and code requirements dictate which versions of a compiler can be used. That's fine. The part of the build system that's apparently busted is that it does not allow you specify the location where a working compiler can be found.

>> Sounds like the Qt build system sucks, and should ideally be fixed to obey the CC and CXX environment variables, like other proper build systems do. I know, Qt is an enormous project and I wouldn't want to dive into their build system to fix this either.
> Yep. I have a hunch though they did things this way to have ... reproducible builds. On the systems that they support officially. They also have to cope with the fact that Xcode can be installed anywhere, and not all users have the commandline tools in their path (I presume).

They're welcome to try to find a suitable compiler by whatever means they want, if the user does not specify one by setting CC and CXX. But if the user does set CC or CXX, it is broken not to honor that.

> But, I did take that dive and patch a number of places (but still have to go in *after* the configure step and install properly configured versions of files that would otherwise be created by qmake, with the wrong compiler info).
> And there's no way I'm going to try to get that accepted "upstreams" (they're no longer called Trolltech, nor Borgtech though that would be appropriate :)).

I don't see why they would reject a patch to make their build system behave more like packagers are used to, and that would make it easier for packagers to provide their software to users.

More information about the macports-dev mailing list