EXTERN.h revision 1
1N/A/* EXTERN.h
1N/A *
1N/A * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1997, 1998, 1999,
1N/A * 2000, 2001, by Larry Wall and others
1N/A *
1N/A * You may distribute under the terms of either the GNU General Public
1N/A * License or the Artistic License, as specified in the README file.
1N/A *
1N/A */
1N/A
1N/A/*
1N/A * EXT designates a global var which is defined in perl.h
1N/A * dEXT designates a global var which is defined in another
1N/A * file, so we can't count on finding it in perl.h
1N/A * (this practice should be avoided).
1N/A */
1N/A#undef EXT
1N/A#undef dEXT
1N/A#undef EXTCONST
1N/A#undef dEXTCONST
1N/A#if defined(VMS) && !defined(__GNUC__)
1N/A /* Suppress portability warnings from DECC for VMS-specific extensions */
1N/A# ifdef __DECC
1N/A# pragma message disable (GLOBALEXT,NOSHAREEXT,READONLYEXT)
1N/A# endif
1N/A# define EXT globalref
1N/A# define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
1N/A# define EXTCONST globalref
1N/A# define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
1N/A#else
1N/A# if defined(WIN32) && !defined(PERL_STATIC_SYMS)
1N/A# ifdef PERLDLL
1N/A# define EXT extern __declspec(dllexport)
1N/A# define dEXT
1N/A# define EXTCONST extern __declspec(dllexport) const
1N/A# define dEXTCONST const
1N/A# else
1N/A# define EXT extern __declspec(dllimport)
1N/A# define dEXT
1N/A# define EXTCONST extern __declspec(dllimport) const
1N/A# define dEXTCONST const
1N/A# endif
1N/A# else
1N/A# if defined(__CYGWIN__) && defined(USEIMPORTLIB)
1N/A# define EXT extern __declspec(dllimport)
1N/A# define dEXT
1N/A# define EXTCONST extern __declspec(dllimport) const
1N/A# define dEXTCONST const
1N/A# else
1N/A# define EXT extern
1N/A# define dEXT
1N/A# define EXTCONST extern const
1N/A# define dEXTCONST const
1N/A# endif
1N/A# endif
1N/A#endif
1N/A
1N/A#undef INIT
1N/A#define INIT(x)
1N/A
1N/A#undef DOINIT