[102258] trunk/base/src/port1.0/portconfigure.tcl

Jeremy Huddleston Sequoia jeremyhu at macports.org
Tue Jan 29 13:48:51 PST 2013


On Jan 29, 2013, at 12:46, Ryan Schmidt <ryandesign at macports.org> wrote:

> 
> On Jan 29, 2013, at 11:05, jeremyhu at macports.org wrote:
> 
>> Revision: 102258
>>         https://trac.macports.org/changeset/102258
>> Author:   jeremyhu at macports.org
>> Date:     2013-01-29 09:05:15 -0800 (Tue, 29 Jan 2013)
>> Log Message:
>> -----------
>> Use macports-llvm-gcc-4.2 as a backup instead of llvm-gcc-4.2 with XCode 4.6
>> 
>> It was announced that llvm-gcc is deprecated in XCode 4.6 and will be removed
>> in the next major release.  This updates base to fallback on the llvm-gcc42
>> port rather than the Apple-provided llvm-gcc when using this version of XCode
>> to allow developers using base trunk to find issues with ports that may exist
>> with the removal of llvm-gcc from XCode.
>> 
>> I do not reccomend shipping this change in the 2.1.x release series.
>> 
>> Modified Paths:
>> --------------
>>   trunk/base/src/port1.0/portconfigure.tcl
>> 
>> Modified: trunk/base/src/port1.0/portconfigure.tcl
>> ===================================================================
>> --- trunk/base/src/port1.0/portconfigure.tcl	2013-01-29 17:04:55 UTC (rev 102257)
>> +++ trunk/base/src/port1.0/portconfigure.tcl	2013-01-29 17:05:15 UTC (rev 102258)
>> @@ -448,6 +448,8 @@
>>        return $default_compiler
>>    } elseif {$xcodeversion == "none" || $xcodeversion == ""} {
>>        return {cc}
>> +    } elseif {[vercmp $xcodeversion 4.6] >= 0} {
>> +        return {clang macports-llvm-gcc-4.2 apple-gcc-4.2}
>>    } elseif {[vercmp $xcodeversion 4.2] >= 0} {
>>        return {clang llvm-gcc-4.2 apple-gcc-4.2}
>>    } elseif {[vercmp $xcodeversion 4.0] >= 0} {
> 
> I was just looking at this code earlier and was going to suggest something similar. If the goal here is to help maintainers find differences between llvm-gcc-4.2 and macports-llvm-gcc-4.2 that might cause problems for ports, then fine, but it would be more correct to check Xcode version >= 4.7, wouldn't it? No reason why the llvm-gcc-4.2 in Xcode 4.6 shouldn't be used, right?

The goal of this change is to have developers see what life might be like without the llvm-gcc-4.2 compiler being available as a fallback.

Since Xcode 4.7 doesn't exist, using that that won't help anyone currently developing until 4.7 is shipped (and thus in our users hands … users who will be upset because their ports stopped building because we didn't prepare for that known eventuality).

As I suggest in the comment, this is not a change that we should ship out in 2.1.x, and I would certainly be willing to bump that check to 4.7 on a release branch, but I think that having it at 4.6 on trunk is the right choice.

On a side note, our llvm-gcc42 port has fixes not shipped by Apple (as does our apple-gcc42 port), so there is some logic in just using it going forward for 4.6.

--Jeremy



More information about the macports-dev mailing list