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

  1. /*    EXTERN.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 globalref
  26. #  define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
  27. #  define EXTCONST globalref
  28. #  define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
  29. #else
  30. #  if defined(WIN32) && !defined(PERL_STATIC_SYMS) && !defined(PERL_OBJECT)
  31. #    ifdef PERLDLL
  32. #      define EXT extern __declspec(dllexport)
  33. #      define dEXT 
  34. #      define EXTCONST extern __declspec(dllexport) const
  35. #      define dEXTCONST const
  36. #    else
  37. #      define EXT extern __declspec(dllimport)
  38. #      define dEXT 
  39. #      define EXTCONST extern __declspec(dllimport) const
  40. #      define dEXTCONST const
  41. #    endif
  42. #  else
  43. #    if defined(__CYGWIN__) && defined(USEIMPORTLIB)
  44. #      define EXT extern __declspec(dllimport)
  45. #      define dEXT 
  46. #      define EXTCONST extern __declspec(dllimport) const
  47. #      define dEXTCONST const
  48. #    else
  49. #      define EXT extern
  50. #      define dEXT
  51. #      define EXTCONST extern const
  52. #      define dEXTCONST const
  53. #    endif
  54. #  endif
  55. #endif
  56.  
  57. #undef INIT
  58. #define INIT(x)
  59.  
  60. #undef DOINIT
  61.