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