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 22 # if defined(WIN32) && !defined(PERL_STATIC_SYMS) 23 /* miniperl should not export anything */ 24 # if defined(PERL_IS_MINIPERL) 25 # define EXT extern 26 # define dEXT 27 # define EXTCONST extern const 28 # define dEXTCONST const 29 # elif defined(PERLDLL) 30 # define EXT EXTERN_C __declspec(dllexport) 31 # define dEXT 32 # define EXTCONST EXTERN_C __declspec(dllexport) const 33 # define dEXTCONST const 34 # else 35 # define EXT EXTERN_C __declspec(dllimport) 36 # define dEXT 37 # define EXTCONST EXTERN_C __declspec(dllimport) const 38 # define dEXTCONST const 39 # endif 40 # else 41 # if defined(__CYGWIN__) && defined(USEIMPORTLIB) 42 # define EXT extern __declspec(dllimport) 43 # define dEXT 44 # define EXTCONST extern __declspec(dllimport) const 45 # define dEXTCONST const 46 # else 47 # define EXT extern 48 # define dEXT 49 # define EXTCONST extern const 50 # define dEXTCONST const 51 # endif 52 # endif 53 54 #undef INIT 55 #define INIT(x) 56 57 #undef DOINIT 58