build: allow to specify custom tags
When building custom `node` versions (e.g., floating features/fixes from different versions) it's often useful to specify a custom tag which easily identifies build when invoking `node -v`. Introduce a way to specify this tag in `node_version.h` file or by running `./configure --tag="<tag>"`. Insert it right after the patch version (and before `-pre`, if build is not a release). Closes #4452.
This commit is contained in:
parent
70eb227e80
commit
f84bf5b6b1
7
configure
vendored
7
configure
vendored
@ -265,6 +265,11 @@ parser.add_option("--xcode",
|
|||||||
dest="use_xcode",
|
dest="use_xcode",
|
||||||
help="Generate build files for use with xcode")
|
help="Generate build files for use with xcode")
|
||||||
|
|
||||||
|
parser.add_option("--tag",
|
||||||
|
action="store",
|
||||||
|
dest="tag",
|
||||||
|
help="Custom build tag")
|
||||||
|
|
||||||
(options, args) = parser.parse_args()
|
(options, args) = parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
@ -490,6 +495,8 @@ def configure_node(o):
|
|||||||
else:
|
else:
|
||||||
o['variables']['node_use_perfctr'] = 'false'
|
o['variables']['node_use_perfctr'] = 'false'
|
||||||
|
|
||||||
|
o['variables']['node_tag'] = options.tag or ''
|
||||||
|
|
||||||
|
|
||||||
def configure_libz(o):
|
def configure_libz(o):
|
||||||
o['variables']['node_shared_zlib'] = b(options.shared_zlib)
|
o['variables']['node_shared_zlib'] = b(options.shared_zlib)
|
||||||
|
1
node.gyp
1
node.gyp
@ -142,6 +142,7 @@
|
|||||||
'NODE_WANT_INTERNALS=1',
|
'NODE_WANT_INTERNALS=1',
|
||||||
'ARCH="<(target_arch)"',
|
'ARCH="<(target_arch)"',
|
||||||
'PLATFORM="<(OS)"',
|
'PLATFORM="<(OS)"',
|
||||||
|
'NODE_TAG="<(node_tag)"',
|
||||||
],
|
],
|
||||||
|
|
||||||
'conditions': [
|
'conditions': [
|
||||||
|
@ -25,6 +25,11 @@
|
|||||||
#define NODE_MAJOR_VERSION 0
|
#define NODE_MAJOR_VERSION 0
|
||||||
#define NODE_MINOR_VERSION 9
|
#define NODE_MINOR_VERSION 9
|
||||||
#define NODE_PATCH_VERSION 5
|
#define NODE_PATCH_VERSION 5
|
||||||
|
|
||||||
|
#ifndef NODE_TAG
|
||||||
|
# define NODE_TAG ""
|
||||||
|
#endif
|
||||||
|
|
||||||
#define NODE_VERSION_IS_RELEASE 0
|
#define NODE_VERSION_IS_RELEASE 0
|
||||||
|
|
||||||
#ifndef NODE_STRINGIFY
|
#ifndef NODE_STRINGIFY
|
||||||
@ -35,11 +40,13 @@
|
|||||||
#if NODE_VERSION_IS_RELEASE
|
#if NODE_VERSION_IS_RELEASE
|
||||||
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
|
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
|
||||||
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
|
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
|
||||||
NODE_STRINGIFY(NODE_PATCH_VERSION)
|
NODE_STRINGIFY(NODE_PATCH_VERSION) \
|
||||||
|
NODE_TAG
|
||||||
#else
|
#else
|
||||||
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
|
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
|
||||||
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
|
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
|
||||||
NODE_STRINGIFY(NODE_PATCH_VERSION) "-pre"
|
NODE_STRINGIFY(NODE_PATCH_VERSION) \
|
||||||
|
NODE_TAG "-pre"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define NODE_VERSION "v" NODE_VERSION_STRING
|
#define NODE_VERSION "v" NODE_VERSION_STRING
|
||||||
|
Loading…
x
Reference in New Issue
Block a user