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(__SYMBIAN32__)) && !defined(PERL_STATIC_SYMS) 32 /* miniperl should not export anything */ 33 # if defined(PERL_IS_MINIPERL) && !defined(UNDER_CE) && defined(_MSC_VER) 34 # define EXT extern 35 # define dEXT 36 # define EXTCONST extern const 37 # define dEXTCONST const 38 # else 39 # if defined(PERLDLL) || defined(__SYMBIAN32__) 40 # define EXT extern __declspec(dllexport) 41 # define dEXT 42 # define EXTCONST extern __declspec(dllexport) const 43 # define dEXTCONST const 44 # else 45 # define EXT extern __declspec(dllimport) 46 # define dEXT 47 # define EXTCONST extern __declspec(dllimport) const 48 # define dEXTCONST const 49 # endif 50 # endif 51 # else 52 # if defined(__CYGWIN__) && defined(USEIMPORTLIB) 53 # define EXT extern __declspec(dllimport) 54 # define dEXT 55 # define EXTCONST extern __declspec(dllimport) const 56 # define dEXTCONST const 57 # else 58 # define EXT extern 59 # define dEXT 60 # define EXTCONST extern const 61 # define dEXTCONST const 62 # endif 63 # endif 64 #endif 65 66 #undef INIT 67 #define INIT(x) 68 69 #undef DOINIT 70