feat: support IBM Open XL C/C++ & PL/I compilers on z/OS #2742
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checklist
npm install && npm testpassesDescription of change
Open XL C/C++ for z/OS (C invocation: clang, ibm-clang, or ibm-clang64) is LLVM-based, and doesn't support XL C/C++'s -q flags. Environment variable CC is set starting with Node.js v18 for z/OS which requires clang or ibm-clang64 compiler, but CC may not be set in older versions (which required njsc or xlclang), hence default to njsc to support older versions.
Also fix defines of _ALL_SOURCE and _UNIX03_SOURCE to match how they're used.
Accompanying change to
gyp/pylib/gyp/generator/make.pynow deleted from this PR per #2742 (review) and now in nodejs/gyp-next#178.