Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/asmjit/asmjit.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkobalicek <kobalicek.petr@gmail.com>2022-02-08 18:25:47 +0300
committerkobalicek <kobalicek.petr@gmail.com>2022-02-09 19:08:40 +0300
commit23ddf56b00f47d8aa0c82ad225e4b3a92661da7e (patch)
tree0cac2b45f63164b13273b61273f858d3b3dd5ccd /CMakeLists.txt
parent45b01147814594cca69d6cb9d93ed9eb049243cf (diff)
[ABI] Initial AArch64 support
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt52
1 files changed, 49 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 554722c..50c9bcc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -55,6 +55,14 @@ if (NOT DEFINED ASMJIT_NO_X86)
set(ASMJIT_NO_X86 FALSE)
endif()
+if (NOT DEFINED ASMJIT_NO_AARCH32)
+ set(ASMJIT_NO_AARCH32 FALSE)
+endif()
+
+if (NOT DEFINED ASMJIT_NO_AARCH64)
+ set(ASMJIT_NO_AARCH64 FALSE)
+endif()
+
if (NOT DEFINED ASMJIT_NO_FOREIGN)
set(ASMJIT_NO_FOREIGN FALSE)
endif()
@@ -78,7 +86,9 @@ set(ASMJIT_EMBED "${ASMJIT_EMBED}" CACHE BOOL "Embed 'asmjit
set(ASMJIT_STATIC "${ASMJIT_STATIC}" CACHE BOOL "Build 'asmjit' library as static")
set(ASMJIT_SANITIZE "${ASMJIT_SANITIZE}" CACHE STRING "Build with sanitizers: 'address', 'undefined', etc...")
set(ASMJIT_NO_X86 "${ASMJIT_NO_X86}" CACHE BOOL "Disable X86/X64 backend")
-set(ASMJIT_NO_FOREIGN "${ASMJIT_NO_FOREIGN}" CACHE BOOL "Disable all foreign architectures (builds only host backend)")
+set(ASMJIT_NO_AARCH32 "${ASMJIT_NO_AARCH32}" CACHE BOOL "Disable AArch32 backend (ARM and THUMB)")
+set(ASMJIT_NO_AARCH64 "${ASMJIT_NO_AARCH64}" CACHE BOOL "Disable AArch64 backend")
+set(ASMJIT_NO_FOREIGN "${ASMJIT_NO_FOREIGN}" CACHE BOOL "Disable all foreign architectures (enables only a native architecture)")
set(ASMJIT_NO_NATVIS "${ASMJIT_NO_NATVIS}" CACHE BOOL "Disable natvis support (embedding asmjit.natvis in PDB)")
set(ASMJIT_NO_CUSTOM_FLAGS "${ASMJIT_NO_CUSTOM_FLAGS}" CACHE BOOL "Disable extra compilation flags added by AsmJit to its targets")
@@ -189,6 +199,7 @@ if (NOT ASMJIT_NO_CUSTOM_FLAGS)
list(APPEND ASMJIT_PRIVATE_CFLAGS
-MP # [+] Multi-Process Compilation.
-GF # [+] Eliminate duplicate strings.
+ -Zc:__cplusplus # [+] Conforming __cplusplus definition.
-Zc:inline # [+] Remove unreferenced COMDAT.
-Zc:strictStrings # [+] Strict const qualification of string literals.
-Zc:threadSafeInit- # [-] Thread-safe statics.
@@ -262,6 +273,8 @@ endif()
foreach(build_option ASMJIT_STATIC
# AsmJit backends selection.
ASMJIT_NO_X86
+ ASMJIT_NO_AARCH32
+ ASMJIT_NO_AARCH64
ASMJIT_NO_FOREIGN
# AsmJit features selection.
ASMJIT_NO_DEPRECATED
@@ -381,6 +394,36 @@ set(ASMJIT_SRC_LIST
asmjit/core/zonevector.cpp
asmjit/core/zonevector.h
+ asmjit/arm.h
+ asmjit/arm/armformatter.cpp
+ asmjit/arm/armformatter_p.h
+ asmjit/arm/armglobals.h
+ asmjit/arm/armoperand.h
+ asmjit/arm/a64archtraits_p.h
+ asmjit/arm/a64assembler.cpp
+ asmjit/arm/a64assembler.h
+ asmjit/arm/a64builder.cpp
+ asmjit/arm/a64builder.h
+ asmjit/arm/a64compiler.cpp
+ asmjit/arm/a64compiler.h
+ asmjit/arm/a64emithelper.cpp
+ asmjit/arm/a64emithelper_p.h
+ asmjit/arm/a64emitter.h
+ asmjit/arm/a64formatter.cpp
+ asmjit/arm/a64formatter_p.h
+ asmjit/arm/a64func.cpp
+ asmjit/arm/a64func_p.h
+ asmjit/arm/a64globals.h
+ asmjit/arm/a64instapi.cpp
+ asmjit/arm/a64instapi_p.h
+ asmjit/arm/a64instdb.cpp
+ asmjit/arm/a64instdb.h
+ asmjit/arm/a64operand.cpp
+ asmjit/arm/a64operand.h
+ asmjit/arm/a64rapass.cpp
+ asmjit/arm/a64rapass_p.h
+ asmjit/arm/a64utils.h
+
asmjit/x86.h
asmjit/x86/x86archtraits_p.h
asmjit/x86/x86assembler.cpp
@@ -504,9 +547,10 @@ if (NOT ASMJIT_EMBED)
asmjit_add_target(asmjit_test_assembler TEST
SOURCES test/asmjit_test_assembler.cpp
+ test/asmjit_test_assembler.h
+ test/asmjit_test_assembler_a64.cpp
test/asmjit_test_assembler_x64.cpp
test/asmjit_test_assembler_x86.cpp
- test/asmjit_test_assembler.h
LIBRARIES asmjit::asmjit
CFLAGS ${ASMJIT_PRIVATE_CFLAGS}
CFLAGS_DBG ${ASMJIT_PRIVATE_CFLAGS_DBG}
@@ -514,6 +558,7 @@ if (NOT ASMJIT_EMBED)
asmjit_add_target(asmjit_test_perf EXECUTABLE
SOURCES test/asmjit_test_perf.cpp
+ test/asmjit_test_perf_a64.cpp
test/asmjit_test_perf_x86.cpp
SOURCES test/asmjit_test_perf.h
LIBRARIES asmjit::asmjit
@@ -550,8 +595,9 @@ if (NOT ASMJIT_EMBED)
endif()
asmjit_add_target(asmjit_test_compiler TEST
SOURCES test/asmjit_test_compiler.cpp
- test/asmjit_test_compiler_x86.cpp
test/asmjit_test_compiler.h
+ test/asmjit_test_compiler_a64.cpp
+ test/asmjit_test_compiler_x86.cpp
LIBRARIES asmjit::asmjit
CFLAGS ${ASMJIT_PRIVATE_CFLAGS} ${sse2_flags}
CFLAGS_DBG ${ASMJIT_PRIVATE_CFLAGS_DBG}