home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c480 / 19.ddi / MFC / INCLUDE / AFXVER_.H_ / AFXVER_.H
Encoding:
C/C++ Source or Header  |  1993-02-08  |  5.3 KB  |  172 lines

  1. // Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992 Microsoft Corporation,
  3. // All rights reserved.
  4.  
  5. // This source code is only intended as a supplement to the
  6. // Microsoft Foundation Classes Reference and Microsoft
  7. // QuickHelp and/or WinHelp documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10.  
  11. // afxver_.h - target version/configuration control
  12.  
  13. /////////////////////////////////////////////////////////////////////////////
  14. // Master version numbers
  15. /////////////////////////////////////////////////////////////////////////////
  16.  
  17. #define _AFX     1      // Microsoft Application Framework Classes
  18. #define _MFC_VER 0x0200 // Microsoft Foundation Classes
  19.  
  20. /////////////////////////////////////////////////////////////////////////////
  21. // Target version control
  22. /////////////////////////////////////////////////////////////////////////////
  23.  
  24. // For target version (one of)
  25. //   _WINDOWS  : for Microsoft Windows target (defined by #include <afxwin.h>)
  26. //   _DOS      : for Microsoft DOS (non Windows) target
  27. //
  28. // Additional build options:
  29. //   _DEBUG    : debug versions (full diagnostics)
  30. //   _WINDLL   : DLL version, used in conjunction with _AFXDLL and _USRDLL
  31. //   _AFXDLL   : Stand-alone DLL version (see afxv_dll.h for more info)
  32. //   _USRDLL   : Statically linked DLL version
  33. //
  34. // Internal configuration flags:
  35. //   _NEARDATA : ambient near data pointers needing far overloads
  36.  
  37. #if !defined(_WINDOWS) && !defined(_DOS)
  38. #error Please define one of _WINDOWS or _DOS.
  39. #endif
  40.  
  41. #if defined(_WINDOWS) && defined(_DOS)
  42. #error Please define only one of _WINDOWS or _DOS
  43. #endif
  44.  
  45. #if defined(_M_I86SM) || defined(_M_I86MM)
  46. #define _NEARDATA
  47. #endif
  48.  
  49. #ifndef _DEBUG
  50. #define _AFX_ENABLE_INLINES
  51. #endif
  52.  
  53. /////////////////////////////////////////////////////////////////////////////
  54. // Default swap tuning for AFX library
  55.  
  56. #if defined(_M_I86MM) || defined(_M_I86LM) // far code
  57. #define AFX_CORE1_SEG "AFX_CORE1_TEXT"  // core functionality
  58. #define AFX_CORE2_SEG "AFX_CORE2_TEXT"  // more core functionality
  59. #define AFX_CORE3_SEG "AFX_CORE3_TEXT"  // more core functionality
  60. #define AFX_AUX_SEG   "AFX_AUX_TEXT"    // auxilliary functionality
  61. #define AFX_COLL_SEG  "AFX_COLL1_TEXT"  // collections
  62. #define AFX_COLL2_SEG "AFX_COLL2_TEXT"  // more collections
  63. #define AFX_OLE_SEG   "AFX_OLE_TEXT"    // OLE support
  64. #define AFX_INIT_SEG  "AFX_INIT_TEXT"   // initialization
  65. #define AFX_VBX_SEG   "AFX_VBX_TEXT"    // VBX functionality
  66. #define AFX_PRINT_SEG "AFX_PRINT_TEXT"  // Printing functionality
  67. #define AFX_DBG1_SEG  "AFX_DEBUG1_TEXT" // inlines go here in _DEBUG
  68. #define AFX_DBG2_SEG  "AFX_DEBUG2_TEXT" // inlines go here in _DEBUG
  69. #endif
  70.  
  71. // If compiler supports NEAR/FAR as modifiers to class/struct then #define this
  72. #define AFX_CLASS_MODEL
  73.  
  74. /////////////////////////////////////////////////////////////////////////////
  75. // Special configurations
  76. /////////////////////////////////////////////////////////////////////////////
  77.  
  78. #if defined(_WINDLL) && (!defined(_AFXDLL) && !defined(_USRDLL))
  79. #error Please define one of _AFXDLL or _USRDLL with _WINDLL
  80. #endif
  81. #if defined(_AFXDLL) && defined(_USRDLL)
  82. #error Please define only one of _AFXDLL or _USRDLL
  83. #endif
  84.  
  85. #ifdef _AFXDLL
  86. // stand alone DLL
  87. //  (_WINDLL defined for DLL, not defined for app using DLL)
  88. #include "afxv_dll.h"
  89. #endif
  90.  
  91. #ifdef _USRDLL
  92. // static linked library for building DLLs
  93. #ifndef _WINDLL
  94. #error Please define _WINDLL along with _USRDLL
  95. #endif
  96. #define EXPORT __export
  97. #define AFX_EXPORT __loadds
  98. #define AFX_STACK_DATA  _far
  99. #define NO_VBX_SUPPORT
  100. #endif //!_USRDLL
  101.  
  102. #ifdef _DOS
  103. #include "afxv_dos.h"
  104. #endif
  105.  
  106.  
  107.  
  108.  
  109. /////////////////////////////////////////////////////////////////////////////
  110. // Standard preprocessor symbols if not already defined
  111. /////////////////////////////////////////////////////////////////////////////
  112.  
  113. #ifndef FAR
  114. #define FAR _far
  115. #endif
  116.  
  117. #ifndef NEAR
  118. #define NEAR _near
  119. #endif
  120.  
  121. #ifndef PASCAL
  122. #define PASCAL _pascal
  123. #endif
  124.  
  125. #ifndef CDECL
  126. #define CDECL _cdecl
  127. #endif
  128.  
  129. #ifndef EXPORT
  130. #define EXPORT __export
  131. #endif
  132.  
  133. /////////////////////////////////////////////////////////////////////////////
  134. // AFX API macros
  135. //   AFXAPI    : like "WINAPI" but for AFX library for exported APIs
  136. //   AFXAPI_DATA: exported data (normally NEAR, except in the case of _AFXDLL)
  137. //          AFXAPI_DATA_TYPE and AFXAPP_DATA are also special for _AFXDLL
  138. //   AFX_STACK_DATA: normally NEAR data, but FAR in the case of SS!=DS
  139. //   AFX_EXPORT: export for passing to Windows (_loadds for DLL)
  140. /////////////////////////////////////////////////////////////////////////////
  141.  
  142. #ifndef AFXAPI
  143. #define AFXAPI      PASCAL
  144. #endif
  145.  
  146. #ifndef AFXAPI_DATA
  147. #define AFXAPI_DATA NEAR
  148. #define AFXAPI_DATA_TYPE NEAR
  149. #endif
  150.  
  151. #ifndef AFX_STACK_DATA
  152. #define AFX_STACK_DATA  NEAR
  153. #endif
  154.  
  155. #ifndef AFX_EXPORT
  156. #define AFX_EXPORT  EXPORT
  157. #endif
  158.  
  159. #ifndef BASED_CODE
  160. #define BASED_CODE __based(__segname("_CODE"))
  161. #endif
  162.  
  163. #ifndef BASED_DEBUG
  164. #define BASED_DEBUG __based(__segname("AFX_DEBUG1_TEXT"))
  165. #endif
  166.  
  167. #ifndef BASED_STACK
  168. #define BASED_STACK __based(__segname("_STACK"))
  169. #endif
  170.  
  171. /////////////////////////////////////////////////////////////////////////////
  172.