I seem to recall a long time ago that when you installed Mac OS X you also got a bunch of cool Unix command line developer tools, including a C compiler, debugging tools and much more. I’m taking a C programming class at the local community college and would like to install these tools, but have no idea where they are any more. Help?
Ah yes, join us now as we travel back in time and visit the software development environment of yesteryear, the Unix command line. Thrill as we see obfuscated error messages from the C compiler, gasp as we come face to face with “vi” and weep in anticipatory frustration as we try to use “gdb” to figure out what the heck’s wrong with our simple “hello world” application.
Actually, I have always enjoyed programming in C and have written some quite massive applications in the language. I still dabble in the language, actually, as I find it to be fast, flexible and logical for tasks that can’t be forced into a shell script template. I tried object-oriented programming and was even a professional LISP programmer for a while, but never quite wrapped my brain about the concept.
Anyway, Apple does include a C development environment – and quite a bit more – with every copy of Leopard, along with earlier versions of Mac OS X, but truth be told, you need to know one key thing: the Apple development environment toolset is called Xcode.
Now you can drop your install (or restore) disk into your drive and know how to proceed. I am going to be working off an original Leopard OS, but XCode is included with all modern releases of Mac OS X, as far as I am aware.
When you open up the install DVD, you’ll see that in addition to the cool “Install Mac OS X” icon, there’s also a folder labeled “Optional Installs”. That’s what you want.
Within there’s an icon labeled “Optional Installs.mpkg”. That’s not what you want, so don’t click on it. Instead, go into the folder “Xcode Tools”, where you’ll see three installers: “Dashcode.pkg”, “WebObjects.mpkg” and “XcodeTools.mpkg”.
Double-click on “XcodeTools.mpkg” to get started.
Get past the license agreements (yawn) and click on “Customize” and you’ll see what’s about to be installed:
The key one to ensure you have selected is “UNIX Development Support” which gives you access to all the handy commands and tools you seek.
Given that you aren’t developing Mac applications with a GUI but want to just experiment with the C language, I suggest that you unselect “Core Reference Library”, which is described by Apple as:
“An Xcode documentation set consisting of Apple’s Mac OS X and Developer Tools technical resources, including Guides, Reference, Release Notes, Sample Code, Technical Notes, and Technical Q&As. This content is relocatable and placed inside a location chosen by the user (default is /Developer on the boot volume).”
After dropping that off the list, it’s still a fairly substantial installation of 1.9GB, but I have a sense we can prune that down further once everything’s added, which I’ll do by clicking on “Install”.
About ten minutes later, it’s installed and I quit the install program and open up, of course, a Terminal window (Applications -> Utilities -> Terminal.app) and immediately move to “/Developer” to see what’s new:
About Xcode Tools.pdf Headers/ SDKs/
Applications/ Icon? Tools/
Documentation/ Library/ usr/
We could dig into things and prune down the installation at this point, as shown here:
84K About Xcode Tools.pdf
but, really, let’s get into playing with the tools instead. Far more fun.
It turns out that all the tools are tucked into “/Developer/usr/bin”. Go there and you’ll find all your favorite developer apps, from ar and cpp to cvs, flex, gcc (the key app: that’s the GNU C compiler), lex, m4 and, oh, so many more tools that will bring a tear of joy to your geeky command line eye.
And so, a simple C program:
Compiled and run:
Now we’re rockin’. At least, in an old-school programmer geek sense.