@@ -181,9 +181,19 @@ def files(options, action):
|
181 | 181 | link_path = abspath(options.install_path, 'lib/libnode.so') |
182 | 182 | try_symlink(options, so_name, link_path) |
183 | 183 | else: |
184 | | -output_lib = 'libnode.' + options.variables.get('shlib_suffix') |
185 | | -action(options, [os.path.join(options.build_dir, output_lib)], |
186 | | -os.path.join(options.variables.get('libdir'), output_lib)) |
| 184 | +# Ninja and Makefile generators output the library in different directories; |
| 185 | +# find out which one we have, and install first found |
| 186 | +output_lib_name = 'libnode.' + options.variables.get('shlib_suffix') |
| 187 | +output_lib_candidate_paths = [ |
| 188 | +os.path.join(options.build_dir, output_lib_name), |
| 189 | +os.path.join(options.build_dir, "lib", output_lib_name), |
| 190 | + ] |
| 191 | +try: |
| 192 | +output_lib = next(filter(os.path.exists, output_lib_candidate_paths)) |
| 193 | +except StopIteration as not_found: |
| 194 | +raise RuntimeError("No libnode.so to install!") from not_found |
| 195 | +action(options, [output_lib], |
| 196 | +os.path.join(options.variables.get('libdir'), output_lib_name)) |
187 | 197 | |
188 | 198 | action(options, [os.path.join(options.v8_dir, 'tools/gdbinit')], 'share/doc/node/') |
189 | 199 | action(options, [os.path.join(options.v8_dir, 'tools/lldb_commands.py')], 'share/doc/node/') |
|