Skip to content

Commit

Permalink
Check HXCPP_ARCH before defaulting to host arch
Browse files Browse the repository at this point in the history
Right now HXCPP_ARCH is ignored, which means you can get situations
where `HXCPP_ARM64` is set but the architecture is x86_64 so you may end
up with a broken build.
  • Loading branch information
tobil4sk committed Jun 26, 2024
1 parent d4e8d40 commit 0cffc44
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions tools/hxcpp/BuildTool.hx
Original file line number Diff line number Diff line change
Expand Up @@ -137,12 +137,20 @@ class BuildTool
var otherArmArchitecture = mDefines.exists("HXCPP_ARMV6") || mDefines.exists("HXCPP_ARMV7") || mDefines.exists("HXCPP_ARMV7S");
if (m64==m32 && !arm64 && !otherArmArchitecture)
{
var arch = getArch();
var arch = mDefines.get("HXCPP_ARCH");
if (arch != null) {
m64 = arch == "x86_64";
m32 = arch == "x86";
arm64 = arch == "arm64";
} else {
var hostArch = getArch();

// Default to the current OS version. windowsArm runs m32 code too
m64 = hostArch == "m64";
m32 = hostArch == "m32";
arm64 = hostArch == "arm64";
}

// Default to the current OS version. windowsArm runs m32 code too
m64 = arch=="m64";
m32 = arch=="m32";
arm64 = arch=="arm64";
mDefines.remove(m32 ? "HXCPP_M64" : "HXCPP_M32");
set64(mDefines,m64,arm64);
}
Expand Down

0 comments on commit 0cffc44

Please sign in to comment.