Files
Divy Srivastava 951fe30362 Jitless aarch64-apple-ios builds (#2011)
* spike: build V8 from source for iOS (sim) + jitless smoke test

- build.rs: add iOS branch for bindgen clang args (iphoneos/iphonesimulator
  sysroot + arm64-apple-ios[-simulator] target triple).
- iOS gn build driven via GN_ARGS (target_os=ios, target_environment,
  ios_deployment_target, v8_enable_webassembly=false to satisfy torque).
- examples/ios_jitless.rs: forces --jitless and runs recursive JS; verified
  on the iOS simulator (fib(25)=75025).

* Add iOS (device + simulator) build support

Build V8 from source for aarch64-apple-ios and aarch64-apple-ios-sim, and
publish the static libs from CI like the other targets.

- build.rs: select iOS settings automatically per target (no extra GN args).
  The simulator keeps the JIT; the device build is jitless -- iOS denies the
  JIT entitlement to non-WebKit apps -- which requires V8's optimizing tiers
  (Sparkplug/Maglev/Turbofan) and WebAssembly disabled. bindgen is pointed at
  the iphoneos/iphonesimulator SDK with the matching clang target triple.
- ci.yml: add aarch64-apple-ios and aarch64-apple-ios-sim (release) to the
  matrix; iOS is cross-compiled so it gets a build-only step instead of the
  test/clippy steps, and the existing publish step uploads the gzipped lib.
- README: document the iOS build.
- examples/ios_jitless.rs: forces --jitless and runs recursive JS; verified
  on the iOS simulator (fib(25)=75025).

Verified locally: V8 builds from source for both iOS targets (arm64); the
v8 crate links against the simulator lib and runs JS on the simulator,
including in --jitless mode. The device lib builds with compile-time jitless.
CI rows are best-effort (no iOS runner available to self-test).

* ci(ios): build iOS with simdutf (the variant downstream consumers need)
2026-07-09 21:18:11 +05:30
..
2020-10-16 11:15:16 -04:00
2026-02-16 01:36:15 +00:00