Skip to content

Commit ee423cf

Browse files
committed
Enhance VisionOS compatibility by adding missing type definitions in common and ggml source files. This update includes conditional type definitions for u_int, u_char, u_short, and uint to address legacy type issues on VisionOS across multiple files: common.cpp, ggml-backend.cpp, ggml-cpu.c, ggml-cpu.cpp, and ggml-metal.m.
1 parent c250ecb commit ee423cf

File tree

5 files changed

+34
-0
lines changed

5 files changed

+34
-0
lines changed

common/common.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@
3030
#include <vector>
3131

3232
#if defined(__APPLE__) && defined(__MACH__)
33+
#include <TargetConditionals.h>
34+
#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
35+
// VisionOS lacks some legacy types definitions
36+
typedef unsigned int u_int;
37+
typedef unsigned char u_char;
38+
typedef unsigned short u_short;
39+
#endif
3340
#include <sys/types.h>
3441
#include <sys/sysctl.h>
3542
#endif

ggml/src/ggml-backend.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@
2323
#include <vector>
2424

2525
#ifdef __APPLE__
26+
#include <TargetConditionals.h>
27+
#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
28+
// VisionOS lacks some legacy types definitions
29+
typedef unsigned int u_int;
30+
typedef unsigned char u_char;
31+
typedef unsigned short u_short;
32+
#endif
2633
#include <sys/types.h>
2734
#include <sys/sysctl.h>
2835
#endif

ggml/src/ggml-cpu/ggml-cpu.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2382,6 +2382,13 @@ bool ggml_is_numa(void) {
23822382
#if defined(__linux__) && defined(__aarch64__)
23832383
#include <sys/auxv.h>
23842384
#elif defined(__APPLE__)
2385+
#include <TargetConditionals.h>
2386+
#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
2387+
// VisionOS lacks some legacy types definitions
2388+
typedef unsigned int u_int;
2389+
typedef unsigned char u_char;
2390+
typedef unsigned short u_short;
2391+
#endif
23852392
#include <sys/sysctl.h>
23862393
#endif
23872394

ggml/src/ggml-cpu/ggml-cpu.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@
1515
#endif
1616

1717
#if defined(__APPLE__)
18+
#include <TargetConditionals.h>
19+
#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
20+
// VisionOS lacks some legacy types definitions
21+
typedef unsigned int u_int;
22+
typedef unsigned char u_char;
23+
typedef unsigned short u_short;
24+
#endif
1825
#include <sys/types.h>
1926
#include <sys/sysctl.h>
2027
#endif

ggml/src/ggml-metal/ggml-metal.m

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@
88

99
#import <Metal/Metal.h>
1010

11+
#include <TargetConditionals.h>
12+
#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
13+
// VisionOS lacks some legacy types definitions, stdint.h did not help either
14+
typedef unsigned int uint;
15+
#endif
16+
1117
#undef MIN
1218
#undef MAX
1319
#define MIN(a, b) ((a) < (b) ? (a) : (b))

0 commit comments

Comments
 (0)