Files
node/test/addons/openssl-binding
Abdirahim Musse 2aad778940 test: set type=none on IBM i for empty source
addon targets.

openssl-binding, openssl-get-ssl-ctx,
openssl-providers, and zlib-binding all exclude
their sources on IBM i because the platform ships
OpenSSL and zlib as system libraries.
The binding.gyp condition leaves the target with
no sources but still of type 'loadable_module',
which causes gyp to generate a full solink_module
COPY rule in the generated Makefile.

With gcc-12, the compiler exits 1 on empty input
so gmake stops at the link step and
build_addons.py skips the addon non fatally. With
clang-21, the compiler exits 0 on empty input and
writes no output file. The linker driver then
runs llvm-nm internally as a post-link step to
generate the .exp symbol export file, finds no
output and aborts with:

  llvm-nm: error: a.out: No such file or directory

The fix is to declare the target as type
'none' when on IBM i. The gyp make generator
produces only a touch-stamp rule for 'none'
targets no solink_module, no COPY, no .node
output is ever expected. build_addons.py sees
exit 0 and run-ci continues.

Signed-off-by: Abdirahim Musse <33973272+abmusse@users.noreply.github.com>
PR-URL: https://github.com/nodejs/node/pull/65545
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
2026-09-03 09:49:16 +01:00
..
…