This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlfunc: link to "Plain Old Comments" section of perlsyn from __FILE__, __LINE__...
[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
LW
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 */
8d063cd8 17#undef EXT
4633a7c4 18#undef dEXT
36477c24 19#undef EXTCONST
20#undef dEXTCONST
400638aa 21
27da23d5 22# if (defined(WIN32) || defined(__SYMBIAN32__)) && !defined(PERL_STATIC_SYMS)
def6ed22 23 /* miniperl should not export anything */
79c32fc2 24# if defined(PERL_IS_MINIPERL)
a19baa61 25# define EXT extern
54310121 26# define dEXT
a19baa61 27# define EXTCONST extern const
54310121 28# define dEXTCONST const
fbaa6c64
AC
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
54310121 34# else
fbaa6c64
AC
35# define EXT EXTERN_C __declspec(dllimport)
36# define dEXT
37# define EXTCONST EXTERN_C __declspec(dllimport) const
38# define dEXTCONST const
54310121 39# endif
40# else
d308986b 41# if defined(__CYGWIN__) && defined(USEIMPORTLIB)
8736538c
AS
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
54310121 52# endif
8d063cd8
LW
53
54#undef INIT
55#define INIT(x)
56
57#undef DOINIT