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}


_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to