May 00 Factory Floor
Volume Number: 16
Issue Number: 5
Column Tag: Programming
CodeWarrior for Mac OS X
By Joe Hayden and Matt Henderson, Metrowerks, all rights reserved'
CodeWarrior for Macintosh, Release 6
What's going on with Release 6?
Joe: A lot! Since the CodeWarrior Release 5.3 Update went out in December, we have
been working full-steam on Release 6. This is going to be our best and most stable
release to date, and we expect to ship the product this Summer. I'll go through some of
the new features below, the main one being targeting and hosting on Mac OS X. Apple
has built a great OS and we are excited to be providing the tools that the Mac developer
community will be using to target it.
IDE 4.1 will be a Carbonized PEF application. It will run on any Mac OS
supporting the CarbonLib extension (currently Mac OS 8.1). On Mac OS X the IDE will
have the new Aqua look and feel. Under Mac OS 8.1 - 9, it will retain the Classic Mac
OS interface.
A new IDE feature enhances Preference Panels, allowing you to import and export
to and from XML. We are adding a new Shielded Folders panel that gives the ability to
specify which files and folders are skipped during certain operations. Previously, this
was accomplished by enclosing the folder name with parentheses. The Shielded Folders
panel will let you better define the type of operation for which a given folder should be
shielded. For example, you may want to skip a folder for a build, but include it for a
file compare operation. This feature will help you meet that demand. We've also added
new controls to the Source Tree and File Mappings panels that make working with them
more intuitive. In addition, the Remove Object Code dialog will have an option to
recurse sub-projects.
The new Debugger will support single machine debugging on Mac OS X as well as
remote debugging to X. There will also be new panels and a new UI for better remote
debugging support in general.
MSL has been Carbonized. The SiouxWASTE text engine has been updated to WASTE
2.0 for use with Carbon. Other changes since the Release 5.3 Update include new hash
containers and vector classes and further reorganization to clean up the increasing
number of shared libraries. Multi-target projects will replace MSL Build Libraries,
which are being moved to an Obsolete folder. Scripts will be available to load and build
the common libraries from the IDE.
An updated Carbonized PowerPlant, Carbonized Profiler, and Carbonized
PowerPlant Constructor with Aqua interface will be included in the new release.
What about Mach-O support?
Matt: Apple has told us that Mach-O is the preferred object file format for Mac OS X,
and CodeWarrior will support it fully. Already, we've released preliminary versions
of our PowerPC C/C++ compiler and linker that can build Mach-O executables. These
tools are available on CodeWarrior for Mac Release 5, and will be updated on Release
6. However, they will remain in the pre-release folder in this release.
Our Mach-O compiler is, of course, based on the same C/C++ front-end and
PowerPC optimizer that our PEF tools have been using for years. Thus, developers who
need to build Mach-O versions of their products can expect the same high level of
language conformance and code quality that our existing Mac compiler provides.
Likewise, PowerPlant and MSL have been fully Carbonized, so developers can use
them to build Mach-O applications without difficulty.
The IDE does not yet support debugging Mach-O executables, but it will. There
are still a number of low-level issues to work out regarding our debugger and
Mach-O, and we've already started. You can expect to see full Mach-O debugging
support for CodeWarrior in a future release.
At WWDC this month, we'll be providing a road map for our CodeWarrior for Mac
products. This will include details on our Mach-O support.
What do you think about Mac OS X and Aqua?
Matt: As a company, Metrowerks is ecstatic about Mac OS X. It's amazingly powerful,
it's beautiful to look at, and best yet, it's going to ship. To borrow a phrase, it's
"insanely great," and we can't wait until Mac OS X is everywhere.
A lot of us at Metrowerks remember what it was like just after Apple introduced
the PowerPC, and that's the level of excitement that Mac OS X has brought to us. We
love to watch Apple push the OS envelope, and we're going to help them do that by
enabling Mac developers to get their products onto OS X as quickly and easily as
possible.
As for Aqua, I'm responsible for a lot of the IDE's user interface, so I've been
thinking about it a lot. Like most everyone else, we had no idea that Aqua was on its
way. The first time that I saw it was on Apple's web site during MacWorld Expo in
January. I was stunned, and more than a little skeptical. Since then, I've had the
opportunity to use and work with Aqua, and it's completely won me over. What's most
impressive about Aqua is not what's new and different, but how familiar it feels. It's
very obvious that Mac OS X is Mac OS, and I think that it's a great triumph for Apple's
Aqua designers that they've created an interface that's at once astonishingly innovative
and also completely comfortable.
What's going on with MPTP?
Joe: MPTP is alive and well. There have been some changes, including a new
administrator, and it is taking a little time to get things running as smoothly as before.
There was some concern about a message that went out in February about the MPTP
server being temporarily unavailable. This was due to some minor changes being made
to our network and it was back up a short time later. Unfortunately, we didn't follow
up with a message indicating that the service was resumed, causing some people to
think we may discontinue MPTP. This is certainly not the case. In fact, by the time this
is published, most if not all Release 6 components should be available from MPTP.
What is the future of CodeWarrior for Macintosh?
Matt: Since Metrowerks is now part of Motorola's Semiconductor Product Sector (SPS)
and Apple is Motorola SPS's largest customer, CodeWarrior for Mac OS will continue
to be top priority for Metrowerks. The vast majority of software for Mac OS is created
with CodeWarrior, so the benefits of CodeWarrior for Mac OS to Motorola SPS are
obvious.
With Release 6, you'll see us take care of all the basics for Mac OS X development.
After that, we're going to work hard to make sure that developers can fully exploit the
power of Mac OS X. In particular, we plan to rapidly incorporate support for new Mac
OS X technologies into PowerPlant. Expect to see PowerPlant classes for Apple's new
Carbon Events API, the CoreFoundation APIs, the Data Browser API, pre-emptive
threading, and the Quartz graphics APIs.
Likewise, we're still hard at work on the rest of our Mac tools. We're improving
Java support for Mac OS, and full Java support for Mac OS X is on the way. Now that
the IDE has made the transition to Carbon, you can expect many new and cool IDE
features. And of course, we never let up on our compilers. We continue to work hard on
C/C++ language conformance and PowerPC code generation.
So, the future of CodeWarrior for Mac OS has never been brighter. CodeWarrior
was there for you when you needed to move to PowerPC, it's here for you now to move
to Mac OS X, and it will be there in the future as Mac OS continues to grow and become
more powerful.
______________________________
Joe Hayden is the Product Engineering Manager for CodeWarrior on the Macintosh.
He spends his time developing efficient ways to deliver large software products like
CodeWarrior. Write to him at jhayden@metrowerks.com.
Matt Henderson is a senior engineer on the CodeWarrior IDE team and Technical
Lead for CodeWarrior Mac OS X tools.