[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