Skip to content

Commit ff2c07c

Browse files
committed
Fix the libffi patch, revert incidental changes
1 parent 5a757de commit ff2c07c

File tree

1 file changed

+42
-44
lines changed

1 file changed

+42
-44
lines changed

patch/libffi.patch

Lines changed: 42 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,7 @@
1+
diff -Naur libffi-3.4.7-orig/config.sub libffi-3.4.7/config.sub
12
--- libffi-3.4.7-orig/config.sub 2024-12-13 10:38:19
2-
+++ libffi-3.4.7/config.sub 2025-02-26 18:50:21
3-
@@ -4,6 +4,7 @@
4-
5-
# shellcheck disable=SC2006,SC2268 # see below for rationale
6-
7-
+# Patched 2024-02-03 to include support for arm64_32 and iOS/tvOS/watchOS simulators
8-
timestamp='2024-01-01'
9-
10-
# This file is free software; you can redistribute it and/or modify it
11-
@@ -1127,7 +1128,7 @@
12-
xscale-* | xscalee[bl]-*)
13-
cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
14-
;;
15-
- arm64-* | arm64_32-* | aarch64le-*)
16-
+ arm64-* | aarch64le-* | arm64_32-*)
17-
cpu=aarch64
18-
;;
19-
20-
@@ -1768,7 +1769,7 @@
3+
+++ libffi-3.4.7/config.sub 2025-03-09 14:09:03
4+
@@ -1768,7 +1768,7 @@
215
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
226
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
237
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
@@ -26,24 +10,21 @@
2610
;;
2711
# This one is extra strict with allowed versions
2812
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
29-
@@ -1864,10 +1865,12 @@
30-
;;
13+
@@ -1865,8 +1865,10 @@
3114
os2-emx-)
3215
;;
33-
- ios*-simulator* | tvos*-simulator* | watchos*-simulator*)
16+
ios*-simulator* | tvos*-simulator* | watchos*-simulator*)
3417
- ;;
18+
+ ;;
3519
*-eabi*- | *-gnueabi*-)
36-
;;
37-
+ ios*-simulator- | tvos*-simulator- | watchos*-simulator- )
3820
+ ;;
3921
+ ios*-macabi- )
40-
+ ;;
22+
;;
4123
none--*)
4224
# None (no kernel, i.e. freestanding / bare metal),
43-
# can be paired with an machine code file format
4425
diff -Naur libffi-3.4.7-orig/generate-darwin-source-and-headers.py libffi-3.4.7/generate-darwin-source-and-headers.py
4526
--- libffi-3.4.7-orig/generate-darwin-source-and-headers.py 2024-06-01 18:42:02
46-
+++ libffi-3.4.7/generate-darwin-source-and-headers.py 2025-02-23 09:40:26
27+
+++ libffi-3.4.7/generate-darwin-source-and-headers.py 2025-03-09 14:29:38
4728
@@ -8,7 +8,7 @@
4829

4930

@@ -59,15 +40,15 @@ diff -Naur libffi-3.4.7-orig/generate-darwin-source-and-headers.py libffi-3.4.7/
5940

6041
+class macosx_x86_64_platform(x86_64_platform):
6142
+ target = 'x86_64-apple-ios-macabi'
62-
+ directory = 'darwin_ios'
43+
+ directory = 'darwin_maccatalyst'
6344
+ sdk = 'macosx'
6445
+ version_min = '-mios-version-min=14.2'
6546
+ abi = 'macabi'
6647

