[126852] trunk/dports/devel/mpfr/Portfile

Ryan Schmidt ryandesign at macports.org
Thu Oct 16 09:42:52 PDT 2014


> On Oct 16, 2014, at 11:29 AM, Ryan Schmidt wrote:
> 
>> On Oct 16, 2014, at 9:24 AM, davidnichols at macports.org wrote:
>> 
>> Revision
>> 126852
>> Author
>> davidnichols at macports.org
>> Date
>> 2014-10-16 07:24:39 -0700 (Thu, 16 Oct 2014)
>> Log Message
>> 
>> blacklisted the Xcode 4.2 compiler so that the mpfr lib can be build with threading enabled and therefore programs (such as Qore) that require a thread-safe mpfr library no longer assert() and otherwise crash due to threading issues with the mpfr library
>> Modified Paths
>> 
>> 	• trunk/dports/devel/mpfr/Portfile
>> Diff
>> 
>> Modified: trunk/dports/devel/mpfr/Portfile (126851 => 126852)
> 
>> @@ -84,8 +85,10 @@
>> 
>> # Due to radr://10291355 (llvm.org PR11111), the new tls support enabled in clang with Xcode 4.2
>> # miscompiles mpfr. While this was fixed in Xcode 4.2.1, as the ttls support was never used prior to
>> -# Xcode 4.2, the generic fix is to pass --disable-thread-safe to configure.
>> -configure.args      --disable-thread-safe
>> +# Xcode 4.2, the generic fix is to pass --disable-thread-safe to configure, however this will break
>> +# any project that requires a thread-safe mpfr library, therefore the Xcode 4.2 compiler is
>> +# blacklisted here
>> +compiler.blacklist *llvm-gcc-4.2
> 
> I'm not sure I understand the reference to "the Xcode 4.2 compiler" here. Xcode 4.2, like Xcode versions before it, comes with more than one compiler. llvm-gcc-4.2 is one of them, but it also includes clang; clang is the default even. So if the problem is, as the comment states, that Xcode 4.2's clang miscompiles mpfr, then you need to use the compiler_blacklist_versions portgroup to blacklist Xcode 4.2's version of clang.

Oh: I forgot: we changed the default compiler for Xcode 4.2 from clang to llvm-gcc-4.2 in r118085 to match Xcode 4.1 and 4.0.

Still, we have a mismatch between the comment and the blacklist. Either the comment is wrong or incomplete, or the blacklist is wrong or incomplete.



More information about the macports-dev mailing list