Commit df1b763
committed
fix(build): disable shell wrapper when passing custom environment
Root cause: When exec() uses shell: true (WIN32), the spawn helper wraps
commands in cmd.exe. Environment variables passed via env option are not
properly propagated from cmd.exe to subprocesses (python, ninja).
Debug output confirmed:
- ✅ VS variables exist in process.env
- ✅ env option passed with 221 variables
- ❌ configure.py subprocess can't see variables
Solution: Set shell: false when passing custom env on Windows. This calls
python/ninja directly without cmd.exe wrapper, ensuring environment variables
are inherited correctly.
Applied to:
- configure.py execution (line 1455)
- ninja build execution (line 1511)
This is the correct fix for the Windows smol build failure.1 parent 8352944 commit df1b763
1 file changed
Lines changed: 10 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1447 | 1447 | | |
1448 | 1448 | | |
1449 | 1449 | | |
| 1450 | + | |
| 1451 | + | |
1450 | 1452 | | |
1451 | 1453 | | |
1452 | 1454 | | |
1453 | | - | |
| 1455 | + | |
| 1456 | + | |
1454 | 1457 | | |
1455 | 1458 | | |
1456 | 1459 | | |
| |||
1502 | 1505 | | |
1503 | 1506 | | |
1504 | 1507 | | |
1505 | | - | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
1506 | 1514 | | |
1507 | 1515 | | |
1508 | 1516 | | |
| |||
0 commit comments