From 4f1b94bf339c8e1bf17c3a1fcd56f6326afe448f Mon Sep 17 00:00:00 2001 From: Chris Speciale <26172437+dimensionscape@users.noreply.github.com> Date: Sun, 11 Oct 2026 06:03:54 -0400 Subject: [PATCH 1/2] Fix Android builds missing cstdio for sscanf #1393 parses the GC tuning variables with std::sscanf, but GcCommon.cpp never includes . Desktop standard headers happen to pull it in, Android's libc++ does not, so every Android build fails with "no member named 'sscanf' in namespace 'std'". --- src/hx/gc/GcCommon.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/hx/gc/GcCommon.cpp b/src/hx/gc/GcCommon.cpp index 815f0d656..92af75f16 100644 --- a/src/hx/gc/GcCommon.cpp +++ b/src/hx/gc/GcCommon.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #if defined(HXCPP_CAPTURE_x64) && !defined(__GNUC__) From e23835bf86bddf978c45998cd84b210fe06e190d Mon Sep 17 00:00:00 2001 From: Chris Speciale <26172437+dimensionscape@users.noreply.github.com> Date: Sun, 11 Oct 2026 06:05:11 -0400 Subject: [PATCH 2/2] Fix x86_64 Android builds producing arm64 code Since #1383, an Android build that defines neither HXCPP_M64 nor HXCPP_M32 defaults to arm64. That check only counts HXCPP_M64 as 64-bit, so a build that asks for HXCPP_X86_64 alone, as Lime does, also gets HXCPP_ARM64. The android toolchain applies the arm64 section last, so the x86_64 libraries are built for aarch64 without any error. Default to x86_64 when it was asked for. --- tools/hxcpp/BuildTool.hx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/hxcpp/BuildTool.hx b/tools/hxcpp/BuildTool.hx index cd5a48f5b..bdbb60ef8 100644 --- a/tools/hxcpp/BuildTool.hx +++ b/tools/hxcpp/BuildTool.hx @@ -153,7 +153,9 @@ class BuildTool } else if (mDefines.exists("android")) { - arm64 = true; + // HXCPP_X86_64 is not counted as 64-bit above + m64 = mDefines.exists("HXCPP_X86_64"); + arm64 = !m64; } else {