Skip to content

Commit 16dd919

Browse files
committed
fix: add popen/_popen compat to remaining Windows-affected files
publisher.cppm, stdmod.cppm, p1689.cppm, ninja_backend.cppm all use popen/pclose which is _popen/_pclose on Windows MSVC.
1 parent 9ea7787 commit 16dd919

4 files changed

Lines changed: 14 additions & 0 deletions

File tree

src/build/ninja_backend.cppm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ module;
1616
#include <cstdlib>
1717
#if defined(_WIN32)
1818
#include <windows.h>
19+
#define popen _popen
20+
#define pclose _pclose
1921
#elif defined(__APPLE__)
2022
#include <mach-o/dyld.h> // _NSGetExecutablePath
2123
#endif

src/modgraph/p1689.cppm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
module;
2020
#include <cstdio>
2121
#include <cstdlib>
22+
#if defined(_WIN32)
23+
#define popen _popen
24+
#define pclose _pclose
25+
#endif
2226

2327
export module mcpp.modgraph.p1689;
2428

src/pm/publisher.cppm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
module;
66
#include <cstdio> // popen / pclose / fgets
7+
#if defined(_WIN32)
8+
#define popen _popen
9+
#define pclose _pclose
10+
#endif
711

812
export module mcpp.pm.publisher;
913

src/toolchain/stdmod.cppm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
module;
22
#include <cstdio> // popen, pclose, fgets, FILE
33
#include <cstdlib> // getenv
4+
#if defined(_WIN32)
5+
#define popen _popen
6+
#define pclose _pclose
7+
#endif
48

59
// mcpp.toolchain.stdmod — pre-build the `import std` BMI and cache it.
610
//

0 commit comments

Comments
 (0)