Skip to content

Commit d8a6247

Browse files
committed
mex macos reuse
1 parent 9ac3459 commit d8a6247

File tree

3 files changed

+25
-21
lines changed

3 files changed

+25
-21
lines changed

src/is_rosetta.cpp

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,7 @@
44
#include <vector>
55
#include <memory>
66

7-
8-
#if defined(__APPLE__) && defined(__MACH__)
9-
#include <cerrno>
10-
#include <sys/sysctl.h>
11-
#endif
12-
13-
static bool fs_is_rosetta()
14-
{
15-
#if defined(__APPLE__) && defined(__MACH__)
16-
// https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment
17-
int ret = 0;
18-
size_t size = sizeof(ret);
19-
20-
if (sysctlbyname("sysctl.proc_translated", &ret, &size, nullptr, 0) < 0)
21-
return false;
22-
23-
return ret == 1;
24-
#else
25-
return false;
26-
#endif
27-
}
7+
#include "macos_fs.h"
288

299

3010
class MexFunction : public matlab::mex::Function {

src/macos.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#if defined(__APPLE__) && defined(__MACH__)
2+
#include <cerrno>
3+
#include <sys/sysctl.h>
4+
#endif
5+
6+
#include "macos_fs.h"
7+
8+
9+
bool fs_is_rosetta()
10+
{
11+
#if defined(__APPLE__) && defined(__MACH__)
12+
// https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment
13+
int ret = 0;
14+
size_t size = sizeof(ret);
15+
16+
if (sysctlbyname("sysctl.proc_translated", &ret, &size, nullptr, 0) < 0)
17+
return false;
18+
19+
return ret == 1;
20+
#else
21+
return false;
22+
#endif
23+
}

src/macos_fs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
bool fs_is_rosetta();

0 commit comments

Comments
 (0)