[3181] | 1 | /* EXTERN.h
|
---|
| 2 | *
|
---|
| 3 | * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1997, 1998, 1999,
|
---|
| 4 | * 2000, 2001, 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 globalref
|
---|
| 27 | # define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
|
---|
| 28 | # define EXTCONST globalref
|
---|
| 29 | # define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
|
---|
| 30 | #else
|
---|
| 31 | # if defined(WIN32) && !defined(PERL_STATIC_SYMS)
|
---|
| 32 | # ifdef PERLDLL
|
---|
| 33 | # define EXT extern __declspec(dllexport)
|
---|
| 34 | # define dEXT
|
---|
| 35 | # define EXTCONST extern __declspec(dllexport) const
|
---|
| 36 | # define dEXTCONST const
|
---|
| 37 | # else
|
---|
| 38 | # define EXT extern __declspec(dllimport)
|
---|
| 39 | # define dEXT
|
---|
| 40 | # define EXTCONST extern __declspec(dllimport) const
|
---|
| 41 | # define dEXTCONST const
|
---|
| 42 | # endif
|
---|
| 43 | # else
|
---|
| 44 | # if defined(__CYGWIN__) && defined(USEIMPORTLIB)
|
---|
| 45 | # define EXT extern __declspec(dllimport)
|
---|
| 46 | # define dEXT
|
---|
| 47 | # define EXTCONST extern __declspec(dllimport) const
|
---|
| 48 | # define dEXTCONST const
|
---|
| 49 | # else
|
---|
| 50 | # define EXT extern
|
---|
| 51 | # define dEXT
|
---|
| 52 | # define EXTCONST extern const
|
---|
| 53 | # define dEXTCONST const
|
---|
| 54 | # endif
|
---|
| 55 | # endif
|
---|
| 56 | #endif
|
---|
| 57 |
|
---|
| 58 | #undef INIT
|
---|
| 59 | #define INIT(x)
|
---|
| 60 |
|
---|
| 61 | #undef DOINIT
|
---|