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