Skip to content

Commit ce294c1

Browse files
authored
Remove OpenFoundation dependency (#36)
* Remove OpenFoundation dependency * Update TargetConditionals
1 parent ea17b0a commit ce294c1

10 files changed

+369
-35
lines changed

Package.resolved

+1-10
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,12 @@
11
{
22
"pins" : [
3-
{
4-
"identity" : "openfoundation",
5-
"kind" : "remoteSourceControl",
6-
"location" : "https://github.com/OpenSwiftUIProject/OpenFoundation",
7-
"state" : {
8-
"revision" : "cd2cdb300d53e3e68fda8b690a703a7c5096d9d0",
9-
"version" : "0.0.2"
10-
}
11-
},
123
{
134
"identity" : "opengraph",
145
"kind" : "remoteSourceControl",
156
"location" : "https://github.com/OpenSwiftUIProject/OpenGraph",
167
"state" : {
178
"branch" : "main",
18-
"revision" : "d4f467d9780fcca4c268a1242a8ae90f61377c3d"
9+
"revision" : "8f0376278186b6e24e8d7a07a560f3efaa2fef1d"
1910
}
2011
},
2112
{

Package.swift

+1-4
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

+4-4
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/dyld_Private.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#include "dyld_Private.h"
99

10-
#if !TARGET_OS_DARWIN
10+
#if !OPENSWIFTUI_TARGET_OS_DARWIN
1111
bool dyld_program_sdk_at_least(dyld_build_version_t version) {
1212
return true;
1313
}

Sources/OpenSwiftUIShims/include/LockedPointer.h

+6-4
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,27 @@
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>
1515
#define OPENSWIFTUI_LOCK_T os_unfair_lock
1616
#define OPENSWIFTUI_LOCK_INIT OS_UNFAIR_LOCK_INIT
1717
#define OPENSWIFTUI_LOCK_LOCK(lock) os_unfair_lock_lock(lock)
1818
#define OPENSWIFTUI_LOCK_UNLOCK(lock) os_unfair_lock_unlock(lock)
19-
#elif TARGET_OS_LINUX
19+
#elif OPENSWIFTUI_TARGET_OS_LINUX
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
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
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+
#include "OpenSwiftUITargetConditionals.h"
15+
16+
#if defined(__cplusplus)
17+
#define OPENSWIFTUI_INLINE inline
18+
#else
19+
#define OPENSWIFTUI_INLINE
20+
#endif
21+
22+
#if defined(__cplusplus)
23+
#define OPENSWIFTUI_EXTERN_C_BEGIN extern "C" {
24+
#define OPENSWIFTUI_EXTERN_C_END }
25+
#else
26+
#define OPENSWIFTUI_EXTERN_C_BEGIN
27+
#define OPENSWIFTUI_EXTERN_C_END
28+
#endif
29+
30+
#if __has_feature(assume_nonnull)
31+
#define OPENSWIFTUI_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin")
32+
#define OPENSWIFTUI_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end")
33+
#else
34+
#define OPENSWIFTUI_ASSUME_NONNULL_BEGIN
35+
#define OPENSWIFTUI_ASSUME_NONNULL_END
36+
#endif
37+
38+
#if OPENSWIFTUI_TARGET_OS_WIN32
39+
#if defined(__cplusplus)
40+
#define _OPENSWIFTUI_EXTERN extern "C"
41+
#else
42+
#define _OPENSWIFTUI_EXTERN extern
43+
#endif
44+
45+
#if defined(_WINDLL)
46+
#if defined(OPENSWIFTUI_EXPORTS)
47+
#define OPENSWIFTUI_EXPORT _OPENSWIFTUI_EXTERN __declspec(dllexport)
48+
#else
49+
#define OPENSWIFTUI_EXPORT _OPENSWIFTUI_EXTERN __declspec(dllimport)
50+
#endif
51+
#else
52+
#define OPENSWIFTUI_EXPORT _OPENSWIFTUI_EXTERN
53+
#endif
54+
#else
55+
#define OPENSWIFTUI_EXPORT extern
56+
#endif
57+
58+
#if __has_attribute(swift_private)
59+
# define OPENSWIFTUI_REFINED_FOR_SWIFT __attribute__((swift_private))
60+
#else
61+
# define OPENSWIFTUI_REFINED_FOR_SWIFT
62+
#endif
63+
64+
#if __has_attribute(swift_name)
65+
# define OPENSWIFTUI_SWIFT_NAME(_name) __attribute__((swift_name(#_name)))
66+
#else
67+
# define OPENSWIFTUI_SWIFT_NAME(_name)
68+
#endif
69+
70+
#endif /* OpenSwiftUIBase_h */

0 commit comments

Comments
 (0)