Question about compiler blacklisting (llvm-gcc for wxWidgets)

Ryan Schmidt ryandesign at macports.org
Thu Nov 2 14:16:29 UTC 2017


On Nov 2, 2017, at 06:39, Mojca Miklavec wrote:

> But generally the problems fall into some very similar category as
> mix-and-matching C++11 and pre-C++11 compilers. The wxWidgets does all
> kinds of build-time testing for various features and then remembers
> the results in some equivalent of config.h file. That file is then
> loaded when compiling dependent ports. For example, if you build
> wxWidgets with some "almost C++11" compiler which knows about
> "tr1/somelibrary" (known as "somelibrary" under C++11) and then
> compile a dependent port with C++11, it will try to search for
> "tr1/somelibrary" again and fail. If you build with some ancient
> compiler like gcc-4.2, it will also fail to find "tr1/somelibrary".
> 
> You could argue this is "terrible", but the situation is similarly
> "terrible" with other ports requiring C++11 on older systems. I could
> try to come up with a more precise analysis. I think that wxWidgets
> does some wrapping of certain functions, so that you can do certain
> stuff with, say, strings, that are not supported by older compilers
> (in which case wxWidgets provides implementation for you to achieve
> that goal easily), while the features of the new compilers would be
> used when available. I'm not 100% sure, but that was my impression.
> This simplifies the work for app developers, so that they don't need
> to make a zillion feature tests themselves.

So wait... does wxWidgets require C++11 or not? If it does, that settles the discussion; treat it like any other port that requires C++11 and include the cxx11-1.1 portgroup.

I see that we already have the wxWidgets-3.0-libcxx and wxWidgets-3.0-cxx11 subports... confusing.



More information about the macports-dev mailing list