Skip to content

Commit 4da49bc

Browse files
alexcfyunggabylb
andcommitted
build: enable zoslib installation on z/OS
zoslib is a C/C++ runtime library and an extended implementation of the z/OS LE C Runtime Library. Co-authored-by: Gaby Baghdadi <[email protected]>
1 parent 74b9baa commit 4da49bc

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

common.gypi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,8 @@
615615
'ldflags': [
616616
'-q64',
617617
],
618+
# for addons due to v8config.h include of "zos-base.h":
619+
'include_dirs': ['$(ZOSLIB_INCLUDES)'],
618620
}],
619621
],
620622
}

tools/install.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,12 @@ def wanted_v8_headers(files_arg, dest):
228228
files_arg = [name for name in files_arg if name in v8_headers]
229229
action(files_arg, dest)
230230

231+
def wanted_zoslib_headers(files_arg, dest):
232+
import glob
233+
zoslib_headers = glob.glob(zoslibinc + '/*.h')
234+
files_arg = [name for name in files_arg if name in zoslib_headers]
235+
action(files_arg, dest)
236+
231237
action([
232238
'common.gypi',
233239
'config.gypi',
@@ -262,6 +268,14 @@ def wanted_v8_headers(files_arg, dest):
262268
'deps/zlib/zlib.h',
263269
], 'include/node/')
264270

271+
if sys.platform == 'zos':
272+
zoslibinc = os.environ.get('ZOSLIB_INCLUDES')
273+
if not zoslibinc:
274+
raise RuntimeError('Environment variable ZOSLIB_INCLUDES is not set\n')
275+
if not os.path.isfile(zoslibinc + '/zos-base.h'):
276+
raise RuntimeError('ZOSLIB_INCLUDES is not set to a valid location\n')
277+
subdir_files(zoslibinc, 'include/node/zoslib/', wanted_zoslib_headers)
278+
265279
def run(args):
266280
global node_prefix, install_path, target_defaults, variables
267281

0 commit comments

Comments
 (0)