home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.qualcomm.com
/
2014.06.ftp.qualcomm.com.tar
/
ftp.qualcomm.com
/
eudora
/
developers
/
emsapi
/
readme_carbon_emsapi.txt
< prev
next >
Wrap
Text File
|
2002-03-27
|
2KB
|
65 lines
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.