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 22 # if (defined(WIN32) && defined(__MINGW32__) && ! defined(PERL_IS_MINIPERL)) \ 23 || defined(__SYMBIAN32__) 24 # ifdef __cplusplus 25 # define EXT __declspec(dllexport) 26 # define dEXT 27 # define EXTCONST __declspec(dllexport) extern const 28 # define dEXTCONST const 29 # else 30 # define EXT __declspec(dllexport) 31 # define dEXT 32 # define EXTCONST __declspec(dllexport) const 33 # define dEXTCONST const 34 # endif 35 # else 36 # ifdef __cplusplus 37 # define EXT 38 # define dEXT 39 # define EXTCONST EXTERN_C const 40 # define dEXTCONST const 41 # else 42 # define EXT 43 # define dEXT 44 # define EXTCONST const 45 # define dEXTCONST const 46 # endif 47 # endif 48 49 #undef INIT 50 #define INIT(x) = x 51 52 #define DOINIT 53