Fix C<require> in Getopt::Long to work with 5.003
[p5sagit/p5-mst-13.2.git] / win32 / EXTERN.h
CommitLineData
0a753a76 1/* EXTERN.h
2 *
9607fc9c 3 * Copyright (c) 1991-1997, Larry Wall
0a753a76 4 *
5 * You may distribute under the terms of either the GNU General Public
6 * License or the Artistic License, as specified in the README file.
7 *
8 */
9
10/*
11 * EXT designates a global var which is defined in perl.h
12 * dEXT designates a global var which is defined in another
13 * file, so we can't count on finding it in perl.h
14 * (this practice should be avoided).
15 */
16#undef EXT
17#undef dEXT
18#undef EXTCONST
19#undef dEXTCONST
20#if defined(VMS) && !defined(__GNUC__)
21# define EXT globalref
22# define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
23# define EXTCONST globalref
24# define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
25#elif defined(_MSC_VER) && defined(_WIN32)
26# ifdef PERLDLL
27# define EXT __declspec(dllexport)
28# define dEXT
29# define EXTCONST __declspec(dllexport) const
30# define dEXTCONST const
31# else
32# define EXT __declspec(dllimport)
33# define dEXT
34# define EXTCONST __declspec(dllimport) const
35# define dEXTCONST const
36# endif
37#else
38# define EXT extern
39# define dEXT
40# define EXTCONST extern const
41# define dEXTCONST const
42#endif
43
44#undef INIT
45#define INIT(x)
46
47#undef DOINIT