Commit | Line | Data |
0a753a76 |
1 | /* EXTERN.h |
2 | * |
3 | * Copyright (c) 1991-1994, 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 | # define EXT globalref |
22 | # define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare |
23 | # define EXTCONST globalref |
24 | # define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly |
25 | #elif defined(_MSC_VER) && defined(_WIN32) |
26 | # ifdef PERLDLL |
27 | # define EXT __declspec(dllexport) |
28 | # define dEXT |
29 | # define EXTCONST __declspec(dllexport) const |
30 | # define dEXTCONST const |
31 | # else |
32 | # define EXT __declspec(dllimport) |
33 | # define dEXT |
34 | # define EXTCONST __declspec(dllimport) const |
35 | # define dEXTCONST const |
36 | # endif |
37 | #else |
38 | # define EXT extern |
39 | # define dEXT |
40 | # define EXTCONST extern const |
41 | # define dEXTCONST const |
42 | #endif |
43 | |
44 | #undef INIT |
45 | #define INIT(x) |
46 | |
47 | #undef DOINIT |