Developer Tools on OS X 10.7 (Lion)

Developer Tools on OS X 10.7 (Lion)

Apple has made some big changes to their developer tools lately. The new Xcode 4 is a huge change from Xcode 3. I’ll admit that I’ve moved from “I hate it!!” to “I don’t hate it anymore.” But that took some time.

The other big change is that Xcode is now available only from the Mac App Store, of course for free. In previous versions when you installed the Developer Tools package, you'd get gcc, make, and all the usual developer tools you’d expect as part of the installation. Now “Developer Tools” means “the Xcode app.” If you install it and go to the command line, you might be a little surprised to still see this:

% make
-bash: make: command not found
% gcc
-bash: gcc: command not found
% cc
-bash: cc: command not found

You need to perform one more step. Open Xcode, and then go to Preferences ➔ Downloads and select the “Components” tab. There you can click the install button next to “Command Line Tools”.

Command Line Tools in Xcode

That’s it!

For those of you who miss the contents of the old /Developer directory read on. Its contents are not gone, but they now live inside the Xcode application itself. In the Finder, if you control-click (or right-click) on the Xcode icon and select “Show Package Contents”. But there are other ways to get to what you need; you don’t really need to go there. For example, to access the very handy File Merge tool, you get to it from the Xcode menu:

Developer Tools Menu

It’s rather annoying that Apple has “hidden” FileMerge like that, but hey, now you know where it is. What, you’ve never used it before?? It’s perfect for comparing two text files visually. Give a try — it’s a lot nicer than diff on the command line.

11 Comments

  1. After downloading Command Line Tools, what is the full path to make?
    Mac OS X 10.7.3, Xcode 4.3.1

  2. It seems the base package is no longer 'free'.
    How does one download the Command Line Tools without paying for support which is not needed?
    A major change from the PPC environment.

    • Demitri Muna

      @MichaelT Xcode is indeed still free - you just download it from the Mac App Store. You don't need to pay for anything to get it. Once downloaded, you can follow the directions above.

  3. NIgel Pearson

    Demitra, I also have had Xcode ask for an Apple Developer ID. Can provide screen shot if you don't believe us :-)

    I suspect you already entered one somewhere else in Xcode, or the OS?

    • Umm, how did you get Xcode and Developer Tools previously?

      Did you not go to the ADC downloads pages where you have to login with an Apple Developer ID?

      Unless you bought your mac and used only the Discs it came with which included Developer Tools...ever... would you not have.

      Basically, the same deal just implemented in a different context.

  4. Demitri Muna

    I am registered as an Apple Developer, yes, but I promise Xcode is free. It's possible that you might need a developer account (or to link your Apple ID that you use for iTunes) to download some additional component such as documentation. You can register (again, for free), here:

    https://developer.apple.com/programs/register/

    Let me know if you still have a problem with it!

  5. Thank you for posting this. It was a surprise to have make fail.

  6. Thanks for advice!
    I'm moving from ubunto to macos, and was very surprised there is such a long way to get 'make' tools :)

  7. I open Xcode and I go to preferences.
    However, I do not have an icone "Downloads" as it is show in figure.
    What did I do wrong ?
    Thanks,
    Mara

  8. FileMerge indeed a very useful tool. It is also available from the command line using /usr/bin/opendiff. This is nice to know if you want to use the tool from other software - IDEs, scripts, version control software, etc.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>