Maverics/Xcode 5 proposal: no more xcode-select --install

Ned Deily nad at acm.org
Tue Oct 29 15:34:21 PDT 2013


In article <50AC6A3D-A11C-4215-AD99-A4B61312F8E0 at angellane.org>,
 Paul Bennett <t21 at angellane.org> wrote:

> Is 'xcode-select --install' really necessary on Mavericks?
> 
> I propose that it isn't, and we should consider a port that fails to build 
> without as a bug.
> 
> Why?
> 
> Xcode 5 installs command-line shims for the toolchain. These invoke the 
> relevant actual tools in the SDK directories. So it's possible to install 
> many (most?) ports without 'xcode-select --install'. What that command does 
> do is put in place copies of the tools, plus other files that aren't covered 
> by the shims.
> 
> Take tuntaposx. The sole reason it requires 'xcode-select --install' is 
> because its Makefiles hard-code the path 
> /System/Library/Frameworks/Kernel.framework/Headers. If the port instead used 
> `xcrun --show-sdk-path` as a prefix, the port would build without 
> xcode-select.
> 
> So why require users to jump take the extra step on this one OS release? 
> Why not bite the bullet now and scrap the dependency?

This is not a new extra step on Mavericks.  For all recent releases of OS X, 
Macports (and many of the upstream ports it installs) have required the 
Command Line Tools (or its equivalent name) to be installed.  In Xcode 4, this 
was accomplished via the Xcode.app Preferences panel or by downloading and 
installing the standalone CLT installer package from the Apple Developer site.  
What's changed in Mavericks is using 'xcode-select --install' instead.

Finding all the places where all of the upstream ports expect installed 
include files and making sure they worked with an SDK via xcrun would likely 
be a nightmare.  It would be even worse if users attempted to use an SDK (say 
for 10.8) for their Macports builds while building on a system that had the 
CLT installed.  I know from personal experience how difficult it is to track 
down subtle problems that can be caused by this.  It's just not worth the 
effort especially since installing the CLT is not a new requirement.

-- 
 Ned Deily,
 nad at acm.org



More information about the macports-dev mailing list