Skip to content

build,tools: fix cmd_regen_makefile

Currently, after having configured and built node and then updating a dependent target the following error is produced when trying to rebuild the project:

$ ./configure && make -j8
$ touch node.gypi
$ make -j8
configure: error: no such option: -f
make[1]: *** [Makefile:685: Makefile] Error 2

The reason for this is that the target cmd_regen_makefile is using the command configure instead of gyp_node.py in out/Makefile:

cmd_regen_makefile = cd $(srcdir); /work/nodejs/node/configure -fmake

As far as I can tell gyp is using sys.argv[0] as the gyp_binary in __init__.py:

params = {'options': options,
              ...
              'gyp_binary': sys.argv[0],

But when called via 'configure' sys.argv[0] is 'configure' instead of gyp_node.py leading to the above error.

This commit suggests setting the program name explicitly in gyp_node.py. Alternatively perhaps this could be done in configure.py instead but I was not sure what would be best.

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

Merge request reports

Loading