diff options
author | kobalicek <kobalicek.petr@gmail.com> | 2021-03-21 15:50:25 +0300 |
---|---|---|
committer | kobalicek <kobalicek.petr@gmail.com> | 2021-03-21 16:42:47 +0300 |
commit | a4dd0b2d8b0fdbcda777e4d6dae0e76636080113 (patch) | |
tree | 231d286ac1af9c8b26f05f80899e068780272594 | |
parent | e7a728018e5d88ffa477430fa63bdebbf480fb02 (diff) |
[ABI] Build improvements - replaced ASMJIT_BUIlD_X86 with ASMJIT_NO_X86 and other changes...
36 files changed, 160 insertions, 173 deletions
@@ -1,6 +1,6 @@ +/build +/build_* +/tools/asmdb .vscode .kdev4 *.kdev4 -build -build_* -tools/asmdb diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ba57ea..6a8c081 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,6 +37,10 @@ endif() # [AsmJit - Configuration] # ============================================================================= +if (NOT DEFINED ASMJIT_TEST) + set(ASMJIT_TEST FALSE) +endif() + if (NOT DEFINED ASMJIT_EMBED) set(ASMJIT_EMBED FALSE) endif() @@ -45,29 +49,40 @@ if (NOT DEFINED ASMJIT_STATIC) set(ASMJIT_STATIC ${ASMJIT_EMBED}) endif() -if (NOT DEFINED ASMJIT_BUILD_X86) - set(ASMJIT_BUILD_X86 FALSE) +if (NOT DEFINED ASMJIT_SANITIZE) + set(ASMJIT_SANITIZE FALSE) endif() -if (NOT DEFINED ASMJIT_TEST) - set(ASMJIT_TEST FALSE) +if (NOT DEFINED ASMJIT_NO_X86) + set(ASMJIT_NO_X86 FALSE) +endif() + +if (NOT DEFINED ASMJIT_NO_FOREIGN) + set(ASMJIT_NO_FOREIGN FALSE) endif() if (NOT DEFINED ASMJIT_NO_NATVIS) set(ASMJIT_NO_NATVIS FALSE) endif() +if (NOT DEFINED ASMJIT_NO_CUSTOM_FLAGS) + set(ASMJIT_NO_CUSTOM_FLAGS FALSE) +endif() + # EMBED implies STATIC. if (ASMJIT_EMBED AND NOT ASMJIT_STATIC) set(ASMJIT_STATIC TRUE) endif() -set(ASMJIT_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Location of 'asmjit'") -set(ASMJIT_TEST ${ASMJIT_TEST} CACHE BOOL "Build 'asmjit' test applications") -set(ASMJIT_EMBED ${ASMJIT_EMBED} CACHE BOOL "Embed 'asmjit' library (no targets)") -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_BUILD_X86 ${ASMJIT_BUILD_X86} CACHE BOOL "Build X86 backends (X86 and X86_64)") +set(ASMJIT_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Location of 'asmjit'") +set(ASMJIT_TEST "${ASMJIT_TEST}" CACHE BOOL "Build 'asmjit' test applications") +set(ASMJIT_EMBED "${ASMJIT_EMBED}" CACHE BOOL "Embed 'asmjit' library (no targets)") +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_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") # ============================================================================= # [AsmJit - Project] @@ -250,7 +265,10 @@ else() endif() foreach(build_option ASMJIT_STATIC - ASMJIT_BUILD_X86 + # AsmJit backends selection. + ASMJIT_NO_X86 + ASMJIT_NO_FOREIGN + # AsmJit features selection. ASMJIT_NO_DEPRECATED ASMJIT_NO_JIT ASMJIT_NO_LOGGING diff --git a/src/asmjit/asmjit.h b/src/asmjit/asmjit.h index 400426c..5f93fe4 100644 --- a/src/asmjit/asmjit.h +++ b/src/asmjit/asmjit.h @@ -26,12 +26,8 @@ #include "./core.h" -#ifdef ASMJIT_BUILD_X86 +#ifndef ASMJIT_NO_X86 #include "./x86.h" #endif -#ifdef ASMJIT_BUILD_ARM - #include "./arm.h" -#endif - #endif // ASMJIT_ASMJIT_H_INCLUDED diff --git a/src/asmjit/core.h b/src/asmjit/core.h index 52540ab..28f5613 100644 --- a/src/asmjit/core.h +++ b/src/asmjit/core.h @@ -237,9 +237,9 @@ namespace asmjit { //! backends in the future. By default AsmJit builds only the host backend, which //! is autodetected at compile-time, but this can be overridden. //! -//! - \ref ASMJIT_BUILD_X86 - Always build X86 backend (X86 and X86_64). -//! - \ref ASMJIT_BUILD_ARM - Always build ARM backend (ARM and AArch64). -//! - \ref ASMJIT_BUILD_HOST - Always build the host backend. +//! - \ref ASMJIT_NO_X86 - Disable X86/X64 backends. +//! - \ref ASMJIT_NO_FOREIGN - Disables the support for foreign architectures. +//! If defined, it would internally set \ref ASMJIT_BUILD_HOST to true. //! //! ### Features Selection //! @@ -252,9 +252,6 @@ namespace asmjit { //! attempt to use such API. This includes deprecated classes, namespaces, //! enumerations, and functions. //! -//! - \ref ASMJIT_NO_FOREIGN - Disables the support for foreign architectures. -//! If defined, it would internally set \ref ASMJIT_BUILD_HOST to true. -//! //! - \ref ASMJIT_NO_BUILDER - Disables \ref asmjit_builder functionality //! completely. This implies \ref ASMJIT_NO_COMPILER as \ref asmjit_compiler //! cannot be used without \ref asmjit_builder. diff --git a/src/asmjit/core/api-config.h b/src/asmjit/core/api-config.h index aab3473..0456e3d 100644 --- a/src/asmjit/core/api-config.h +++ b/src/asmjit/core/api-config.h @@ -65,18 +65,15 @@ namespace asmjit { //! \note Can be defined explicitly to bypass autodetection. #define ASMJIT_BUILD_RELEASE -//! Defined to build X86/X64 backend. -#define ASMJIT_BUILD_X86 +//! Disables X86/X64 backends. +#define ASMJIT_NO_X86 -//! Defined to build host backend autodetected at compile-time. -#define ASMJIT_BUILD_HOST +//! Disables non-host backends entirely (useful for JIT compilers to minimize the library size). +#define ASMJIT_NO_FOREIGN -//! Disables deprecated API at compile time. +//! Disables deprecated API at compile time (deprecated API won't be available). #define ASMJIT_NO_DEPRECATED -//! Disable non-host architectures entirely. -#define ASMJIT_NO_FOREIGN - //! Disables \ref asmjit_builder functionality completely. #define ASMJIT_NO_BUILDER @@ -99,6 +96,13 @@ namespace asmjit { #define ASMJIT_NO_INTROSPECTION // Avoid doxygen preprocessor using feature-selection definitions. +#undef ASMJIT_BUILD_EMBNED +#undef ASMJIT_BUILD_STATIC +#undef ASMJIT_BUILD_DEBUG +#undef ASMJIT_BUILD_RELEASE +#undef ASMJIT_NO_X86 +#undef ASMJIT_NO_FOREIGN +// (keep ASMJIT_NO_DEPRECATED defined, we don't document deprecated APIs). #undef ASMJIT_NO_BUILDER #undef ASMJIT_NO_COMPILER #undef ASMJIT_NO_JIT @@ -112,13 +116,6 @@ namespace asmjit { } // {asmjit} #endif // _DOXYGEN -// Enable all features at IDE level, so it's properly highlighted and indexed. -#ifdef __INTELLISENSE__ - #ifndef ASMJIT_BUILD_X86 - #define ASMJIT_BUILD_X86 - #endif -#endif - // ============================================================================ // [asmjit::Dependencies] // ============================================================================ @@ -243,26 +240,15 @@ namespace asmjit { #endif // ============================================================================ -// [asmjit::Build - Globals - Build Architectures Definitions] +// [asmjit::Build - Globals - Backends] // ============================================================================ -#if !defined(ASMJIT_NO_FOREIGN) - // If 'ASMJIT_NO_FOREIGN' is not defined then all architectures will be built. - #if !defined(ASMJIT_BUILD_X86) - #define ASMJIT_BUILD_X86 - #endif -#else - // Detect architectures to build if building only for the host architecture. - #if ASMJIT_ARCH_X86 && !defined(ASMJIT_BUILD_X86) - #define ASMJIT_BUILD_X86 +#if defined(ASMJIT_NO_FOREIGN) + #if !ASMJIT_ARCH_X86 && !defined(ASMJIT_NO_X86) + #define ASMJIT_NO_X86 #endif #endif -// Define 'ASMJIT_BUILD_HOST' if we know that host architecture will be built. -#if !defined(ASMJIT_BUILD_HOST) && ASMJIT_ARCH_X86 && defined(ASMJIT_BUILD_X86) - #define ASMJIT_BUILD_HOST -#endif - // ============================================================================ // [asmjit::Build - Globals - C++ Compiler and Features Detection] // ============================================================================ diff --git a/src/asmjit/core/archtraits.cpp b/src/asmjit/core/archtraits.cpp index f069354..ad983e7 100644 --- a/src/asmjit/core/archtraits.cpp +++ b/src/asmjit/core/archtraits.cpp @@ -25,7 +25,7 @@ #include "../core/archtraits.h" #include "../core/misc_p.h" -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include "../x86/x86archtraits_p.h" #endif @@ -59,7 +59,7 @@ ASMJIT_VARAPI const ArchTraits _archTraits[Environment::kArchCount] = { noArchTraits, // X86/X86 architectures. -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) x86::x86ArchTraits, x86::x64ArchTraits, #else diff --git a/src/asmjit/core/cpuinfo.cpp b/src/asmjit/core/cpuinfo.cpp index edc7d17..a281a4a 100644 --- a/src/asmjit/core/cpuinfo.cpp +++ b/src/asmjit/core/cpuinfo.cpp @@ -57,7 +57,7 @@ static inline uint32_t detectHWThreadCount() noexcept { // [asmjit::CpuInfo - Detect - CPU Features] // ============================================================================ -#if defined(ASMJIT_BUILD_X86) && ASMJIT_ARCH_X86 +#if !defined(ASMJIT_NO_X86) && ASMJIT_ARCH_X86 namespace x86 { void detectCpu(CpuInfo& cpu) noexcept; } #endif @@ -78,7 +78,7 @@ const CpuInfo& CpuInfo::host() noexcept { if (!cpuInfoInitialized) { CpuInfo cpuInfoLocal; -#if defined(ASMJIT_BUILD_X86) && ASMJIT_ARCH_X86 +#if !defined(ASMJIT_NO_X86) && ASMJIT_ARCH_X86 x86::detectCpu(cpuInfoLocal); #endif diff --git a/src/asmjit/core/emitter.cpp b/src/asmjit/core/emitter.cpp index 2d5f1a7..2877dc8 100644 --- a/src/asmjit/core/emitter.cpp +++ b/src/asmjit/core/emitter.cpp @@ -27,10 +27,10 @@ #include "../core/logger.h" #include "../core/support.h" -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include "../x86/x86emithelper_p.h" #include "../x86/x86instdb_p.h" -#endif // ASMJIT_BUILD_X86 +#endif // !ASMJIT_NO_X86 #ifdef ASMJIT_BUILD_ARM #include "../arm/a64emithelper_p.h" @@ -255,7 +255,7 @@ ASMJIT_FAVOR_SIZE Error BaseEmitter::emitProlog(const FuncFrame& frame) { if (ASMJIT_UNLIKELY(!_code)) return DebugUtils::errored(kErrorNotInitialized); -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (environment().isFamilyX86()) { x86::EmitHelper emitHelper(this, frame.isAvxEnabled(), frame.isAvx512Enabled()); return emitHelper.emitProlog(frame); @@ -276,7 +276,7 @@ ASMJIT_FAVOR_SIZE Error BaseEmitter::emitEpilog(const FuncFrame& frame) { if (ASMJIT_UNLIKELY(!_code)) return DebugUtils::errored(kErrorNotInitialized); -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (environment().isFamilyX86()) { x86::EmitHelper emitHelper(this, frame.isAvxEnabled(), frame.isAvx512Enabled()); return emitHelper.emitEpilog(frame); @@ -297,7 +297,7 @@ ASMJIT_FAVOR_SIZE Error BaseEmitter::emitArgsAssignment(const FuncFrame& frame, if (ASMJIT_UNLIKELY(!_code)) return DebugUtils::errored(kErrorNotInitialized); -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (environment().isFamilyX86()) { x86::EmitHelper emitHelper(this, frame.isAvxEnabled(), frame.isAvx512Enabled()); return emitHelper.emitArgsAssignment(frame, args); diff --git a/src/asmjit/core/formatter.cpp b/src/asmjit/core/formatter.cpp index 89c3228..c757c5a 100644 --- a/src/asmjit/core/formatter.cpp +++ b/src/asmjit/core/formatter.cpp @@ -33,7 +33,7 @@ #include "../core/support.h" #include "../core/type.h" -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include "../x86/x86formatter_p.h" #endif @@ -101,7 +101,7 @@ Error formatFeature( uint32_t arch, uint32_t featureId) noexcept { -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (Environment::isFamilyX86(arch)) return x86::FormatterInternal::formatFeature(sb, featureId); #endif @@ -155,7 +155,7 @@ Error formatRegister( uint32_t regType, uint32_t regId) noexcept { -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (Environment::isFamilyX86(arch)) return x86::FormatterInternal::formatRegister(sb, formatFlags, emitter, arch, regType, regId); #endif @@ -175,7 +175,7 @@ Error formatOperand( uint32_t arch, const Operand_& op) noexcept { -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (Environment::isFamilyX86(arch)) return x86::FormatterInternal::formatOperand(sb, formatFlags, emitter, arch, op); #endif @@ -195,7 +195,7 @@ Error formatInstruction( uint32_t arch, const BaseInst& inst, const Operand_* operands, size_t opCount) noexcept { -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (Environment::isFamilyX86(arch)) return x86::FormatterInternal::formatInstruction(sb, formatFlags, emitter, arch, inst, operands, opCount); #endif diff --git a/src/asmjit/core/func.cpp b/src/asmjit/core/func.cpp index bb131a0..cf017fe 100644 --- a/src/asmjit/core/func.cpp +++ b/src/asmjit/core/func.cpp @@ -28,7 +28,7 @@ #include "../core/type.h" #include "../core/funcargscontext_p.h" -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include "../x86/x86func_p.h" #endif @@ -45,7 +45,7 @@ ASMJIT_BEGIN_NAMESPACE ASMJIT_FAVOR_SIZE Error CallConv::init(uint32_t ccId, const Environment& environment) noexcept { reset(); -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (environment.isFamilyX86()) return x86::FuncInternal::initCallConv(*this, ccId, environment); #endif @@ -87,7 +87,7 @@ ASMJIT_FAVOR_SIZE Error FuncDetail::init(const FuncSignature& signature, const E if (ret != Type::kIdVoid) _rets[0].initTypeId(Type::deabstract(ret, deabstractDelta)); -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (environment.isFamilyX86()) return x86::FuncInternal::initFuncDetail(*this, signature, registerSize); #endif diff --git a/src/asmjit/core/inst.cpp b/src/asmjit/core/inst.cpp index a79fe83..b949a60 100644 --- a/src/asmjit/core/inst.cpp +++ b/src/asmjit/core/inst.cpp @@ -22,12 +22,10 @@ // 3. This notice may not be removed or altered from any source distribution. #include "../core/api-build_p.h" -#ifdef ASMJIT_BUILD_X86 - #include "../core/archtraits.h" #include "../core/inst.h" -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include "../x86/x86instapi_p.h" #endif @@ -43,7 +41,7 @@ ASMJIT_BEGIN_NAMESPACE #ifndef ASMJIT_NO_TEXT Error InstAPI::instIdToString(uint32_t arch, uint32_t instId, String& output) noexcept { -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (Environment::isFamilyX86(arch)) return x86::InstInternal::instIdToString(arch, instId, output); #endif @@ -57,7 +55,7 @@ Error InstAPI::instIdToString(uint32_t arch, uint32_t instId, String& output) no } uint32_t InstAPI::stringToInstId(uint32_t arch, const char* s, size_t len) noexcept { -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (Environment::isFamilyX86(arch)) return x86::InstInternal::stringToInstId(arch, s, len); #endif @@ -77,7 +75,7 @@ uint32_t InstAPI::stringToInstId(uint32_t arch, const char* s, size_t len) noexc #ifndef ASMJIT_NO_VALIDATION Error InstAPI::validate(uint32_t arch, const BaseInst& inst, const Operand_* operands, size_t opCount, uint32_t validationFlags) noexcept { -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (Environment::isFamilyX86(arch)) return x86::InstInternal::validate(arch, inst, operands, opCount, validationFlags); #endif @@ -100,7 +98,7 @@ Error InstAPI::queryRWInfo(uint32_t arch, const BaseInst& inst, const Operand_* if (ASMJIT_UNLIKELY(opCount > Globals::kMaxOpCount)) return DebugUtils::errored(kErrorInvalidArgument); -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (Environment::isFamilyX86(arch)) return x86::InstInternal::queryRWInfo(arch, inst, operands, opCount, out); #endif @@ -120,7 +118,7 @@ Error InstAPI::queryRWInfo(uint32_t arch, const BaseInst& inst, const Operand_* #ifndef ASMJIT_NO_INTROSPECTION Error InstAPI::queryFeatures(uint32_t arch, const BaseInst& inst, const Operand_* operands, size_t opCount, BaseFeatures* out) noexcept { -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) if (Environment::isFamilyX86(arch)) return x86::InstInternal::queryFeatures(arch, inst, operands, opCount, out); #endif @@ -135,5 +133,3 @@ Error InstAPI::queryFeatures(uint32_t arch, const BaseInst& inst, const Operand_ #endif // !ASMJIT_NO_INTROSPECTION ASMJIT_END_NAMESPACE - -#endif // ASMJIT_BUILD_X86 diff --git a/src/asmjit/x86/x86assembler.cpp b/src/asmjit/x86/x86assembler.cpp index 99b01b0..a568dab 100644 --- a/src/asmjit/x86/x86assembler.cpp +++ b/src/asmjit/x86/x86assembler.cpp @@ -22,7 +22,7 @@ // 3. This notice may not be removed or altered from any source distribution. #include "../core/api-build_p.h" -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include "../core/assembler.h" #include "../core/codewriter_p.h" @@ -5144,4 +5144,4 @@ Error Assembler::onDetach(CodeHolder* code) noexcept { ASMJIT_END_SUB_NAMESPACE -#endif // ASMJIT_BUILD_X86 +#endif // !ASMJIT_NO_X86 diff --git a/src/asmjit/x86/x86builder.cpp b/src/asmjit/x86/x86builder.cpp index 2227fa2..b6b4ea3 100644 --- a/src/asmjit/x86/x86builder.cpp +++ b/src/asmjit/x86/x86builder.cpp @@ -22,7 +22,7 @@ // 3. This notice may not be removed or altered from any source distribution. #include "../core/api-build_p.h" -#if defined(ASMJIT_BUILD_X86) && !defined(ASMJIT_NO_BUILDER) +#if !defined(ASMJIT_NO_X86) && !defined(ASMJIT_NO_BUILDER) #include "../x86/x86assembler.h" #include "../x86/x86builder.h" @@ -65,4 +65,4 @@ Error Builder::onAttach(CodeHolder* code) noexcept { ASMJIT_END_SUB_NAMESPACE -#endif // ASMJIT_BUILD_X86 && !ASMJIT_NO_BUILDER +#endif // !ASMJIT_NO_X86 && !ASMJIT_NO_BUILDER diff --git a/src/asmjit/x86/x86compiler.cpp b/src/asmjit/x86/x86compiler.cpp index 566437f..92ed645 100644 --- a/src/asmjit/x86/x86compiler.cpp +++ b/src/asmjit/x86/x86compiler.cpp @@ -22,7 +22,7 @@ // 3. This notice may not be removed or altered from any source distribution. #include "../core/api-build_p.h" -#if defined(ASMJIT_BUILD_X86) && !defined(ASMJIT_NO_COMPILER) +#if !defined(ASMJIT_NO_X86) && !defined(ASMJIT_NO_COMPILER) #include "../x86/x86assembler.h" #include "../x86/x86compiler.h" @@ -74,4 +74,4 @@ Error Compiler::onAttach(CodeHolder* code) noexcept { ASMJIT_END_SUB_NAMESPACE -#endif // ASMJIT_BUILD_X86 && !ASMJIT_NO_COMPILER +#endif // !ASMJIT_NO_X86 && !ASMJIT_NO_COMPILER diff --git a/src/asmjit/x86/x86emithelper.cpp b/src/asmjit/x86/x86emithelper.cpp index eab35f4..e6290ea 100644 --- a/src/asmjit/x86/x86emithelper.cpp +++ b/src/asmjit/x86/x86emithelper.cpp @@ -22,7 +22,7 @@ // 3. This notice may not be removed or altered from any source distribution. #include "../core/api-build_p.h" -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include "../core/formatter.h" #include "../core/funcargscontext_p.h" @@ -598,4 +598,4 @@ ASMJIT_FAVOR_SIZE Error EmitHelper::emitEpilog(const FuncFrame& frame) { ASMJIT_END_SUB_NAMESPACE -#endif // ASMJIT_BUILD_X86 +#endif // !ASMJIT_NO_X86 diff --git a/src/asmjit/x86/x86features.cpp b/src/asmjit/x86/x86features.cpp index 2a55c94..e04aebd 100644 --- a/src/asmjit/x86/x86features.cpp +++ b/src/asmjit/x86/x86features.cpp @@ -22,7 +22,7 @@ // 3. This notice may not be removed or altered from any source distribution. #include "../core/api-build_p.h" -#if defined(ASMJIT_BUILD_X86) && ASMJIT_ARCH_X86 +#if !defined(ASMJIT_NO_X86) && ASMJIT_ARCH_X86 #include "../core/cpuinfo.h" #include "../core/support.h" @@ -449,4 +449,4 @@ ASMJIT_FAVOR_SIZE void detectCpu(CpuInfo& cpu) noexcept { ASMJIT_END_SUB_NAMESPACE -#endif // ASMJIT_BUILD_X86 && ASMJIT_ARCH_X86 +#endif // !ASMJIT_NO_X86 && ASMJIT_ARCH_X86 diff --git a/src/asmjit/x86/x86func.cpp b/src/asmjit/x86/x86func.cpp index ef5c4d9..8f2f077 100644 --- a/src/asmjit/x86/x86func.cpp +++ b/src/asmjit/x86/x86func.cpp @@ -22,7 +22,7 @@ // 3. This notice may not be removed or altered from any source distribution. #include "../core/api-build_p.h" -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include "../x86/x86func_p.h" #include "../x86/x86emithelper_p.h" @@ -528,4 +528,4 @@ ASMJIT_FAVOR_SIZE Error initFuncDetail(FuncDetail& func, const FuncSignature& si ASMJIT_END_SUB_NAMESPACE -#endif // ASMJIT_BUILD_X86 +#endif // !ASMJIT_NO_X86 diff --git a/src/asmjit/x86/x86instapi.cpp b/src/asmjit/x86/x86instapi.cpp index 610d580..664cfae 100644 --- a/src/asmjit/x86/x86instapi.cpp +++ b/src/asmjit/x86/x86instapi.cpp @@ -40,7 +40,7 @@ // ---------------------------------------------------------------------------- #include "../core/api-build_p.h" -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include "../core/cpuinfo.h" #include "../core/misc_p.h" @@ -1670,4 +1670,4 @@ UNIT(x86_inst_api_text) { ASMJIT_END_SUB_NAMESPACE -#endif // ASMJIT_BUILD_X86 +#endif // !ASMJIT_NO_X86 diff --git a/src/asmjit/x86/x86instdb.cpp b/src/asmjit/x86/x86instdb.cpp index 49c4738..1fb8600 100644 --- a/src/asmjit/x86/x86instdb.cpp +++ b/src/asmjit/x86/x86instdb.cpp @@ -40,7 +40,7 @@ // ---------------------------------------------------------------------------- #include "../core/api-build_p.h" -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include "../core/cpuinfo.h" #include "../core/misc_p.h" @@ -4216,4 +4216,4 @@ UNIT(x86_inst_db) { ASMJIT_END_SUB_NAMESPACE -#endif // ASMJIT_BUILD_X86 +#endif // !ASMJIT_NO_X86 diff --git a/src/asmjit/x86/x86operand.cpp b/src/asmjit/x86/x86operand.cpp index 4c81d8e..47270c0 100644 --- a/src/asmjit/x86/x86operand.cpp +++ b/src/asmjit/x86/x86operand.cpp @@ -22,7 +22,7 @@ // 3. This notice may not be removed or altered from any source distribution. #include "../core/api-build_p.h" -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include "../core/misc_p.h" #include "../x86/x86operand.h" @@ -245,4 +245,4 @@ UNIT(x86_operand) { ASMJIT_END_SUB_NAMESPACE -#endif // ASMJIT_BUILD_X86 +#endif // !ASMJIT_NO_X86 diff --git a/src/asmjit/x86/x86rapass.cpp b/src/asmjit/x86/x86rapass.cpp index 9e46ce0..23cfd65 100644 --- a/src/asmjit/x86/x86rapass.cpp +++ b/src/asmjit/x86/x86rapass.cpp @@ -22,7 +22,7 @@ // 3. This notice may not be removed or altered from any source distribution. #include "../core/api-build_p.h" -#if defined(ASMJIT_BUILD_X86) && !defined(ASMJIT_NO_COMPILER) +#if !defined(ASMJIT_NO_X86) && !defined(ASMJIT_NO_COMPILER) #include "../core/cpuinfo.h" #include "../core/support.h" @@ -1453,4 +1453,4 @@ Error X86RAPass::emitPreCall(InvokeNode* invokeNode) noexcept { ASMJIT_END_SUB_NAMESPACE -#endif // ASMJIT_BUILD_X86 && !ASMJIT_NO_COMPILER +#endif // !ASMJIT_NO_X86 && !ASMJIT_NO_COMPILER diff --git a/test/asmjit_test_assembler.cpp b/test/asmjit_test_assembler.cpp index 559235e..5ae19ab 100644 --- a/test/asmjit_test_assembler.cpp +++ b/test/asmjit_test_assembler.cpp @@ -31,7 +31,7 @@ using namespace asmjit; -#if defined(ASMJIT_BUILD_X86) +#if !defined(ASMJIT_NO_X86) bool testX86Assembler(const TestSettings& settings) noexcept; bool testX64Assembler(const TestSettings& settings) noexcept; #endif @@ -60,7 +60,7 @@ int main(int argc, char* argv[]) { bool x86Failed = false; bool x64Failed = false; -#if defined(ASMJIT_BUILD_X86) +#if !defined(ASMJIT_NO_X86) if ((strcmp(arch, "all") == 0 || strcmp(arch, "x86") == 0)) x86Failed = !testX86Assembler(settings); diff --git a/test/asmjit_test_assembler_x64.cpp b/test/asmjit_test_assembler_x64.cpp index 845b034..ab7b780 100644 --- a/test/asmjit_test_assembler_x64.cpp +++ b/test/asmjit_test_assembler_x64.cpp @@ -22,7 +22,7 @@ // 3. This notice may not be removed or altered from any source distribution. #include <asmjit/core.h> -#if defined(ASMJIT_BUILD_X86) +#if !defined(ASMJIT_NO_X86) #include <asmjit/x86.h> #include <stdio.h> @@ -8225,4 +8225,4 @@ bool testX64Assembler(const TestSettings& settings) noexcept { #undef TEST_INSTRUCTION -#endif +#endif // !ASMJIT_NO_X86 diff --git a/test/asmjit_test_assembler_x86.cpp b/test/asmjit_test_assembler_x86.cpp index ba86306..4a23fa9 100644 --- a/test/asmjit_test_assembler_x86.cpp +++ b/test/asmjit_test_assembler_x86.cpp @@ -22,7 +22,7 @@ // 3. This notice may not be removed or altered from any source distribution. #include <asmjit/core.h> -#if defined(ASMJIT_BUILD_X86) +#if !defined(ASMJIT_NO_X86) #include <asmjit/x86.h> #include <stdio.h> @@ -7670,4 +7670,4 @@ bool testX86Assembler(const TestSettings& settings) noexcept { #undef TEST_INSTRUCTION -#endif +#endif // !ASMJIT_NO_X86 diff --git a/test/asmjit_test_compiler.cpp b/test/asmjit_test_compiler.cpp index e7a5eeb..96b5eeb 100644 --- a/test/asmjit_test_compiler.cpp +++ b/test/asmjit_test_compiler.cpp @@ -36,7 +36,7 @@ #include "asmjit_test_compiler.h" -#if defined(ASMJIT_BUILD_X86) && ASMJIT_ARCH_X86 +#if !defined(ASMJIT_NO_X86) && ASMJIT_ARCH_X86 #include <asmjit/x86.h> void compiler_add_x86_tests(TestApp& app); #endif @@ -46,7 +46,7 @@ void compiler_add_x86_tests(TestApp& app); void compiler_add_a64_tests(TestApp& app); #endif -#if defined(ASMJIT_BUILD_X86) && ASMJIT_ARCH_X86 +#if !defined(ASMJIT_NO_X86) && ASMJIT_ARCH_X86 #define ASMJIT_HAVE_WORKING_JIT #endif @@ -141,7 +141,7 @@ int TestApp::run() { if (_verbose) printf("\n"); #endif -#if defined(ASMJIT_BUILD_X86) && ASMJIT_ARCH_X86 +#if !defined(ASMJIT_NO_X86) && ASMJIT_ARCH_X86 x86::Compiler cc(&code); #endif @@ -254,7 +254,7 @@ int main(int argc, char* argv[]) { app.handleArgs(argc, argv); app.showInfo(); -#if defined(ASMJIT_BUILD_X86) && ASMJIT_ARCH_X86 +#if !defined(ASMJIT_NO_X86) && ASMJIT_ARCH_X86 compiler_add_x86_tests(app); #endif diff --git a/test/asmjit_test_compiler_x86.cpp b/test/asmjit_test_compiler_x86.cpp index 1c82e72..0bd2130 100644 --- a/test/asmjit_test_compiler_x86.cpp +++ b/test/asmjit_test_compiler_x86.cpp @@ -22,7 +22,7 @@ // 3. This notice may not be removed or altered from any source distribution. #include <asmjit/core.h> -#if defined(ASMJIT_BUILD_X86) && ASMJIT_ARCH_X86 +#if !defined(ASMJIT_NO_X86) && ASMJIT_ARCH_X86 #include <asmjit/x86.h> #include <setjmp.h> @@ -4319,4 +4319,4 @@ void compiler_add_x86_tests(TestApp& app) { app.addT<X86Test_MiscUnfollow>(); } -#endif +#endif // !ASMJIT_NO_X86 && ASMJIT_ARCH_X86 diff --git a/test/asmjit_test_emitters.cpp b/test/asmjit_test_emitters.cpp index 6f94851..9ca80e8 100644 --- a/test/asmjit_test_emitters.cpp +++ b/test/asmjit_test_emitters.cpp @@ -23,7 +23,7 @@ #include <asmjit/core.h> -#if defined(ASMJIT_BUILD_X86) && ASMJIT_ARCH_X86 +#if !defined(ASMJIT_NO_X86) && ASMJIT_ARCH_X86 #include <asmjit/x86.h> #include <stdio.h> @@ -209,4 +209,4 @@ int main() { printf("AsmJit X86 Emitter Test is disabled on non-x86 host\n\n"); return 0; } -#endif +#endif // !ASMJIT_NO_X86 && ASMJIT_ARCH_X86 diff --git a/test/asmjit_test_instinfo.cpp b/test/asmjit_test_instinfo.cpp index 06b86ea..2de8897 100644 --- a/test/asmjit_test_instinfo.cpp +++ b/test/asmjit_test_instinfo.cpp @@ -23,7 +23,7 @@ #include <asmjit/core.h> -#if defined(ASMJIT_BUILD_X86) +#if !defined(ASMJIT_NO_X86) #include <asmjit/x86.h> #endif @@ -157,7 +157,7 @@ static void printInfoExtra(uint32_t arch, uint32_t instId, uint32_t options, con } static void testX86Arch() { -#if defined(ASMJIT_BUILD_X86) +#if !defined(ASMJIT_NO_X86) using namespace x86; uint32_t arch = Environment::kArchX64; diff --git a/test/asmjit_test_perf.cpp b/test/asmjit_test_perf.cpp index a1b638e..6340129 100644 --- a/test/asmjit_test_perf.cpp +++ b/test/asmjit_test_perf.cpp @@ -30,7 +30,7 @@ using namespace asmjit; -#if defined(ASMJIT_BUILD_X86) +#if !defined(ASMJIT_NO_X86) void benchmarkX86Emitters(uint32_t numIterations, bool testX86, bool testX64) noexcept; #endif @@ -57,7 +57,7 @@ int main(int argc, char* argv[]) { const char* arch = cmdLine.valueOf("--arch", "all"); -#if defined(ASMJIT_BUILD_X86) +#if !defined(ASMJIT_NO_X86) bool testX86 = strcmp(arch, "all") == 0 || strcmp(arch, "x86") == 0; bool testX64 = strcmp(arch, "all") == 0 || strcmp(arch, "x64") == 0; diff --git a/test/asmjit_test_perf_x86.cpp b/test/asmjit_test_perf_x86.cpp index cfbaa1f..679e2c0 100644 --- a/test/asmjit_test_perf_x86.cpp +++ b/test/asmjit_test_perf_x86.cpp @@ -23,7 +23,7 @@ #include <asmjit/core.h> -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) #include <asmjit/x86.h> #include <limits> @@ -5046,4 +5046,5 @@ void benchmarkX86Emitters(uint32_t numIterations, bool testX86, bool testX64) { }); } } -#endif + +#endif // !ASMJIT_NO_X86 diff --git a/test/asmjit_test_unit.cpp b/test/asmjit_test_unit.cpp index 14b93cf..34931b2 100644 --- a/test/asmjit_test_unit.cpp +++ b/test/asmjit_test_unit.cpp @@ -144,7 +144,7 @@ static void dumpSizeOf(void) noexcept { DUMP_TYPE(FuncArgsAssignment); INFO(""); -#ifndef ASMJIT_NO_BUILDER +#if !defined(ASMJIT_NO_BUILDER) INFO("Size of builder classes:"); DUMP_TYPE(BaseBuilder); DUMP_TYPE(BaseNode); @@ -160,7 +160,7 @@ static void dumpSizeOf(void) noexcept { INFO(""); #endif -#ifndef ASMJIT_NO_COMPILER +#if !defined(ASMJIT_NO_COMPILER) INFO("Size of compiler classes:"); DUMP_TYPE(BaseCompiler); DUMP_TYPE(FuncNode); @@ -169,13 +169,13 @@ static void dumpSizeOf(void) noexcept { INFO(""); #endif -#ifdef ASMJIT_BUILD_X86 +#if !defined(ASMJIT_NO_X86) INFO("Size of x86-specific classes:"); DUMP_TYPE(x86::Assembler); - #ifndef ASMJIT_NO_BUILDER + #if !defined(ASMJIT_NO_BUILDER) DUMP_TYPE(x86::Builder); #endif - #ifndef ASMJIT_NO_COMPILER + #if !defined(ASMJIT_NO_COMPILER) DUMP_TYPE(x86::Compiler); #endif DUMP_TYPE(x86::InstDB::InstInfo); diff --git a/test/asmjit_test_x86_sections.cpp b/test/asmjit_test_x86_sections.cpp index 85d2dda..582811e 100644 --- a/test/asmjit_test_x86_sections.cpp +++ b/test/asmjit_test_x86_sections.cpp @@ -35,7 +35,7 @@ // ---------------------------------------------------------------------------- #include <asmjit/core.h> -#if defined(ASMJIT_BUILD_X86) && ASMJIT_ARCH_X86 +#if !defined(ASMJIT_NO_X86) && ASMJIT_ARCH_X86 #include <asmjit/x86.h> #include <stdio.h> @@ -182,4 +182,4 @@ int main() { printf("AsmJit X86 Sections Test is disabled on non-x86 host\n\n"); return 0; } -#endif +#endif // !ASMJIT_NO_X86 && ASMJIT_ARCH_X86 diff --git a/tools/configure-makefiles.sh b/tools/configure-makefiles.sh index 8bf7ca9..00d2f2f 100755 --- a/tools/configure-makefiles.sh +++ b/tools/configure-makefiles.sh @@ -1,17 +1,15 @@ #!/bin/sh -CURRENT_DIR=`pwd` -BUILD_DIR="build" +CURRENT_DIR="`pwd`" +BUILD_DIR="${CURRENT_DIR}/../build" BUILD_OPTIONS="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DASMJIT_TEST=1" -echo "** Configuring ${BUILD_DIR}_dbg [Debug Build] **" -mkdir -p ../${BUILD_DIR}_dbg -cd ../${BUILD_DIR}_dbg -eval cmake .. -DCMAKE_BUILD_TYPE=Debug ${BUILD_OPTIONS} -cd ${CURRENT_DIR} +echo "== [Configuring Build - Debug] ==" +mkdir -p "${BUILD_DIR}/Debug" +eval cmake "${CURRENT_DIR}/.." -B "${BUILD_DIR}/Debug" -DCMAKE_BUILD_TYPE=Debug ${BUILD_OPTIONS} +echo "" -echo "** Configuring ${BUILD_DIR}_rel [Release Build] **" -mkdir -p ../${BUILD_DIR}_rel -cd ../${BUILD_DIR}_rel -eval cmake .. -DCMAKE_BUILD_TYPE=Release ${BUILD_OPTIONS} -cd ${CURRENT_DIR} +echo "== [Configuring Build - Release] ==" +mkdir -p "${BUILD_DIR}/Release" +eval cmake "${CURRENT_DIR}/.." -B "${BUILD_DIR}/Release" -DCMAKE_BUILD_TYPE=Release ${BUILD_OPTIONS} +echo "" diff --git a/tools/configure-ninja.sh b/tools/configure-ninja.sh index 0ff2779..f7db4d8 100755 --- a/tools/configure-ninja.sh +++ b/tools/configure-ninja.sh @@ -1,17 +1,15 @@ #!/bin/sh -CURRENT_DIR=`pwd` -BUILD_DIR="build" -BUILD_OPTIONS="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DASMJIT_TEST=1" +CURRENT_DIR="`pwd`" +BUILD_DIR="${CURRENT_DIR}/../build" +BUILD_OPTIONS="-G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DASMJIT_TEST=1" -echo "** Configuring ${BUILD_DIR}_dbg [Debug Build] **" -mkdir -p ../${BUILD_DIR}_dbg -cd ../${BUILD_DIR}_dbg -eval cmake .. -G"Ninja" -DCMAKE_BUILD_TYPE=Debug ${BUILD_OPTIONS} -cd ${CURRENT_DIR} +echo "== [Configuring Build - Debug] ==" +mkdir -p "${BUILD_DIR}/Debug" +eval cmake "${CURRENT_DIR}/.." -B "${BUILD_DIR}/Debug" -DCMAKE_BUILD_TYPE=Debug ${BUILD_OPTIONS} +echo "" -echo "** Configuring ${BUILD_DIR}_rel [Release Build] **" -mkdir -p ../${BUILD_DIR}_rel -cd ../${BUILD_DIR}_rel -eval cmake .. -G"Ninja" -DCMAKE_BUILD_TYPE=Release ${BUILD_OPTIONS} -cd ${CURRENT_DIR} +echo "== [Configuring Build - Release] ==" +mkdir -p "${BUILD_DIR}/Release" +eval cmake "${CURRENT_DIR}/.." -B "${BUILD_DIR}/Release" -DCMAKE_BUILD_TYPE=Release ${BUILD_OPTIONS} +echo "" diff --git a/tools/configure-sanitizers.sh b/tools/configure-sanitizers.sh index 14a16b4..d7cc48a 100755 --- a/tools/configure-sanitizers.sh +++ b/tools/configure-sanitizers.sh @@ -1,17 +1,15 @@ #!/bin/sh -CURRENT_DIR=`pwd` -BUILD_DIR="build" -BUILD_OPTIONS="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DASMJIT_TEST=1" +CURRENT_DIR="`pwd`" +BUILD_DIR="${CURRENT_DIR}/../build" +BUILD_OPTIONS="-G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DASMJIT_TEST=1" -echo "** Configuring '${BUILD_DIR}_rel_asan' [Sanitize=Address] **" -mkdir -p ../${BUILD_DIR}_dbg_asan -cd ../${BUILD_DIR}_dbg_asan -eval cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug ${BUILD_OPTIONS} -DASMJIT_SANITIZE=address -cd ${CURRENT_DIR} +echo "== [Configuring Build - Release_ASAN] ==" +mkdir -p "${BUILD_DIR}/Release_ASAN" +eval cmake "${CURRENT_DIR}/.." -B "${BUILD_DIR}/Release_ASAN" ${BUILD_OPTIONS} -DCMAKE_BUILD_TYPE=Release -DASMJIT_SANITIZE=address +echo "" -echo "** Configuring '${BUILD_DIR}_rel_ubsan' [Sanitize=Undefined] **" -mkdir -p ../${BUILD_DIR}_dbg_ubsan -cd ../${BUILD_DIR}_dbg_ubsan -eval cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug ${BUILD_OPTIONS} -DASMJIT_SANITIZE=undefined -cd ${CURRENT_DIR} +echo "== [Configuring Build - Release_UBSAN] ==" +mkdir -p "${BUILD_DIR}/Release_UBSAN" +eval cmake "${CURRENT_DIR}/.." -B "${BUILD_DIR}/Release_UBSAN" ${BUILD_OPTIONS} -DCMAKE_BUILD_TYPE=Release -DASMJIT_SANITIZE=undefined +echo "" diff --git a/tools/configure-xcode.sh b/tools/configure-xcode.sh index a52c9ef..d9c7d98 100755 --- a/tools/configure-xcode.sh +++ b/tools/configure-xcode.sh @@ -1,9 +1,8 @@ #!/bin/sh -BUILD_DIR="build_xcode" -CURRENT_DIR=`pwd` +CURRENT_DIR="`pwd`" +BUILD_DIR="${CURRENT_DIR}/../build" +BUILD_OPTIONS="-G Xcode -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DASMJIT_TEST=1" -mkdir -p ../${BUILD_DIR} -cd ../${BUILD_DIR} -cmake .. -G"Xcode" -DASMJIT_TEST=1 -cd ${CURRENT_DIR} +mkdir -p "${BUILD_DIR}" +eval cmake "${CURRENT_DIR}/.." -B "${BUILD_DIR}" ${BUILD_OPTIONS} |