New perldelta for 5.29.7
[perl.git] / EXTERN.h
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(__SYMBIAN32__)) && !defined(PERL_STATIC_SYMS)
23     /* miniperl should not export anything */
24 #    if defined(PERL_IS_MINIPERL) && !defined(UNDER_CE)
25 #      define EXT extern
26 #      define dEXT 
27 #      define EXTCONST extern const
28 #      define dEXTCONST const
29 #    elif defined(PERLDLL) || defined(__SYMBIAN32__)
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