source: trunk/third/perl/EXTERN.h @ 14545

Revision 14545, 1.7 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14544, which included commits to RCS files with non-trunk default branches.
Line 
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
Note: See TracBrowser for help on using the repository browser.