Add fcl-net and OpenSSL to cross-build toolchain#339
Conversation
- Copy `fcl-net` and `openssl` sources into the toolchain cache - Add their source paths to CI cross-compilation include lists - Bump toolchain cache version to invalidate stale builds
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
Suite Timing
Measured on ubuntu-latest x64. |
Benchmark Results386 benchmarks Interpreted: 🟢 378 improved · 🔴 5 regressed · 3 unchanged · avg +24.2% arraybuffer.js — Interp: 🟢 14 · avg +30.7% · Bytecode: 🟢 2, 🔴 3, 9 unch. · avg +0.7%
arrays.js — Interp: 🟢 19 · avg +29.6% · Bytecode: 🟢 7, 🔴 2, 10 unch. · avg +1.0%
async-await.js — Interp: 🟢 6 · avg +43.9% · Bytecode: 🟢 1, 5 unch. · avg +2.5%
base64.js — Interp: 🟢 10 · avg +26.4% · Bytecode: 🔴 1, 9 unch. · avg -0.7%
classes.js — Interp: 🟢 30, 1 unch. · avg +21.7% · Bytecode: 🟢 2, 🔴 5, 24 unch. · avg -0.2%
closures.js — Interp: 🟢 11 · avg +26.6% · Bytecode: 🟢 2, 🔴 1, 8 unch. · avg +0.7%
collections.js — Interp: 🟢 12 · avg +27.2% · Bytecode: 🟢 7, 5 unch. · avg +1.7%
csv.js — Interp: 🟢 13 · avg +23.7% · Bytecode: 🟢 1, 12 unch. · avg +0.1%
destructuring.js — Interp: 🟢 22 · avg +23.6% · Bytecode: 🟢 6, 🔴 1, 15 unch. · avg +1.0%
fibonacci.js — Interp: 🟢 8 · avg +27.0% · Bytecode: 🟢 1, 7 unch. · avg +0.0%
float16array.js — Interp: 🟢 32 · avg +24.9% · Bytecode: 🟢 9, 🔴 5, 18 unch. · avg +0.7%
for-of.js — Interp: 🟢 7 · avg +25.7% · Bytecode: 🟢 1, 6 unch. · avg -0.5%
helpers/bench-module.js — Interp: 0 · Bytecode: 0
iterators.js — Interp: 🟢 42 · avg +18.6% · Bytecode: 🟢 4, 🔴 8, 30 unch. · avg -0.6%
json.js — Interp: 🟢 20 · avg +24.4% · Bytecode: 🟢 3, 🔴 4, 13 unch. · avg -1.0%
jsx.jsx — Interp: 🟢 20, 1 unch. · avg +22.4% · Bytecode: 🟢 5, 🔴 1, 15 unch. · avg +1.7%
modules.js — Interp: 🟢 9 · avg +23.4% · Bytecode: 🟢 3, 🔴 2, 4 unch. · avg +0.3%
numbers.js — Interp: 🟢 11 · avg +30.9% · Bytecode: 11 unch. · avg +0.9%
objects.js — Interp: 🟢 7 · avg +20.6% · Bytecode: 🟢 1, 6 unch. · avg +1.5%
promises.js — Interp: 🟢 12 · avg +28.6% · Bytecode: 🟢 5, 7 unch. · avg +2.6%
regexp.js — Interp: 🟢 11 · avg +19.0% · Bytecode: 🔴 9, 2 unch. · avg -3.1%
strings.js — Interp: 🟢 13, 🔴 5, 1 unch. · avg +12.0% · Bytecode: 🟢 6, 🔴 6, 7 unch. · avg +19.1%
tsv.js — Interp: 🟢 9 · avg +24.2% · Bytecode: 🔴 3, 6 unch. · avg -0.8%
typed-arrays.js — Interp: 🟢 22 · avg +21.8% · Bytecode: 🟢 4, 🔴 13, 5 unch. · avg -2.3%
uint8array-encoding.js — Interp: 🟢 18 · avg +32.9% · Bytecode: 🟢 2, 🔴 8, 8 unch. · avg -17.6%
Measured on ubuntu-latest x64. Benchmark ranges compare cached main-branch min/max ops/sec with the PR run; overlapping ranges are treated as unchanged noise. Percentage deltas are secondary context. |
The cross make rtl does not produce sockets.ppu (Unix/Darwin) or winsock2.ppu (Windows), so HTTPClient.pas fails to compile on every non-native target. Explicitly compile these units from the FPC RTL source after the core RTL build, and install them into the RTL directory so the CI cross-compile step finds them. Bump cache version to v32 to force a toolchain rebuild. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
f468e54 to
4694451
Compare
FPC 3.2.2's WinSock2 unit does not include getaddrinfo, freeaddrinfo, or the TAddrInfo record. Declare them inline so HTTPClient compiles on Windows cross-targets. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
fcl-netandopensslsource packages to the cached FPC toolchain assets.