/*
 * DO NOT MODIFY THIS FILE -- IT IS AUTOGENERATED!
 *
 * Platform specific defs for externs.  This was pretty much
 * copied from AppKitDefines.h
 */

//
//  OpenStep/Mach
//

#if defined(__MACH__)

#ifdef __cplusplus
/*
 * This isnt extern "C" because the compiler will not allow this if it has
 * seen an extern "Objective-C"
 */
#define <FRAMEWORK_NAME>_EXTERN		extern
#define PRIVATE_EXTERN		__private_extern__
#else
#define <FRAMEWORK_NAME>_EXTERN		extern
#define PRIVATE_EXTERN		__private_extern__
#endif

#define <FRAMEWORK_NAME>_EXTERN_IMP	PUBLIC_EXTERN
#define PRIVATE_EXTERN_IMP	PRIVATE_EXTERN


//
//  OpenStep/NT
//

#elif defined(WIN32)

#ifndef _OMNIMAKE_BUILDING_<FRAMEWORK_NAME>_DLL
#define _OMNIMAKE_<FRAMEWORK_NAME>_WINDOWS_DLL_GOOP	__declspec(dllimport)
#else
#define _OMNIMAKE_<FRAMEWORK_NAME>_WINDOWS_DLL_GOOP	__declspec(dllexport)
#endif

#ifdef __cplusplus
#define <FRAMEWORK_NAME>_EXTERN		_OMNIMAKE_<FRAMEWORK_NAME>_WINDOWS_DLL_GOOP extern "C"
#define PRIVATE_EXTERN		extern "C"
#else
#define <FRAMEWORK_NAME>_EXTERN		_OMNIMAKE_<FRAMEWORK_NAME>_WINDOWS_DLL_GOOP extern
#define PRIVATE_EXTERN		extern
#endif

#define <FRAMEWORK_NAME>_EXTERN_IMP	PUBLIC_EXTERN
#define PRIVATE_EXTERN_IMP	PRIVATE_EXTERN


//
//  OpenStep/Solaris and/or Solaris/PDO
//

#elif defined(sun)

#ifdef __cplusplus
#  define <FRAMEWORK_NAME>_EXTERN		extern "C"
#  define <FRAMEWORK_NAME>_PRIVATE_EXTERN		extern "C"
#else
#  define <FRAMEWORK_NAME>_EXTERN		extern
#  define <FRAMEWORK_NAME>_PRIVATE_EXTERN		extern
#endif

#define <FRAMEWORK_NAME>_EXTERN_IMP	<FRAMEWORK_NAME>_EXTERN
#define <FRAMEWORK_NAME>_PRIVATE_EXTERN_IMP	PRIVATE_EXTERN

//
// PDO HP-UX
//

#elif defined(hpux)

#ifdef __cplusplus
#  define <FRAMEWORK_NAME>_EXTERN		extern "C"
#  define <FRAMEWORK_NAME>_PRIVATE_EXTERN		extern "C"
#else
#  define <FRAMEWORK_NAME>_EXTERN		extern
#  define <FRAMEWORK_NAME>_PRIVATE_EXTERN		extern
#endif

#define <FRAMEWORK_NAME>_EXTERN_IMP	<FRAMEWORK_NAME>_EXTERN
#define <FRAMEWORK_NAME>_PRIVATE_EXTERN_IMP	PRIVATE_EXTERN

#else

#error Do not know how to define extern on this platform

#endif
