diff --git a/src/hx/Lib.cpp b/src/hx/Lib.cpp
index 378382200..22d6c0aa8 100644
--- a/src/hx/Lib.cpp
+++ b/src/hx/Lib.cpp
@@ -431,7 +431,11 @@ String __hxcpp_get_bin_dir()
#elif defined(APPLETVOS)
HX_CSTRING("AppleTVOS");
#else
- #ifdef HXCPP_M64
+ #ifdef HXCPP_ARM64
+ HX_CSTRING("LinuxArm64");
+ #elif defined(HXCPP_ARMV7)
+ HX_CSTRING("LinuxArm");
+ #elif defined(HXCPP_M64)
HX_CSTRING("Linux64");
#else
HX_CSTRING("Linux");
@@ -454,7 +458,7 @@ String __hxcpp_get_dll_extension()
HX_CSTRING(".sim.dylib");
#elif defined(__APPLE__)
HX_CSTRING(".dylib");
-#elif defined(ANDROID) || defined(GPH) || defined(WEBOS) || defined(BLACKBERRY) || defined(EMSCRIPTEN) || defined(TIZEN)
+#elif defined(ANDROID) || defined(GPH) || defined(WEBOS) || defined(BLACKBERRY) || defined(EMSCRIPTEN) || defined(TIZEN)
HX_CSTRING(".so");
#else
HX_CSTRING(".dso");
diff --git a/toolchain/linux-toolchain.xml b/toolchain/linux-toolchain.xml
index 6fd3347fa..735813f77 100644
--- a/toolchain/linux-toolchain.xml
+++ b/toolchain/linux-toolchain.xml
@@ -30,8 +30,8 @@
-
-
+
+
diff --git a/tools/hxcpp/BuildTool.hx b/tools/hxcpp/BuildTool.hx
index ec9c8ac5a..fced17501 100644
--- a/tools/hxcpp/BuildTool.hx
+++ b/tools/hxcpp/BuildTool.hx
@@ -66,6 +66,7 @@ class BuildTool
var mNvccLinkFlags:Array;
var mDirtyList:Array;
var arm64:Bool;
+ var armv7:Bool;
var m64:Bool;
var m32:Bool;
var defaultCStandard:Null;
@@ -138,8 +139,9 @@ class BuildTool
m64 = mDefines.exists("HXCPP_M64");
m32 = mDefines.exists("HXCPP_M32") || mDefines.exists("HXCPP_X86");
arm64 = mDefines.exists("HXCPP_ARM64");
- var otherArmArchitecture = mDefines.exists("HXCPP_ARMV6") || mDefines.exists("HXCPP_ARMV7") || mDefines.exists("HXCPP_ARMV7S");
- if (m64==m32 && !arm64 && !otherArmArchitecture)
+ armv7 = mDefines.exists("HXCPP_ARMV7");
+ var otherArmArchitecture = mDefines.exists("HXCPP_ARMV6") || mDefines.exists("HXCPP_ARMV7S");
+ if (m64==m32 && !arm64 && !armv7 && !otherArmArchitecture)
{
var arch = mDefines.get("HXCPP_ARCH");
if (arch!=null)
@@ -147,6 +149,7 @@ class BuildTool
m64 = arch=="x86_64";
m32 = arch=="x86";
arm64 = arch=="arm64";
+ armv7 = arch=="armv7";
}
else
{
@@ -156,6 +159,7 @@ class BuildTool
m64 = hostArch=="m64";
m32 = hostArch=="m32";
arm64 = hostArch=="arm64";
+ armv7 = hostArch=="armv7";
}
mDefines.remove(m32 ? "HXCPP_M64" : "HXCPP_M32");
@@ -2138,7 +2142,7 @@ class BuildTool
defines.set("toolchain","linux");
defines.set("linux","linux");
- if (defines.exists("HXCPP_LINUX_ARMV7"))
+ if (armv7 || defines.exists("HXCPP_LINUX_ARMV7"))
{
defines.set("noM32","1");
defines.set("noM64","1");
@@ -2152,7 +2156,7 @@ class BuildTool
defines.set("HXCPP_ARM64","1");
m64 = true;
}
- defines.set("BINDIR", arm64 ? "LinuxArm64" : m64 ? "Linux64":"Linux");
+ defines.set("BINDIR", arm64 ? "LinuxArm64" : armv7 ? "LinuxArm" : m64 ? "Linux64" : "Linux");
}
}
else if ( (new EReg("mac","i")).match(os) )