aboutsummaryrefslogtreecommitdiff
path: root/src/build_settings.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2025-07-14 18:11:28 +0100
committerGitHub <noreply@github.com>2025-07-14 18:11:28 +0100
commit02e5dc9948cfa4e0b96219d63bfd10c91591ec88 (patch)
tree168d6d68cd5dec1d21d5034ed2dbe8702adcc611 /src/build_settings.cpp
parent362c146f9dd995c7880a2a7a63e13784ee940dad (diff)
parent070943aa9865bda8c163dc76fde70a2602d447c4 (diff)
Merge pull request #5465 from harold-b/hb.ios-min-version-linker-fix
Provide default minimum version for iOS and apply its target triplet.
Diffstat (limited to 'src/build_settings.cpp')
-rw-r--r--src/build_settings.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp
index 312512568..094cf07f0 100644
--- a/src/build_settings.cpp
+++ b/src/build_settings.cpp
@@ -1907,12 +1907,16 @@ gb_internal void init_build_context(TargetMetrics *cross_target, Subtarget subta
// does not annoy the user with version warnings.
if (metrics->os == TargetOs_darwin) {
if (!bc->minimum_os_version_string_given) {
- bc->minimum_os_version_string = str_lit("11.0.0");
+ if (subtarget == Subtarget_Default) {
+ bc->minimum_os_version_string = str_lit("11.0.0");
+ } else if (subtarget == Subtarget_iOS || subtarget == Subtarget_iPhoneSimulator) {
+ // NOTE(harold): We default to 17.4 on iOS because that's when os_sync_wait_on_address was added and
+ // we'd like to avoid any potential App Store issues by using the private ulock_* there.
+ bc->minimum_os_version_string = str_lit("17.4");
+ }
}
- if (subtarget == Subtarget_Default) {
- bc->metrics.target_triplet = concatenate_strings(permanent_allocator(), bc->metrics.target_triplet, bc->minimum_os_version_string);
- }
+ bc->metrics.target_triplet = concatenate_strings(permanent_allocator(), bc->metrics.target_triplet, bc->minimum_os_version_string);
} else if (selected_subtarget == Subtarget_Android) {
init_android_values(bc->build_mode == BuildMode_Executable && (bc->command_kind & Command__does_build) != 0);
}