Skip to content

Commit e27e709

Browse files
sgallagherRafaelGSS
authored andcommitted
build: add --libdir flag to configure
This will allow distribution packages to select an alternative location for the unofficial libnode.so. For example, on Fedora it will install into /usr/lib64 on 64-bit systems. Signed-off-by: Stephen Gallagher <[email protected]> PR-URL: #44361 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]>
1 parent 754d26a commit e27e709

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

configure.py

+9
Original file line numberDiff line numberDiff line change
@@ -735,6 +735,14 @@
735735
help='compile shared library for embedding node in another project. ' +
736736
'(This mode is not officially supported for regular applications)')
737737

738+
parser.add_argument('--libdir',
739+
action='store',
740+
dest='libdir',
741+
default='lib',
742+
help='a directory to install the shared library into relative to the '
743+
'prefix. This is a no-op if --shared is not specified. ' +
744+
'(This mode is not officially supported for regular applications)')
745+
738746
parser.add_argument('--without-v8-platform',
739747
action='store_true',
740748
dest='without_v8_platform',
@@ -1376,6 +1384,7 @@ def configure_node(o):
13761384
o['variables']['node_no_browser_globals'] = b(options.no_browser_globals)
13771385

13781386
o['variables']['node_shared'] = b(options.shared)
1387+
o['variables']['libdir'] = options.libdir
13791388
node_module_version = getmoduleversion.get_version()
13801389

13811390
if options.dest_os == 'android':

tools/install.py

+2-7
Original file line numberDiff line numberDiff line change
@@ -169,19 +169,14 @@ def files(action):
169169

170170
# install libnode.version.so
171171
so_name = 'libnode.' + re.sub(r'\.x$', '.so', variables.get('shlib_suffix'))
172-
action([output_prefix + so_name], 'lib/' + so_name)
172+
action([output_prefix + so_name], variables.get('libdir') + '/' + so_name)
173173

174174
# create symlink of libnode.so -> libnode.version.so (C++ addons compat)
175175
link_path = abspath(install_path, 'lib/libnode.so')
176176
try_symlink(so_name, link_path)
177177
else:
178178
output_lib = 'libnode.' + variables.get('shlib_suffix')
179-
action([output_prefix + output_lib], 'lib/' + output_lib)
180-
if 'true' == variables.get('node_use_dtrace'):
181-
action(['out/Release/node.d'], 'lib/dtrace/node.d')
182-
183-
# behave similarly for systemtap
184-
action(['src/node.stp'], 'share/systemtap/tapset/')
179+
action([output_prefix + output_lib], variables.get('libdir') + '/' + output_lib)
185180

186181
action(['deps/v8/tools/gdbinit'], 'share/doc/node/')
187182
action(['deps/v8/tools/lldb_commands.py'], 'share/doc/node/')

0 commit comments

Comments
 (0)