compiler.blacklist
Craig Treleaven
ctreleaven at cogeco.ca
Sun May 4 06:57:24 PDT 2014
At 10:28 PM -0500 5/3/14, Ryan Schmidt wrote:
>On May 3, 2014, at 07:28, Craig Treleaven wrote:
>> At 8:34 PM -0500 5/2/14, Ryan Schmidt wrote:
>>> On May 2, 2014, at 20:20, Craig Treleaven wrote:
>>>>
>>>> For my mythtv-core.xx ports, I want to blacklist clang prior to
>>>>XCode 5, so I added:
>>>>
>>>> compiler.blacklist-append { clang <= 500.2.79 } \
>>> > macports-clang*
>>>>
>>>> That doesn't work when I build on Lion with XCode 4.3.3 (clang
>>>>318.0.61)--it tries to build with clang and falls over.
>>>
>>> That sounds like you may not have included the
>>>compiler_blacklist_versions 1.0 portgroup. If you do that, it
>>>should do what you say: blacklist all MacPorts clangs, and Xcode
>>>clangs less than 500. So on Macs with Xcode 4 or earlier, you'll
>>>be building with llvm-gcc-4.2 or gcc-4.2. Is that really what you
>>>want? If Xcode 5's clang is ok, presumably MacPorts clang 3.5
>>>would work too, maybe even 3.4, and those would probably be
>>>preferable to the old llvm-gcc or gcc.
>>
>> You are indeed correct; the line to add the
>>compiler_blacklist_versions portgroup got dropped somewhere along
>>the way. And the buildbots were down when the change was committed.
>>
>> Is this something that lint could be made to pick up? ie a
>>compiler version comparison used but required PortGroup missing?
>
>Good idea. Done in r119714.
>
>Ultimately the workings of the compiler_blacklist_versions portgroup
>should be incorporated into base instead.
>
>
>> Pre-XCode 5, Myth builds and runs fine with gcc and llvm-gcc. The
>>the upstream project only recently put in some fixes that allow it
>>to build with later versions of clang.
>>
>> Re MacPorts-supplied versions of clang, I simply haven't tried to
>>build with them. I cribbed that section from qt4-mac port since it
>>had the same issue with LIBRARY_PATH that I had. The
>>'macports-clang*' exclusion is probably extraneous but I wanted to
>>be sure to use know-working compilers, only.
>
>There may be some small difference between MacPorts clang and Xcode
>clang, but the primary difference is the version numbering.
>
>According to our XcodeVersionInfo wiki page, Xcode 5.0 came with
>"Apple LLVM version 5.0 (clang-500.2.75) (based on LLVM 3.3svn)".
>"LLVM 3.3svn" means that this version corresponds to some version of
>LLVM that is greater than 3.3 and less than 3.4. So if you already
>know that Xcode 5's clang works, and earlier Xcodes' clangs don't
>work, then you also know that MacPorts clang 3.3 and earlier won't
>work either, and MacPorts clang 3.4 and later should work.
Thanks, I'll add this to the list of things to test. I'm a bit
gunshy about compilers. After XCode 4.4 came out, the port would
compile with certain compilers but threw runtime failures (seemingly
deep in libunwind). I never did find the cause of the problem, but
with help, we found certain combinations that worked and stuck with
them. Don't want to re-awaken the monsters! ;)
Craig
More information about the macports-dev
mailing list