Browse Source

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).
v0.8.17-release
Maciej Małecki 12 years ago
committed by isaacs
parent
commit
c2e71dd51d
  1. 10
      configure
  2. 1
      node.gyp
  3. 11
      src/node_version.h

10
configure

@ -182,6 +182,11 @@ parser.add_option("--unsafe-optimizations",
dest="unsafe_optimizations",
help=optparse.SUPPRESS_HELP)
parser.add_option("--tag",
action="store",
dest="tag",
help="Custom build tag")
(options, args) = parser.parse_args()
@ -394,6 +399,11 @@ def configure_node(o):
else:
o['variables']['node_use_etw'] = 'false'
if options.tag:
o['variables']['node_tag'] = '-' + options.tag
else:
o['variables']['node_tag'] = ''
def configure_libz(o):
o['variables']['node_shared_zlib'] = b(options.shared_zlib)

1
node.gyp

@ -130,6 +130,7 @@
'NODE_WANT_INTERNALS=1',
'ARCH="<(target_arch)"',
'PLATFORM="<(OS)"',
'NODE_TAG="<(node_tag)"',
],
'conditions': [

11
src/node_version.h

@ -25,6 +25,11 @@
#define NODE_MAJOR_VERSION 0
#define NODE_MINOR_VERSION 8
#define NODE_PATCH_VERSION 17
#ifndef NODE_TAG
# define NODE_TAG ""
#endif
#define NODE_VERSION_IS_RELEASE 0
#ifndef NODE_STRINGIFY
@ -35,11 +40,13 @@
#if NODE_VERSION_IS_RELEASE
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
NODE_STRINGIFY(NODE_PATCH_VERSION)
NODE_STRINGIFY(NODE_PATCH_VERSION) \
NODE_TAG
#else
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
NODE_STRINGIFY(NODE_PATCH_VERSION) "-pre"
NODE_STRINGIFY(NODE_PATCH_VERSION) \
NODE_TAG "-pre"
#endif
#define NODE_VERSION "v" NODE_VERSION_STRING

Loading…
Cancel
Save