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
_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev