
/*=============================================================================
 ===============================================================================
File Description:

    The header file that defines the export symbols for the
    VM library

===============================================================================
Date                     Name                       Description
12-Mar-2007              Ram Narsimha               Initial Version
12-Mar-2007              Ram Kishore                Initial Version


$HISTORY$
=============================================================================*/

#include <common/library_indicators.h>

#ifdef EXPORTLIBRARY
#define EXPORTLIBRARY something else
#error ExportLibrary was already defined
#endif

#define EXPORTLIBRARY            libvm

#if !defined(IPLIB)
#   error IPLIB is not defined
#endif

/* Handwritten iMAN code should use the XXX_API version, not XXXEXPORT */

#define VM_API VMEXPORT

/* Support VMEXPORT for autogenerated schema/pif code only */

#if IPLIB==libvm
#   if defined(__lint)
#       define VMEXPORT       __export(vm)
#       define VMGLOBAL       extern __global(vm)
#       define VMPRIVATE      extern __private(vm)
#   elif defined(_WIN32)
#       define VMEXPORT       __declspec(dllexport)
#       define VMGLOBAL       extern __declspec(dllexport)
#       define VMPRIVATE      extern
#   else
#       define VMEXPORT
#       define VMGLOBAL       extern
#       define VMPRIVATE      extern
#   endif
#else
#   if defined(__lint)
#       define VMEXPORT       __export(vm)
#       define VMGLOBAL       extern __global(vm)
#   elif defined(_WIN32) && !defined(WNT_STATIC_LINK)
#       define VMEXPORT       __declspec(dllimport)
#       define VMGLOBAL       extern __declspec(dllimport)
#   else
#       define VMEXPORT
#       define VMGLOBAL       extern
#   endif
#endif
