Start anew
[msysgit.git] / lib / perl5 / 5.6.1 / msys / CORE / EXTERN.h
blob4bb10ba84d1b1b28d984f4a5a7c5aeccb80cabff
1 /* EXTERN.h
3 * Copyright (c) 1991-2001, Larry Wall
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.
8 */
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).
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(__MSYS__)) && 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
57 #undef INIT
58 #define INIT(x)
60 #undef DOINIT