| 1 | /* | 
 
 
 
 
 | 2 | * msvcrtver.h | 
 
 
 
 
 | 3 | * | 
 
 
 
 
 | 4 | * Macros for identification of specific versions of MSVC runtime | 
 
 
 
 
 | 5 | * libraries, which may be substituted for MSVCRT.DLL | 
 
 
 
 
 | 6 | * | 
 
 
 
 
 | 7 | * $Id: msvcrtver.h,v 6d8ad2c4dde7 2015/06/19 11:43:28 keithmarshall $ | 
 
 
 
 
 | 8 | * | 
 
 
 
 
 | 9 | * Written by Keith Marshall <keithmarshall@users.sourceforge.net> | 
 
 
 
 
 | 10 | * Copyright (C) 2015, MinGW.org Project | 
 
 
 
 
 | 11 | * | 
 
 
 
 
 | 12 | * | 
 
 
 
 
 | 13 | * Permission is hereby granted, free of charge, to any person obtaining a | 
 
 
 
 
 | 14 | * copy of this software and associated documentation files (the "Software"), | 
 
 
 
 
 | 15 | * to deal in the Software without restriction, including without limitation | 
 
 
 
 
 | 16 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, | 
 
 
 
 
 | 17 | * and/or sell copies of the Software, and to permit persons to whom the | 
 
 
 
 
 | 18 | * Software is furnished to do so, subject to the following conditions: | 
 
 
 
 
 | 19 | * | 
 
 
 
 
 | 20 | * The above copyright notice and this permission notice (including the next | 
 
 
 
 
 | 21 | * paragraph) shall be included in all copies or substantial portions of the | 
 
 
 
 
 | 22 | * Software. | 
 
 
 
 
 | 23 | * | 
 
 
 
 
 | 24 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 
 
 
 
 
 | 25 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 
 
 
 
 
 | 26 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | 
 
 
 
 
 | 27 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | 
 
 
 
 
 | 28 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | 
 
 
 
 
 | 29 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 
 
 
 
 
 | 30 | * DEALINGS IN THE SOFTWARE. | 
 
 
 
 
 | 31 | * | 
 
 
 
 
 | 32 | */ | 
 
 
 
 
 | 33 | #ifndef _MSVCRTVER_H | 
 
 
 
 
 | 34 | #define _MSVCRTVER_H | 
 
 
 
 
 | 35 | #pragma GCC system_header | 
 
 
 
 
 | 36 |  | 
 
 
 
 
 | 37 | /* When it is intended to link an application with any one of the | 
 
 
 
 
 | 38 | * MSVC version specific MSVCRxx.DLL libraries, rather than with the | 
 
 
 
 
 | 39 | * OS default MSVCRT.DLL, the particular substitute MSVCRxx.DLL may | 
 
 
 
 
 | 40 | * be specified as any one of the following... | 
 
 
 
 
 | 41 | */ | 
 
 
 
 
 | 42 | #define __MSVCR60_DLL           0x0600 | 
 
 
 
 
 | 43 | #define __MSVCR61_DLL           0x0601 | 
 
 
 
 
 | 44 | #define __MSVCR70_DLL           0x0700 | 
 
 
 
 
 | 45 | #define __MSVCR71_DLL           0x0701 | 
 
 
 
 
 | 46 | #define __MSVCR80_DLL           0x0800 | 
 
 
 
 
 | 47 | #define __MSVCR90_DLL           0x0900 | 
 
 
 
 
 | 48 | #define __MSVCR100_DLL          0x1000 | 
 
 
 
 
 | 49 | #define __MSVCR110_DLL          0x1100 | 
 
 
 
 
 | 50 | #define __MSVCR120_DLL          0x1200 | 
 
 
 
 
 | 51 |  | 
 
 
 
 
 | 52 | #ifndef __MSVCRT_VERSION__ | 
 
 
 
 
 | 53 | /* This may be set, when the intent is to link with any of the above | 
 
 
 
 
 | 54 | * non-freely distributable MSVCRxx.DLL libraries, rather than with the | 
 
 
 
 
 | 55 | * pseudo-free MSVCRT.DLL provided as an OS component.  High byte is the | 
 
 
 
 
 | 56 | * major version number, low byte is the minor; however, users are advised | 
 
 
 
 
 | 57 | * to use custom GCC specs files to set this, while also substituting the | 
 
 
 
 
 | 58 | * appropriate library in place of MSVCRT.DLL, rather than to simply set | 
 
 
 
 
 | 59 | * it directly. | 
 
 
 
 
 | 60 | * | 
 
 
 
 
 | 61 | * It should be noted that __MSVCRT_VERSION__ is NOT a good indicator of | 
 
 
 
 
 | 62 | * evolving MSVCRT.DLL features; that is better accomplished by using the | 
 
 
 
 
 | 63 | * NTDDI_VERSION setting from the Windows API.  Thus, users of MSVCRT.DLL | 
 
 
 
 
 | 64 | * should NOT set __MSVCRT_VERSION__, leaving us to establish a default, | 
 
 
 
 
 | 65 | * equivalent to MSVCR60.DLL, which seems reasonably well aligned with | 
 
 
 
 
 | 66 | * the feature set of the earliest MSVCRT.DLL version we support. | 
 
 
 
 
 | 67 | */ | 
 
 
 
 
 | 68 | # define __MSVCRT_VERSION__  __MSVCR60_DLL | 
 
 
 
 
 | 69 | #endif | 
 
 
 
 
 | 70 |  | 
 
 
 
 
 | 71 | /* This is an exception to the normal rule, that all mingwrt system | 
 
 
 
 
 | 72 | * header files should include _mingw.h, since inclusion of _mingw.h | 
 
 
 
 
 | 73 | * itself will cause this file to be included.  Thus, we recommend | 
 
 
 
 
 | 74 | * that this file should not be included directly, but we do not | 
 
 
 
 
 | 75 | * forbid doing so; however, in this event... | 
 
 
 
 
 | 76 | */ | 
 
 
 
 
 | 77 | #ifndef __MINGW_H | 
 
 
 
 
 | 78 | /* ...we must ensure that _mingw.h has also been included. | 
 
 
 
 
 | 79 | */ | 
 
 
 
 
 | 80 | # include <_mingw.h> | 
 
 
 
 
 | 81 | #endif | 
 
 
 
 
 | 82 |  | 
 
 
 
 
 | 83 | #endif /* !_MSVCRTVER_H: $RCSfile: msvcrtver.h,v $: end of file */ |