EXTERN.h revision 1.3
1/*    EXTERN.h
2 *
3 *    Copyright (c) 1991-1999, 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(__GNUC__) && !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#    define EXT extern
44#    define dEXT
45#    define EXTCONST extern const
46#    define dEXTCONST const
47#  endif
48#endif
49
50#undef INIT
51#define INIT(x)
52
53#undef DOINIT
54