diff --git a/Makefile b/Makefile index 94013466239e9c..bc6fffacc32a63 100644 --- a/Makefile +++ b/Makefile @@ -368,6 +368,9 @@ DOCBUILDSTAMP_PREREQS = tools/doc/addon-verify.mjs doc/api/addons.md ifeq ($(OSTYPE),aix) DOCBUILDSTAMP_PREREQS := $(DOCBUILDSTAMP_PREREQS) out/$(BUILDTYPE)/node.exp endif +ifeq ($(OSTYPE),os400) +DOCBUILDSTAMP_PREREQS := $(DOCBUILDSTAMP_PREREQS) out/$(BUILDTYPE)/node.exp +endif node_use_openssl = $(call available-node,"-p" \ "process.versions.openssl != undefined") diff --git a/common.gypi b/common.gypi index 0ce5c5226d9571..220c4817def6c8 100644 --- a/common.gypi +++ b/common.gypi @@ -137,7 +137,7 @@ 'defines': [ 'DEBUG', '_DEBUG', 'V8_ENABLE_CHECKS' ], 'cflags': [ '-g', '-O0' ], 'conditions': [ - ['OS=="aix"', { + ['OS=="aix" or OS=="os400"', { 'cflags': [ '-gxcoff' ], 'ldflags': [ '-Wl,-bbigtoc' ], }], @@ -393,11 +393,11 @@ 'BUILDING_UV_SHARED=1', ], }], - [ 'OS in "linux freebsd openbsd solaris aix"', { + [ 'OS in "linux freebsd openbsd solaris aix os400"', { 'cflags': [ '-pthread' ], 'ldflags': [ '-pthread' ], }], - [ 'OS in "linux freebsd openbsd solaris android aix cloudabi"', { + [ 'OS in "linux freebsd openbsd solaris android aix os400 cloudabi"', { 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ], 'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++17' ], 'defines': [ '__STDC_FORMAT_MACROS' ], @@ -421,11 +421,11 @@ 'cflags': [ '-m64' ], 'ldflags': [ '-m64' ], }], - [ 'target_arch=="ppc" and OS!="aix"', { + [ 'target_arch=="ppc" and OS not in "aix os400"', { 'cflags': [ '-m32' ], 'ldflags': [ '-m32' ], }], - [ 'target_arch=="ppc64" and OS!="aix"', { + [ 'target_arch=="ppc64" and OS not in "aix os400"', { 'cflags': [ '-m64', '-mminimal-toc' ], 'ldflags': [ '-m64' ], }], @@ -444,39 +444,33 @@ }], ], }], + [ 'OS=="os400"', { + 'ldflags!': [ '-rdynamic', ], + 'ldflags': [ + '-Wl,-bbigtoc', + '-Wl,-blibpath:/QOpenSys/pkgs/lib:/QOpenSys/usr/lib', + ], + }], [ 'OS=="aix"', { - 'variables': { - # Used to differentiate `AIX` and `OS400`(IBM i). - 'aix_variant_name': '