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* \
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
4425diff -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