Skip to content

Commit e54c78f

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

File tree

4 files changed

+26
-22
lines changed

4 files changed

+26
-22
lines changed

private/get_mex_sources.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
top (1,1) string % package directory
44
end
55

6-
win = "";
6+
win = string.empty;
77
if ispc
88
win = fullfile(top, "src/windows.cpp");
99
end

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)