build: build opt to set local location of headers

Some linux distroes install headers through their
package managers. When headers are locally installed
we'd like them to be used.

Add a build time configuration option
--use-prefix-to-find-headers that will will suggest to
node-gyp to look for headers based on the prefix

A PR to node-gyp will use this value when building
addons to automatially find and use the headers
if they have been installed locally

Signed-off-by: Michael Dawson <midawson@redhat.com>
PR-URL: https://github.com/nodejs/node/pull/51525
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
Michael Dawson 2023-12-13 04:44:13 +00:00
parent 7fb80e5d27
commit 9936d4586d

View File

@ -123,6 +123,12 @@ parser.add_argument('--no-cross-compiling',
default=None,
help='force build to be considered as NOT cross compiled')
parser.add_argument('--use-prefix-to-find-headers',
action='store_true',
dest='use_prefix_to_find_headers',
default=None,
help='use the prefix to look for pre-installed headers')
parser.add_argument('--dest-os',
action='store',
dest='dest_os',
@ -1252,6 +1258,7 @@ def configure_node(o):
o['variables']['debug_node'] = b(options.debug_node)
o['default_configuration'] = 'Debug' if options.debug else 'Release'
o['variables']['error_on_warn'] = b(options.error_on_warn)
o['variables']['use_prefix_to_find_headers'] = b(options.use_prefix_to_find_headers)
host_arch = host_arch_win() if os.name == 'nt' else host_arch_cc()
target_arch = options.dest_cpu or host_arch