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 # ifdef __cplusplus 24 # define EXT __declspec(dllexport) 25 # define dEXT 26 # define EXTCONST __declspec(dllexport) extern const 27 # define dEXTCONST const 28 # else 29 # define EXT __declspec(dllexport) 30 # define dEXT 31 # define EXTCONST __declspec(dllexport) const 32 # define dEXTCONST const 33 # endif 34 # else 35 # ifdef __cplusplus 36 # define EXT 37 # define dEXT 38 # define EXTCONST EXTERN_C const 39 # define dEXTCONST const 40 # else 41 # define EXT 42 # define dEXT 43 # define EXTCONST const 44 # define dEXTCONST const 45 # endif 46 # endif 47 48 #undef INIT 49 #define INIT(...) = __VA_ARGS__ 50 51 #define DOINIT 52