Carbon__Apple_
Carbon__Apple_

== Macintosh Toolbox ==
Die , zu Deutsch auch Macintosh-Baukasten, ist jener Teil an Funktionsaufrufen des originalen Macintosh Systems (1984), die im ROM untergebracht und dadurch fest mit dem jeweiligen Macintosh-Computer verbunden waren. Lange Zeit war es von Apple so dargestellt worden, dass nur ein Apple-Computer die grafischen Funktionen auf diese Weise bereitstellen kann.
Die Toolbox erlaubt es Programmierern, bereitgestellte Funktionen der  zu nutzen, um auf einfache Weise vom System erstellte (und somit auch einheitlich aussehende) Fenster, Menüs, Kontrollkästchen und Dialogfelder zu erstellen und Ereignisse zu steuern. Auch Funktionen des Finder, der selbst nicht Teil des Toolbox-ROM ist, lassen sich über dieselbe Art von Funktionsaufrufen nutzen.
Im Laufe der Entwicklung der Macintosh System Software wurde die Programmierschnittstelle (API) stetig erweitert, etwa um QuickDraw und QuickTime. Undokumentierte Funktionen wurden jedoch auch gestrichen. So war mit System 7 (1991) die zuvor in Pascal programmierte API in C neu implementiert worden, was die Portierung des Betriebssystems von der m68k- auf die PowerPC-Architektur erleichterte. Auch wurde im Zuge des Projekts „Star Trek“ an einer Portierung von System 7 und damit auch der enthaltenen Programmierschnittstelle auf x86-PCs gearbeitet, diese wurde aber nicht fertiggestellt. Da viele Macintosh-Anwenderprogramme für System 6 undokumentierte Funktionen nutzten, mussten die Entwickler diese bereits für System 7 anpassen.
Ab 1997 versuchte Apple auf eine gänzlich neue Programmierschnittstelle zu wechseln: die von NeXT übernommene OpenStep-API, die mit dem Betriebssystemprojekt Rhapsody als Yellow Box und mit Mac OS X als Cocoa weiterentwickelt wurde. Dabei hätten jedoch alle existierenden Macintosh-Programme vollkommen neu geschrieben werden müssen. Die Hersteller von für Apple unverzichtbarer Anwendungssoftware gaben nach der WWDC 1997 zu verstehen, dass sie diesen Portierungsaufwand nicht in Kauf nehmen würden, woraufhin Apple notgedrungen einen großteils Quelltext-kompatiblen Ersatz für den Macintosh-Baukasten entwickeln musste. Dieser Ersatz ist Carbon, der mit Mac OS X eingeführt wurde und auch für das klassische Mac OS als CarbonLib verfügbar ist. Damit waren nur geringere Anpassungen am Quelltext nötig, damit ein bestehendes Macintosh-Programm für das Carbon-API neu kompiliert werden konnte, das dann auf beiden Betriebssystemen (Mac OS und Mac OS X) lauffähig ist.