Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
New Features in Xcode 4.3 (developer.apple.com)
67 points by alwillis on Feb 16, 2012 | hide | past | favorite | 36 comments


Be aware that XCode doesn't install any CLI tools by default now; you'll have to install them manually (so moving to 4.3 will likely break Homebrew et. al.).

On the other hand; seems that the tools are now available as a standalone .dmg[1] (requires apple-ID login), so you can (finally!) install them without needing Xcode first if you'd rather not install it.

[1] https://developer.apple.com/downloads/index.action#

(EDIT: yep, they install sans Xcode)


If you install Xcode, within Xcode preferences in the Download pane you can have it download and install the command line tools for you. Works perfectly.

After that homebrew works without any issues.


Don't be surprised if they start moving GPLed packages like bash, ruby, and emacs into this free CLI tools download, making OS X "GPL clean".


You're kidding, right? It sounds like you don't know how the GPL applies to them or you think Apple is really dumb.

There is absolutely no reason to move those apps. They're binaries. The GPL only threatens them if the use free code in a nonfree program and don't distribute the source.

The only other option is Apple doing it out of spite, which would be stupid on all accounts.


At the very least Apple Legal is not comfortable shipping GPLv3 packages in OS X, even as binaries. This might be stupid - IANAL.

The GPL isn't the only other reason they might move more command-line functionality into a separate download - OS installation and download size is another.


There's some previous discussion on this point here: https://news.ycombinator.com/item?id=3559990 Someone noticed there are less and less GPL apps being distributed with Mac OS X.


This means that we can safely install /usr/bin/gcc without affecting Xcode's bundled gcc, and vice versa updating Xcode is guaranteed to not affect our custom /usr/bin/gcc. Sounds like a big improvement to me!


It looks like Apple pulled all the compilers and supporting apps into the app bundle itself, it no longer needs a /Developer folder on your machine. I believe this will make things a lot easier for those of us who develop web applications with things like ruby, python or help with compiling/installing open source apps using tools like homebrew. We should now be able to install our own GCC and Xcode on the same machine without having to deal with conflicting environments and defaults.

The initial trouble is going to be installing a normal gcc on your machine, a normal user can't compile a compiler without a compiler. I expect a nice installable binary package that is intended to be used with rvm, ruby and homebrew before too long...


Or you can have the user download the command line tools seperately and install those without first downloading Xcode. A 160MB download instead of a 1.72GB download.


Yes, I'm actually checking to see if it contains a plain gcc compiler (like Xcode 4.1 did), currently the llvm-gcc that is symlinked with /usr/bin/gcc with Xcode 4.2 doesn't work too well with software from rvm and homebrew.

edit: I just pulled down the Unix developer tools, it comes with llvm-gcc and clang. /usr/bin/gcc is symlinked with llvm-gcc. Any packages that need plain gcc will not work with the "command-line-tools-for-xcode.dmg" install. We'll have to keep using something like OSX-GCC-Installer (https://github.com/kennethreitz/osx-gcc-installer) for now.

Anyway, this is a positive move for those of us who want to be able to use Xcode and also need/want a normal gcc installation on the same machine.


I've had a LOT of good experience using clang instead of GCC for compiling a lot of different packages that say they require GCC. Honestly it is no surprise that Apple has stopped shipping an extremely outdated GCC and that they are not including a newer version of GCC due to the GPL v3.


Clang is better at compiling things than LLVM-GCC. It's the default in Homebrew with Xcode 4.3 and is only getting better. It seems to compile most things fine and what it doesn't we will actively try and fix if you file a bug.


I like the sound of that. While I recognize Xcode's aptness and broad qualities, I'm still really the Makefile'n'text editor kinda developer.


It looks like Apple worked with Kenneth Reitz (the guy who created that OSX-GCC-Installer on github) and it seems that the Command Line Tools for Xcode download from Apple is a result of that conversation. It also looks as if homebrew is going to support compilation using the official package from Apple. Read more: http://kennethreitz.com/xcode-gcc-and-homebrew.html


Auto matching brackets in gdb!!!! Fucking finally! I nearly fell out of chair as shear joy overcame me.


I found xcodebuild broken after installing Xcode 4.3 and the CLT. If you find yourself in a similar situation, run `sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer` to fix the newfound lack of a /Developer directory.


You can now have just the CLT tools with a small download... Cool. But what is the reason the huge Xcode download does not come with CLI tools?


Probably to make Xcode as MAS-compliant as possible? Dogfood and all.


Because it doesn't need them to do it's job?


One interesting thing in Mountain Lion: garbage collection is deprecated in favor of ARC.


Codename: "Matryoshka".


A feature missing from this description:

- launch Xcode

- close all windows

- make an other application active

Effect: Xcode quits (Activity Monitor does not show it)

A bug or a feature that we will see this system-wide?


This is called Automatic Termination and it's standard behaviour on Lion. Beginning OS X 10.7, the OS automatically suspends processes that are "safe to close" and opt in to Automatic Termination when certain conditions are met. It could happen even to TextEdit or any other app, not just Xcode.


Does anyone know where distcc+bonjour support went? This existed in 4.2.


So now I need to fire all of Xcode up just to do some icon editing or profiling some OpenGL code? :/ I hope these are at least still in the form of normal apps located within the Xcode bundle.


I'm guessing you won't need to start xcode. The apps can be kept in the dock for direct access.


Spotlight or quicksilver would be your friend in this case. The other developer utilities have been moved inside the Xcode.app bundle but you can access them and add them to the dock if you use them very frequently.


Interesting that it has hooks for all the other development tools... as long as they are made by Apple.


No CLT installed by default? That's just...weird.

No more /Developer folder or uninstall-devtools script? I sure hope that means it won't periodically decide to fuck itself like every previous version of Xcode, prompting one or more full-reinstall attempts.

I wish I were kidding. This is like taking the ejection seat boosters out of the fighter jet to save weight.


Everything is now contained within the .app, so a re-install is rm -rf /Applications/Xcode.app and then re-install.

The command line tools are easily installed from within Xcode -> Preferences -> Downloads or by downloading the .dmg from Apple's developer website and installing it by hand. Neither are the end of the world.


Can you explain plausible reasoning for not installing CLT by default? I'm willing to listen, I just don't get it.


Smaller download for people who don't need them?

Rather than distributing two copies of the tools (one with Xcode, and the (awesome) new CLI only tool distribution), they DRY it up and have one canonical package for everyone, reducing testing, packaging overhead, possibility for divergence between the two packages, etc, etc?


Good answer. I was lazy and didn't notice the CLI-only distro. Thanks-


man xcrun man xcode-select

The tools are already available, just not in the normal path locations. Also if you are modifying the files installed by the CLT installer such that they get messed up you are doing it wrong.


Because an enormous number of developers have no desire to use Xcode and are annoyed at having to download 1.3GB Xcode to get `gcc`.


Well, if XCode can serve its purpose (build and debug OS X apps) without the CLI, why should it have them included?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: