This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5380delta: a messy commit to get things started
[perl5.git] / EXTERN.h
CommitLineData
a0d0e21e 1/* EXTERN.h
a687059c 2 *
4bb101f2
JH
3 * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1997, 1998, 1999,
4 * 2000, 2001, by Larry Wall and others
a687059c 5 *
132b68a5
LW
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.
8d063cd8 8 *
8d063cd8
LW
9 */
10
4633a7c4 11/*
0e4b7886
YO
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).
4633a7c4 17 */
8d063cd8 18#undef EXT
4633a7c4 19#undef dEXT
36477c24 20#undef EXTCONST
21#undef dEXTCONST
400638aa 22
822c8b4d 23# if defined(WIN32) && !defined(PERL_STATIC_SYMS)
def6ed22 24 /* miniperl should not export anything */
79c32fc2 25# if defined(PERL_IS_MINIPERL)
a19baa61 26# define EXT extern
54310121 27# define dEXT
a19baa61 28# define EXTCONST extern const
54310121 29# define dEXTCONST const
822c8b4d 30# elif defined(PERLDLL)
fbaa6c64
AC
31# define EXT EXTERN_C __declspec(dllexport)
32# define dEXT
33# define EXTCONST EXTERN_C __declspec(dllexport) const
34# define dEXTCONST const
54310121 35# else
fbaa6c64
AC
36# define EXT EXTERN_C __declspec(dllimport)
37# define dEXT
38# define EXTCONST EXTERN_C __declspec(dllimport) const
39# define dEXTCONST const
54310121 40# endif
41# else
d308986b 42# if defined(__CYGWIN__) && defined(USEIMPORTLIB)
8736538c
AS
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
54310121 53# endif
8d063cd8
LW
54
55#undef INIT
87b8f6cd 56#define INIT(...)
8d063cd8
LW
57
58#undef DOINIT