1// Copyright Joyent, Inc. and other Node contributors. 2// 3// Permission is hereby granted, free of charge, to any person obtaining a 4// copy of this software and associated documentation files (the 5// "Software"), to deal in the Software without restriction, including 6// without limitation the rights to use, copy, modify, merge, publish, 7// distribute, sublicense, and/or sell copies of the Software, and to permit 8// persons to whom the Software is furnished to do so, subject to the 9// following conditions: 10// 11// The above copyright notice and this permission notice shall be included 12// in all copies or substantial portions of the Software. 13// 14// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 17// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20// USE OR OTHER DEALINGS IN THE SOFTWARE. 21 22#ifndef SRC_NODE_VERSION_H_ 23#define SRC_NODE_VERSION_H_ 24 25#define NODE_MAJOR_VERSION 18 26#define NODE_MINOR_VERSION 20 27#define NODE_PATCH_VERSION 1 28 29#define NODE_VERSION_IS_LTS 1 30#define NODE_VERSION_LTS_CODENAME "Hydrogen" 31 32#define NODE_VERSION_IS_RELEASE 1 33 34#ifndef NODE_STRINGIFY 35#define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n) 36#define NODE_STRINGIFY_HELPER(n) #n 37#endif 38 39#ifndef NODE_RELEASE 40#define NODE_RELEASE "node" 41#endif 42 43#ifndef NODE_TAG 44# if NODE_VERSION_IS_RELEASE 45# define NODE_TAG "" 46# else 47# define NODE_TAG "-pre" 48# endif 49#else 50// NODE_TAG is passed without quotes when rc.exe is run from msbuild 51# define NODE_EXE_VERSION NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \ 52 NODE_STRINGIFY(NODE_MINOR_VERSION) "." \ 53 NODE_STRINGIFY(NODE_PATCH_VERSION) \ 54 NODE_STRINGIFY(NODE_TAG) 55#endif 56 57# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \ 58 NODE_STRINGIFY(NODE_MINOR_VERSION) "." \ 59 NODE_STRINGIFY(NODE_PATCH_VERSION) \ 60 NODE_TAG 61#ifndef NODE_EXE_VERSION 62# define NODE_EXE_VERSION NODE_VERSION_STRING 63#endif 64 65#define NODE_VERSION "v" NODE_VERSION_STRING 66 67 68#define NODE_VERSION_AT_LEAST(major, minor, patch) \ 69 (( (major) < NODE_MAJOR_VERSION) \ 70 || ((major) == NODE_MAJOR_VERSION && (minor) < NODE_MINOR_VERSION) \ 71 || ((major) == NODE_MAJOR_VERSION && \ 72 (minor) == NODE_MINOR_VERSION && (patch) <= NODE_PATCH_VERSION)) 73 74/** 75 * Node.js will refuse to load modules that weren't compiled against its own 76 * module ABI number, exposed as the process.versions.modules property. 77 * 78 * Node.js will refuse to load modules with a non-matching ABI version. The 79 * version number here should be changed whenever an ABI-incompatible API change 80 * is made in the C++ side, including in V8 or other dependencies. 81 * 82 * Node.js will not change the module version during a Major release line 83 * We will, at times update the version of V8 shipped in the release line 84 * if it can be made ABI compatible with the previous version. 85 * 86 * The registry of used NODE_MODULE_VERSION numbers is located at 87 * https://github.com/nodejs/node/blob/HEAD/doc/abi_version_registry.json 88 * Extenders, embedders and other consumers of Node.js that require ABI 89 * version matching should open a pull request to reserve a number in this 90 * registry. 91 */ 92#define NODE_MODULE_VERSION 108 93 94// The NAPI_VERSION provided by this version of the runtime. This is the version 95// which the Node binary being built supports. 96#define NAPI_VERSION 9 97 98// Node API modules use NAPI_VERSION 8 by default if it is not explicitly 99// specified. It must be always 8. 100#define NODE_API_DEFAULT_MODULE_API_VERSION 8 101 102#endif // SRC_NODE_VERSION_H_ 103