home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / INTERN.h < prev    next >
C/C++ Source or Header  |  2000-02-06  |  1KB  |  54 lines

  1. /*    INTERN.h
  2.  *
  3.  *    Copyright (c) 1991-2000, Larry Wall
  4.  *
  5.  *    You may distribute under the terms of either the GNU General Public
  6.  *    License or the Artistic License, as specified in the README file.
  7.  *
  8.  */
  9.  
  10. /*
  11.  * EXT  designates a global var which is defined in perl.h
  12.  * dEXT designates a global var which is defined in another
  13.  *      file, so we can't count on finding it in perl.h
  14.  *      (this practice should be avoided).
  15.  */
  16. #undef EXT
  17. #undef dEXT
  18. #undef EXTCONST
  19. #undef dEXTCONST
  20. #if defined(VMS) && !defined(__GNUC__)
  21.     /* Suppress portability warnings from DECC for VMS-specific extensions */
  22. #  ifdef __DECC
  23. #    pragma message disable (GLOBALEXT,NOSHAREEXT,READONLYEXT)
  24. #  endif
  25. #  define EXT globaldef {"$GLOBAL_RW_VARS"} noshare
  26. #  define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
  27. #  define EXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
  28. #  define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
  29. #else
  30. #if defined(WIN32) && defined(__MINGW32__)
  31. #  define EXT        __declspec(dllexport)
  32. #  define dEXT
  33. #  define EXTCONST    __declspec(dllexport) const
  34. #  define dEXTCONST    const
  35. #else
  36. #ifdef __cplusplus
  37. #  define EXT
  38. #  define dEXT
  39. #  define EXTCONST extern const
  40. #  define dEXTCONST const
  41. #else
  42. #  define EXT
  43. #  define dEXT
  44. #  define EXTCONST const
  45. #  define dEXTCONST const
  46. #endif
  47. #endif
  48. #endif
  49.  
  50. #undef INIT
  51. #define INIT(x) = x
  52.  
  53. #define DOINIT
  54.