build: fix makefile script on windows#33136
build: fix makefile script on windows#33136Hakerh400 wants to merge 1 commit intonodejs:masterfrom Hakerh400:lint
Conversation
|
@nodejs/build-files |
|
I started a CI run. I think the problem here might be that not all systems have find(1) in |
There was a problem hiding this comment.
We should not hardcode absolute paths to commands in the Makefile.
The conventional way to allow overriding of commands in a Makefile is to use variables, e.g. for Python:
Line 4 in 2cd7970
make PYTHON=/my/path/python. You could then also get the configure script to determine values for the variables and write them to config.mk if you want to avoid specifying the variable every time: Lines 1781 to 1801 in 2cd7970
|
@richardlau PTAL |
That is no longer a problem. The absolute path is now used only on Windows, and MSYS itself hardcoded it into |
On Windows there is a program "find.exe" located in C:\Windows\System32, which is usually in the PATH before MSYS version of that program (required for running makefile). The Windows version of the program uses different CLI syntax, which results in errors like "File not found - *node_modules*" This commit specifies the full path to the program, which is also properly handled by MSYS on Windows.
|
friendly ping |
On Windows there is a program "find.exe" located in C:\Windows\System32, which is usually in the PATH before MSYS version of that program (required for running makefile). The Windows version of the program uses different CLI syntax, which results in errors like "File not found - *node_modules*" This commit specifies the full path to the program, which is also properly handled by MSYS on Windows. PR-URL: nodejs#33136 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
|
Landed in 5e4c025 |
On Windows there is a program "find.exe" located in C:\Windows\System32, which is usually in the PATH before MSYS version of that program (required for running makefile). The Windows version of the program uses different CLI syntax, which results in errors like "File not found - *node_modules*" This commit specifies the full path to the program, which is also properly handled by MSYS on Windows. PR-URL: #33136 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
On Windows there is a program "find.exe" located in C:\Windows\System32, which is usually in the PATH before MSYS version of that program (required for running makefile). The Windows version of the program uses different CLI syntax, which results in errors like "File not found - *node_modules*" This commit specifies the full path to the program, which is also properly handled by MSYS on Windows. PR-URL: #33136 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
|
Should this go back to v12.x? It'll need a manual backport if yes but feel free to remove the label if not! |
On Windows there is a program "find.exe" located in C:\Windows\System32, which is usually in the PATH before MSYS version of that program (required for running makefile). The Windows version of the program uses different CLI syntax, which results in errors like "File not found - *node_modules*" This commit specifies the full path to the program, which is also properly handled by MSYS on Windows. PR-URL: #33136 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
On Windows there is a program
find.exelocated inC:\Windows\System32, which is usually in the PATH beforeMSYS version of that program (required for running makefile).
The Windows version of the program uses different CLI syntax,
which results in errors like
This commit specifies the full path to the program, which is also
properly handled by MSYS on Windows.
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes