Question about compiler blacklisting (llvm-gcc for wxWidgets)

Mojca Miklavec mojca at macports.org
Wed Nov 1 16:29:49 UTC 2017


Hi,

I'm currently trying to fix wxWidgets-3.0 in various ways. One of the
problems of the latest release is that it compiles fine with both
clang >= 500 and llvm-gcc. If I blacklist clang < 500 on Lion, it will
fallback to llvm-gcc which works in principle, but I don't know
whether it makes more sense to compile with, say, clang 3.4, or with
llvm-gcc. Suggestions?

The additional complication is that any port which builds against
wxWidgets needs to use (more or less) the same compiler for both
compiling wxWidgets and the port that depends on it. Add to that that
ports that need both perl and wxWidgets probably need a compatible
compiler for all three?

If I just blacklist one compiler for wxWidgets (but not for the ports
depending on it), I'll get a build failure on any other port that
builds against it. That's partly because wxWidgets does some testing
of compiler features and writes some of the results to the headers
which are then included in the sources of dependent software. (I
believe the reason for a failure of clang 425 on 10.7 is just some
incorrectly implemented test, but I'm not too eager to debug that if I
can simply switch the complier and get it working.)

At least I'm sure that the build of dependent ports fails if wxWidgets
is built with a more capable compiler. I'm not sure whether things
work out of the box if one uses a less capable compiler for compiling
wxWidgets and then some C++11 capable compiler for a dependent port,
but I expect problems as well.

What's the proper blacklisting? Since llvm-gcc-4.2 seems to work fine,
I'm tempted to blacklist llvm-gcc just on Lion and newer, while
letting 10.6 build with its default compiler (llvm-gcc). I didn't test
10.6 yet though. Is that too weird? Does anyone have a better
suggestion?

Meanwhile I need to debug some weird side effects, like p5-wx trying
to compile with
    /opt/local/clang++ -stdlib=libc++-mp-3.4
for example. I didn't ask it to do anything like that.

Thank you,
    Mojca


More information about the macports-dev mailing list