Mac OS 9 Developer Tools and SDK Releases
During the lifecycle of Mac OS 9 from 1999 to 2001, Apple released a distinct suite of software development kits (SDKs), transition libraries, and programming utilities to support the operating system while laying the groundwork for Mac OS X. This article outlines the primary developer tools and SDKs deployed alongside Mac OS 9 and its point updates (Mac OS 9.0.4, 9.1, 9.2, and 9.2.2), focusing on API transitions, multimedia frameworks, and system-level enhancements.
Carbon SDK and CarbonLib Updates
The most critical developer release alongside Mac OS 9 was the Carbon API framework. Carbon allowed developers to modify existing Classic Mac OS codebases to run natively on both Mac OS 9 and the emerging Mac OS X platform without requiring a complete rewrite in Cocoa.
To facilitate this, Apple shipped the Carbon SDK alongside incremental updates of CarbonLib:
- CarbonLib 1.0 to 1.1: Released with Mac OS 9.0 and 9.0.4, establishing foundational C-based APIs for window management, event handling, and memory.
- CarbonLib 1.2 to 1.4: Deployed alongside Mac OS 9.1, providing expanded API parity with early Mac OS X public releases and better process isolation.
- CarbonLib 1.5 and 1.6: Bundled with Mac OS 9.2 and 9.2.2, fine-tuning Classic Environment compatibility when running inside Mac OS X.
The Carbon SDK included updated Universal Interfaces (C and Pascal header files), sample code, and linking stubs required to build dual-compatible software.
Mac OS System SDKs and Universal Interfaces
With each major revision of Mac OS 9, Apple distributed comprehensive system SDKs through the Apple Developer Connection (ADC). These SDKs included:
- Universal Interfaces 3.3 to 3.4.1: Updated header files for C and Pascal developers targeting Classic APIs, updating definitions for the File Manager, Event Manager, and Memory Manager.
- Mac OS 9.1 SDK: Added interface files for the revised Finder, enhanced USB and FireWire stacks, and modernized Sound Manager 3.6.5 calls.
- Mac OS 9.2 SDK: Primarily targeted subsystem stability and Classic Environment interoperability within Mac OS X, offering optimized headers for multi-processing and network threading.
Keychain SDK
Mac OS 9 made the Keychain architecture a core operating system feature rather than an optional utility. Apple released the Keychain SDK, which provided APIs for password management, digital certificates, and shared credential storage, allowing third-party developers to integrate centralized credential management into their applications.
Macintosh Programmer's Workshop (MPW) Updates
Although Metrowerks CodeWarrior was the dominant third-party IDE of the era, Apple maintained its internal toolset, the Macintosh Programmer's Workshop (MPW). Alongside Mac OS 9, Apple shipped:
- MPW-GM and Final Updates: Packaged with the latest MrC/MrCpp compilers and the SC/SCpp compilers.
- Carbon-enabled Linkers: Tool updates within MPW
that could emit PEF (Preferred Executable Format) binaries linked
against
CarbonLib.
QuickTime and OpenGL SDKs
Multimedia and hardware-accelerated 3D graphics received significant developer support during the Mac OS 9 era:
- OpenGL 1.1.2 and 1.2.1 SDKs: Apple formally replaced the proprietary QuickDraw 3D engine with industry-standard OpenGL during Mac OS 9. The associated SDK provided headers, libraries, and diagnostic utilities for hardware acceleration on ATI and NVIDIA cards.
- QuickTime 4 and QuickTime 5 SDKs: Introduced alongside Mac OS 9 and Mac OS 9.1 respectively, these SDKs gave developers APIs for streaming media, interactive vector graphics, and new audio compression codecs.
Macintosh Runtime for Java (MRJ) SDKs
Apple shipped MRJ 2.2 alongside Mac OS 9, updating the runtime to support Java 1.1.8 specifications. The accompanying MRJ SDK included:
- JBind: A tool allowing Java applications to invoke native Mac OS APIs.
- JManager: APIs enabling C/C++ applications to embed the Java virtual machine directly into Classic Mac OS software.