Skip to content

Commit

Permalink
Check HXCPP_ARCH before defaulting to host arch (HaxeFoundation#1122)
Browse files Browse the repository at this point in the history
* Check HXCPP_ARCH before defaulting to host arch

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.

* Fix formatting
  • Loading branch information
tobil4sk authored Jun 27, 2024
1 parent f97a11e commit 9cdfc47
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions tools/hxcpp/BuildTool.hx
Original file line number Diff line number Diff line change
Expand Up @@ -137,12 +137,23 @@ 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 9cdfc47

Please sign in to comment.