[ios] Fix example ios toolchain

If the minimum deployment target is not equal to the SDK version
(say deployment target of 14.0 using iOS 15.0 SDK) linking swift
code requires using compatibility libraries. Those are part of
the toolchain and not the SDK.

Fix the example to add the necessary path to `lib_dirs`.

Bug: none
Change-Id: Ie3ce15f851896f6623c09c88645e409b236754e8
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/11700
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
diff --git a/examples/ios/build/BUILD.gn b/examples/ios/build/BUILD.gn
index 2831117..b6bb6de 100644
--- a/examples/ios/build/BUILD.gn
+++ b/examples/ios/build/BUILD.gn
@@ -82,7 +82,21 @@
                           ],
                           "json")
 
+  _lib_swift_dir = "${_sdk_info.toolchain_path}/usr/lib/swift"
+  if (current_os == "ios") {
+    if (_sdk_info.is_simulator) {
+      _system_lib_swift_dir = "$_lib_swift_dir/iphonesimulator"
+    } else {
+      _system_lib_swift_dir = "$_lib_swift_dir/iphoneos"
+    }
+  } else {
+    _system_lib_swift_dir = "$_lib_swift_dir/macosx"
+  }
+
   config("swift_libdir") {
-    lib_dirs = [ "${_sdk_info.sdk_path}/usr/lib/swift" ]
+    lib_dirs = [
+      "${_sdk_info.sdk_path}/usr/lib/swift",
+      _system_lib_swift_dir,
+    ]
   }
 }
diff --git a/examples/ios/build/config/ios/scripts/sdk_info.py b/examples/ios/build/config/ios/scripts/sdk_info.py
index 827aee0..831a3ed 100644
--- a/examples/ios/build/config/ios/scripts/sdk_info.py
+++ b/examples/ios/build/config/ios/scripts/sdk_info.py
@@ -6,6 +6,7 @@
 
 import argparse
 import json
+import os
 import re
 import subprocess
 import sys
@@ -75,6 +76,11 @@
       ['xcrun', '--sdk', sdk, '--show-sdk-' + info]).strip()
 
 
+def GetDeveloperDir():
+  """Returns the developer dir."""
+  return subprocess.check_output(['xcode-select', '-print-path']).strip()
+
+
 def GetSDKInfoForCpu(target_cpu, sdk_version, deployment_target):
   """Returns a dictionary with information about the SDK."""
   platform = GetPlatform(target_cpu)
@@ -97,6 +103,8 @@
   sdk_info['sdk'] = effective_sdk
   sdk_info['sdk_build'] = ExtractSDKInfo('build-version', effective_sdk)
   sdk_info['sdk_path'] = ExtractSDKInfo('path', effective_sdk)
+  sdk_info['toolchain_path'] = os.path.join(
+      GetDeveloperDir(), 'Toolchains/XcodeDefault.xctoolchain')
   sdk_info['sdk_version'] = sdk_version
   sdk_info['target'] = target
   sdk_info['xcode_build'] = xcode_build