Skip to content

Commit 4892428

Browse files
committed
Remove OpenFoundation dependency
1 parent ea17b0a commit 4892428

8 files changed

Lines changed: 99 additions & 33 deletions

File tree

Package.resolved

Lines changed: 1 addition & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@ let package = Package(
5757
),
5858
// C Shims for OpenSwiftUI
5959
.target(
60-
name: "OpenSwiftUIShims",
61-
dependencies: [.product(name: "OpenFoundation", package: "OpenFoundation")]
60+
name: "OpenSwiftUIShims"
6261
),
6362
.binaryTarget(name: "CoreServices", path: "PrivateFrameworks/CoreServices.xcframework"),
6463
openSwiftUITarget,
@@ -164,12 +163,10 @@ if compatibilityTestCondition {
164163
let useLocalDeps = envEnable("OPENSWIFTUI_USE_LOCAL_DEPS")
165164
if useLocalDeps {
166165
package.dependencies += [
167-
.package(path: "../OpenFoundation"),
168166
.package(path: "../OpenGraph"),
169167
]
170168
} else {
171169
package.dependencies += [
172-
.package(url: "https://github.com/OpenSwiftUIProject/OpenFoundation", from: "0.0.1"),
173170
// FIXME: on Linux platform: OG contains unsafe build flags which prevents us using version dependency
174171
.package(url: "https://github.com/OpenSwiftUIProject/OpenGraph", branch: "main"),
175172
]

Sources/OpenSwiftUIShims/ProtocolDescriptor.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@
77

88
#include "ProtocolDescriptor.h"
99

10-
OF_EXPORT
10+
OPENSWIFTUI_EXPORT
1111
const void *$s11OpenSwiftUI4ViewMp;
1212

13-
OF_EXPORT
13+
OPENSWIFTUI_EXPORT
1414
const void *_viewProtocolDescriptor(void) {
1515
return &$s11OpenSwiftUI4ViewMp;
1616
}
1717

18-
OF_EXPORT
18+
OPENSWIFTUI_EXPORT
1919
const void *$s11OpenSwiftUI12ViewModifierMp;
2020

21-
OF_EXPORT
21+
OPENSWIFTUI_EXPORT
2222
const void *_viewModifierProtocolDescriptor(void) {
2323
return &$s11OpenSwiftUI12ViewModifierMp;
2424
}

Sources/OpenSwiftUIShims/include/LockedPointer.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#ifndef LockedPointer_h
99
#define LockedPointer_h
1010

11-
#include <OpenFoundation/OpenFoundation.h>
11+
#include "OpenSwiftUIBase.h"
1212

1313
#if __has_include(<os/lock.h>)
1414
#include <os/lock.h>
@@ -20,13 +20,15 @@
2020
#define OPENSWIFTUI_LOCK_T int32_t
2121
#include <stdint.h>
2222
#include <unistd.h>
23-
OF_INLINE void __OPENSWIFTUI_Lock(volatile OPENSWIFTUI_LOCK_T * _Nonnull lock) {
23+
OPENSWIFTUI_INLINE
24+
void __OPENSWIFTUI_Lock(volatile OPENSWIFTUI_LOCK_T * _Nonnull lock) {
2425
while (__sync_val_compare_and_swap(lock, 0, ~0) != 0) {
2526
sleep(0);
2627
}
2728
}
2829

29-
OF_INLINE void __OPENSWIFTUI_Unlock(volatile OPENSWIFTUI_LOCK_T * _Nonnull lock) {
30+
OPENSWIFTUI_INLINE
31+
void __OPENSWIFTUI_Unlock(volatile OPENSWIFTUI_LOCK_T * _Nonnull lock) {
3032
__sync_synchronize();
3133
*lock = 0;
3234
}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
//
2+
// OpenSwiftUIBase.h
3+
//
4+
//
5+
// Created by Kyle on 2024/2/16.
6+
//
7+
8+
#ifndef OpenSwiftUIBase_h
9+
#define OpenSwiftUIBase_h
10+
11+
#include <stdint.h>
12+
#include <stdbool.h>
13+
#include <stdio.h>
14+
#ifdef __APPLE__
15+
#include <TargetConditionals.h>
16+
#ifndef TARGET_OS_DARWIN
17+
#define TARGET_OS_DARWIN TARGET_OS_MAC
18+
#endif
19+
#else
20+
#ifndef TARGET_OS_DARWIN
21+
#define TARGET_OS_DARWIN 0
22+
#endif
23+
#endif
24+
25+
#if defined(__cplusplus)
26+
#define OPENSWIFTUI_INLINE inline
27+
#else
28+
#define OPENSWIFTUI_INLINE
29+
#endif
30+
31+
#if defined(__cplusplus)
32+
#define OPENSWIFTUI_EXTERN_C_BEGIN extern "C" {
33+
#define OPENSWIFTUI_EXTERN_C_END }
34+
#else
35+
#define OPENSWIFTUI_EXTERN_C_BEGIN
36+
#define OPENSWIFTUI_EXTERN_C_END
37+
#endif
38+
39+
#if __has_feature(assume_nonnull)
40+
#define OPENSWIFTUI_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin")
41+
#define OPENSWIFTUI_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end")
42+
#else
43+
#define OPENSWIFTUI_ASSUME_NONNULL_BEGIN
44+
#define OPENSWIFTUI_ASSUME_NONNULL_END
45+
#endif
46+
47+
#if TARGET_OS_WIN32
48+
#if defined(__cplusplus)
49+
#define _OPENSWIFTUI_EXTERN extern "C"
50+
#else
51+
#define _OPENSWIFTUI_EXTERN extern
52+
#endif
53+
54+
#if defined(_WINDLL)
55+
#if defined(OPENSWIFTUI_EXPORTS)
56+
#define OPENSWIFTUI_EXPORT _OPENSWIFTUI_EXTERN __declspec(dllexport)
57+
#else
58+
#define OPENSWIFTUI_EXPORT _OPENSWIFTUI_EXTERN __declspec(dllimport)
59+
#endif
60+
#else
61+
#define OPENSWIFTUI_EXPORT _OPENSWIFTUI_EXTERN
62+
#endif
63+
#else
64+
#define OPENSWIFTUI_EXPORT extern
65+
#endif
66+
67+
#if __has_attribute(swift_private)
68+
# define OPENSWIFTUI_REFINED_FOR_SWIFT __attribute__((swift_private))
69+
#else
70+
# define OPENSWIFTUI_REFINED_FOR_SWIFT
71+
#endif
72+
73+
#if __has_attribute(swift_name)
74+
# define OPENSWIFTUI_SWIFT_NAME(_name) __attribute__((swift_name(#_name)))
75+
#else
76+
# define OPENSWIFTUI_SWIFT_NAME(_name)
77+
#endif
78+
79+
#endif /* OpenSwiftUIBase_h */

Sources/OpenSwiftUIShims/include/ProtocolDescriptor.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@
88
#ifndef ProtocolDescriptor_h
99
#define ProtocolDescriptor_h
1010

11-
#include <OpenFoundation/OpenFoundation.h>
11+
#include "OpenSwiftUIBase.h"
1212

13-
OF_ASSUME_NONNULL_BEGIN
13+
OPENSWIFTUI_ASSUME_NONNULL_BEGIN
1414

15-
OF_EXPORT
15+
OPENSWIFTUI_EXPORT
1616
const void *_viewProtocolDescriptor(void);
1717

18-
OF_EXPORT
18+
OPENSWIFTUI_EXPORT
1919
const void *_viewModifierProtocolDescriptor(void);
2020

21-
OF_ASSUME_NONNULL_END
21+
OPENSWIFTUI_ASSUME_NONNULL_END
2222

2323
#endif /* ProtocolDescriptor_h */

Sources/OpenSwiftUIShims/include/TLS.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,12 @@
88
#ifndef TLS_h
99
#define TLS_h
1010

11-
#include <OpenFoundation/OpenFoundation.h>
12-
#include <stdio.h>
11+
#include "OpenSwiftUIBase.h"
1312

14-
OF_EXPORT
13+
OPENSWIFTUI_EXPORT
1514
void _setThreadTransactionData(void * _Nullable data);
1615

17-
OF_EXPORT
16+
OPENSWIFTUI_EXPORT
1817
void * _Nullable _threadTransactionData(void);
1918

2019
#endif /* TLS_h */

Sources/OpenSwiftUIShims/include/dyld_Private.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
#ifndef dyld_Private_h
99
#define dyld_Private_h
1010

11-
#include <OpenFoundation/OpenFoundation.h>
12-
#include <stdlib.h>
13-
#include <stdbool.h>
11+
#include "OpenSwiftUIBase.h"
1412

1513
typedef uint32_t dyld_platform_t;
1614

0 commit comments

Comments
 (0)