How to carbonize an EMSAPI plug-in ================================== Update to latest SDK. Need latest version of emsapi-component.c and emsapi-mac.h Create a carbon target cloned from the ppc target Switch to carbon target Remove InterfaceLib and any other OS stub libraries using project inspector Add CarbonLib stub library to carbon target Add the "MSL RuntimePPC.Lib" library to the carbon target if not already there. Open carbon target settings PPC Target Change project type from Code Resource to Shared Library Probably want to give it a different file name (xxx Carbon) Set creator to your signature and type to thng C/C++ Language Prefix File: MacHeadersCarbon If you are not using MacHeaders define the following: #define TARGET_API_MAC_CARBON 1 PPC Linker If your entry point is a routine descriptor such as MainRD, change it to the main function. Main: main Save and close carbon target settings Replace the 'thng' resource. An easy way to do this is to create a thngCarbon.r file and add it in the project linking AFTER a resource file that may contain the 'thng' resource for the 68K and PPC versions. It should contain the following: #define UseExtendedThingResource 1 #define thng_RezTemplateVersion 1 #include "Components.r" #define platformPowerPCNativeEntryPoint 5 resource 'thng' (128) { 'ecTL', // Note special 'ecTL' type for Carbon plugins 'UPlo', // Put in your signature here 'CSOm', 0, 0, 0, 0, // Make sure the following are correct 'STR ',128, 'STR ',129, 'ICON',128, 0x00030000, // Version goes here componentHasMultiplePlatforms + componentDoAutoVersion, 128, { 0,'cfrg',0,platformPowerPCNativeEntryPoint } }; Try to build and fix all carbon-related problems. Note: ===== This will create a plug-in that works on OS X only. For OS 8/9, just use your current plug-ins. OS 8/9 carbon does not support components, but the 8/9 versions will work with Carbon Eudora.