angelscript: support windows arm64 (#3688)
* support windows arm64 * port windows arm64pull/3135/merge
parent
dbef41ed81
commit
81b799f1f1
3 changed files with 79 additions and 3 deletions
@ -0,0 +1,27 @@ |
||||
diff --git a/angelscript/source/as_callfunc_arm64_msvc.asm b/angelscript/source/as_callfunc_arm64_msvc.asm
|
||||
index ce43c75..1059246 100644
|
||||
--- a/angelscript/source/as_callfunc_arm64_msvc.asm
|
||||
+++ b/angelscript/source/as_callfunc_arm64_msvc.asm
|
||||
@@ -68,7 +68,7 @@ GetHFAReturnDouble PROC
|
||||
ALIGN 4
|
||||
GetHFAReturnFloat PROC
|
||||
adr x9, |populateFloats|
|
||||
- sub x9, x9, x2 // x9 -= returnSize; (already 4 bytes per return)
|
||||
+ sub x9, x9, x2 ; x9 -= returnSize; (already 4 bytes per return)
|
||||
br x9
|
||||
|
||||
str s3, [x1, #0x4]
|
||||
@@ -185,6 +185,7 @@ CallARM64Ret128 PROC
|
||||
ldp fp, lr, [sp],#0x20
|
||||
|
||||
ret ; CallARM64Ret128
|
||||
+ ENDP
|
||||
|
||||
ALIGN 4
|
||||
CallARM64RetInMemory PROC
|
||||
@@ -202,4 +203,4 @@ CallARM64RetInMemory PROC
|
||||
|
||||
ret ; CallARM64RetInMemory
|
||||
|
||||
- END
|
||||
+ ENDP
|
@ -0,0 +1,36 @@ |
||||
add_rules("mode.debug", "mode.release") |
||||
add_rules("utils.install.cmake_importfiles") |
||||
set_languages("c++11") |
||||
|
||||
option("exceptions", {showmenu = true, default = false}) |
||||
|
||||
target("angelscript") |
||||
set_kind("shared") |
||||
add_files("angelscript/source/*.cpp") |
||||
add_headerfiles("angelscript/include/*.h") |
||||
add_includedirs("angelscript/include") |
||||
|
||||
add_defines("ANGELSCRIPT_EXPORT") |
||||
if not has_config("exceptions") then |
||||
add_defines("AS_NO_EXCEPTIONS") |
||||
end |
||||
|
||||
if is_plat("windows") then |
||||
if is_arch("x64") then |
||||
add_files("angelscript/source/as_callfunc_x64_msvc_asm.asm") |
||||
elseif is_arch("arm64") then |
||||
add_files("angelscript/source/as_callfunc_arm64_msvc.asm") |
||||
-- elseif is_arch("arm32") then |
||||
-- add_files("angelscript/source/as_callfunc_arm_msvc.asm") |
||||
end |
||||
else |
||||
if is_arch("arm32") then |
||||
add_files("angelscript/source/as_callfunc_arm_gcc.S") |
||||
elseif is_arch("arm64") then |
||||
add_files("angelscript/source/as_callfunc_arm64_gcc.S") |
||||
end |
||||
|
||||
if is_plat("linux") then |
||||
add_syslinks("pthread") |
||||
end |
||||
end |
Loading…
Reference in new issue