At 11:48 AM -0500 11/25/12, Jeremy Huddleston Sequoia wrote:
On Nov 25, 2012, at 8:54 AM, Bradley Giesbrecht <[email protected]> wrote:
On Nov 24, 2012, at 8:10 PM, Ryan Schmidt wrote:
One idea that occurs to me is modifying the compiler.blacklist
syntax. For example:
"compiler.blacklist clang" would blacklist all versions of clang,
as it does now.
"compiler.blacklist clang<318.0.61" would blacklist clang builds
less than 318.0.61 (cairo might use this).
"compiler.blacklist clang>=421.11.66" would blacklist clang
builds greater than or equal to 421.11.66 (mpich might use this).
"compiler.blacklist 421.11.66<=clang<444" would blacklist clang
builds greater than or equal to 421.11.66 and less than 444 (mpich
might use this, if whatever clang bug it hit is fixed in some
hypothetical future clang build 444).
Would the last example be easier to write, read, debug and
document as key/value pairs over two line?
compiler.blacklist clang<444
compiler.blacklist clang>=421.11.66
Unfortunately that won't work as the first would be overwritten by
the second ... even with the use of -append, the default logic of
the blacklist is "or" for each element. I'd suggest that if the
element is a list, then it is examined for versions. If it is a
literal, then the entire family is blacklisted. I like something
like this:
# All clang versions blacklisted
compiler.blacklist-append clang
# clang < 308 blacklisted:
compiler.blacklist-append {clang < 308}
# clang >= 421.11.66 and < 444 blacklisted
compiler.blacklist-append {clang >= 421.11.16 < 444}
Not sure how the parsing works for the last example. For
mythtv-core.25, I tested a bunch of compilers to find a few that
worked. Eg:
# See https://trac.macports.org/ticket/35934
compiler.blacklist llvm-gcc-4.2 macports-llvm-gcc-4.2 macports-clang-3.1 \
dragonegg-3.0 dragonegg-3.1 apple-gcc-4.2
compiler.fallback-append macports-clang-3.0
# Run time failures with XCode 4.4.x and 4.5.0
if {[vercmp $xcodeversion 4.4] >= 0} {
compiler.blacklist-append clang
}
# TODO: This should be done by base
# https://trac.macports.org/ticket/32542
if {${configure.compiler} == "macports-clang-3.0"} {
depends_build-append port:clang-3.0
depends_skip_archcheck-append clang-3.0
}
Assuming that some future version of Apple clang starts working (say
the "444", above), how would this be expressed?
Craig
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo/macports-dev