6748
+
6849
+class macosx_arm64_platform(arm64_platform):
6950
+ target = 'arm64-apple-ios-macabi'
70-
+ directory = 'darwin_ios'
51+
+ directory = 'darwin_maccatalyst'
7152
+ sdk = 'macosx'
7253
+ version_min = '-mios-version-min=14.2'
7354
+ abi = 'macabi'
@@ -89,7 +70,7 @@ diff -Naur libffi-3.4.7-orig/generate-darwin-source-and-headers.py libffi-3.4.7/
8970
generate_ios=True,
9071
generate_tvos=True,
9172
generate_watchos=True,
92-
+ enable_maccatalyst=True,
73+
+ generate_maccatalyst=True,
9374
+ enable_i386=True,
9475
+ enable_armv7=True,
9576
):
@@ -106,9 +87,9 @@ diff -Naur libffi-3.4.7-orig/generate-darwin-source-and-headers.py libffi-3.4.7/
10687
+ if enable_armv7:
10788
+ copy_src_platform_files(ios_device_armv7_platform)
10889
copy_src_platform_files(ios_device_arm64_platform)
109-
+ if enable_maccatalyst:
110-
+ copy_src_platform_files(macosx_x86_64_platform)
111-
+ copy_src_platform_files(macosx_arm64_platform)
90+
+ if generate_maccatalyst:
91+
+ copy_src_platform_files(macosx_x86_64_platform)
92+
+ copy_src_platform_files(macosx_arm64_platform)
11293
if generate_osx:
11394
copy_src_platform_files(desktop_x86_64_platform)
11495
copy_src_platform_files(desktop_arm64_platform)
@@ -138,9 +119,9 @@ diff -Naur libffi-3.4.7-orig/generate-darwin-source-and-headers.py libffi-3.4.7/
138119
+ if enable_armv7:
139120
+ build_target(ios_device_armv7_platform, platform_headers)
140121
build_target(ios_device_arm64_platform, platform_headers)
141-
+ if enable_maccatalyst:
142-
+ build_target(macosx_x86_64_platform, platform_headers)
143-
+ build_target(macosx_arm64_platform, platform_headers)
122+
+ if generate_maccatalyst:
123+
+ build_target(macosx_x86_64_platform, platform_headers)
124+
+ build_target(macosx_arm64_platform, platform_headers)
144125
if generate_osx:
145126
build_target(desktop_x86_64_platform, platform_headers)
146127
build_target(desktop_arm64_platform, platform_headers)
@@ -159,19 +140,36 @@ diff -Naur libffi-3.4.7-orig/generate-darwin-source-and-headers.py libffi-3.4.7/
159140
build_target(watchos_device_arm64_32_platform, platform_headers)
160141

161142
mkdir_p('darwin_common/include')
162-
@@ -302,6 +334,8 @@
163-
parser.add_argument('--only-osx', action='store_true', default=False)
164-
parser.add_argument('--only-tvos', action='store_true', default=False)
165-
parser.add_argument('--only-watchos', action='store_true', default=False)
143+
@@ -298,15 +330,24 @@
144+
145+
if __name__ == '__main__':
146+
parser = argparse.ArgumentParser()
147+
- parser.add_argument('--only-ios', action='store_true', default=False)
148+
- parser.add_argument('--only-osx', action='store_true', default=False)
149+
- parser.add_argument('--only-tvos', action='store_true', default=False)
150+
- parser.add_argument('--only-watchos', action='store_true', default=False)
151+
+ only_group = parser.add_mutually_exclusive_group()
152+
+ # Enforce only one of these options to be specified, default is all
153+
+ only_group.add_argument('--only-ios', action='store_true', default=False)
154+
+ only_group.add_argument('--only-osx', action='store_true', default=False)
155+
+ only_group.add_argument('--only-tvos', action='store_true', default=False)
156+
+ only_group.add_argument('--only-watchos', action='store_true', default=False)
157+
+ only_group.add_argument('--only-maccatalyst', action='store_true', default=False)
166158
+ parser.add_argument('--disable-i386', action='store_true', default=False)
167159
+ parser.add_argument('--disable-armv7', action='store_true', default=False)
168160
args = parser.parse_args()
169161

162+
+ enable_all = not any((args.only_ios, args.only_osx, args.only_tvos, args.only_watchos, args.only_maccatalyst))
170163
generate_source_and_headers(
171-
@@ -309,4 +343,6 @@
172-
generate_ios=not args.only_osx and not args.only_tvos and not args.only_watchos,
173-
generate_tvos=not args.only_ios and not args.only_osx and not args.only_watchos,
174-
generate_watchos=not args.only_ios and not args.only_osx and not args.only_tvos,
164+
- generate_osx=not args.only_ios and not args.only_tvos and not args.only_watchos,
165+
- generate_ios=not args.only_osx and not args.only_tvos and not args.only_watchos,
166+
- generate_tvos=not args.only_ios and not args.only_osx and not args.only_watchos,
167+
- generate_watchos=not args.only_ios and not args.only_osx and not args.only_tvos,
168+
+ generate_osx=enable_all or args.only_osx,
169+
+ generate_ios=enable_all or args.only_ios,
170+
+ generate_tvos=enable_all or args.only_tvos,
171+
+ generate_watchos=enable_all or args.only_watchos,
172+
+ generate_maccatalyst=enable_all or args.only_maccatalyst,
175173
+ enable_i386=not args.disable_i386,
176174
+ enable_armv7=not args.disable_armv7,
177175
)

0 commit comments

Comments
 (0)