This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Correct code-like snippet in documentation
[perl5.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  *
14  * dEXT: designates a global var which is defined in another
15  *       file, so we can't count on finding it in perl.h
16  *       (this practice should be avoided).
17  */
18 #undef EXT
19 #undef dEXT
20 #undef EXTCONST
21 #undef dEXTCONST
22
23 #  if defined(WIN32) && !defined(PERL_STATIC_SYMS)
24     /* miniperl should not export anything */
25 #    if defined(PERL_IS_MINIPERL)
26 #      define EXT extern
27 #      define dEXT 
28 #      define EXTCONST extern const
29 #      define dEXTCONST const
30 #    elif defined(PERLDLL)
31 #      define EXT EXTERN_C __declspec(dllexport)
32 #      define dEXT 
33 #      define EXTCONST EXTERN_C __declspec(dllexport) const
34 #      define dEXTCONST const
35 #    else
36 #      define EXT EXTERN_C __declspec(dllimport)
37 #      define dEXT 
38 #      define EXTCONST EXTERN_C __declspec(dllimport) const
39 #      define dEXTCONST const
40 #    endif
41 #  else
42 #    if defined(__CYGWIN__) && defined(USEIMPORTLIB)
43 #      define EXT extern __declspec(dllimport)
44 #      define dEXT 
45 #      define EXTCONST extern __declspec(dllimport) const
46 #      define dEXTCONST const
47 #    else
48 #      define EXT extern
49 #      define dEXT
50 #      define EXTCONST extern const
51 #      define dEXTCONST const
52 #    endif
53 #  endif
54
55 #undef INIT
56 #define INIT(...)
57
58 #undef DOINIT