2 ** Copyright (c) 1995, 1996, 3Dfx Interactive, Inc.
3 ** All Rights Reserved.
5 ** This is UNPUBLISHED PROPRIETARY SOURCE CODE of 3Dfx Interactive, Inc.;
6 ** the contents of this file may not be disclosed to third parties, copied or
7 ** duplicated in any form, in whole or in part, without the prior written
8 ** permission of 3Dfx Interactive, Inc.
10 ** RESTRICTED RIGHTS LEGEND:
11 ** Use, duplication or disclosure by the Government is subject to restrictions
12 ** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
13 ** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
14 ** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
15 ** rights reserved under the Copyright Laws of the United States.
18 ** $Date: 9/04/97 6:42p $
20 /* preprocessor defines for libraries to support DLL creation */
22 /* in header file, use FX_ENTRY return-type FX_CALL function-name ( ... ) */
23 /* in source file, use FX_EXPORT return-type FX_CSTYLE function-name (... ) */
25 /* in source file, set FX_DLL_DEFINITION, include this file, then include
26 header file for library. */
28 /* we need to use two macros per declaration/definition because MSVC
29 requires __stdcall and __declspec( dllexport ) be in different parts
32 /* I use two sets in case we need to control declarations and definitions
33 differently. If it turns out we don't, it should be easy to do a search
34 and replace to eliminate one set */
36 /* NOTE: this header file may be included more than once, and FX_DLL_DEFINITION
37 may have changed, so we do not protect this with an #fndef __FXDLL_H__
38 statement like we normally would. */
57 #if defined(FX_DLL_DEFINITION)
58 #if defined(FX_DLL_ENABLE)
61 #define FX_ENTRY __declspec( dllexport )
62 #define FX_EXPORT __declspec( dllexport )
66 #endif /* #ifndef KERNEL */
67 #define FX_CALL __stdcall
68 #define FX_CSTYLE __stdcall
70 #elif defined(__WATCOMC__)
72 #define FX_CALL __stdcall __export
75 #define FX_CSTYLE __stdcall __export
78 #error define FX_ENTRY,FX_CALL & FX_EXPORT,FX_CSTYLE for your compiler
81 #else /* FX_DLL_ENABLE */
83 #define FX_CALL __stdcall
86 #define FX_CSTYLE __stdcall
87 #endif /* FX_DLL_ENABLE */
89 #else /* FX_DLL_DEFINITION */
90 #define FX_ENTRY extern
91 #define FX_CALL __stdcall
92 #endif /* FX_DLL_DEFINITION */
95 * We don't want any of this DLL junk for DJGPP or UNIX
96 * so undo what is done above.
98 #if defined(__DJGPP__) || defined(__unix__)