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>2021-03-21 15:50:25 +0300
committerkobalicek <kobalicek.petr@gmail.com>2021-03-21 16:42:47 +0300
commita4dd0b2d8b0fdbcda777e4d6dae0e76636080113 (patch)
tree231d286ac1af9c8b26f05f80899e068780272594
parente7a728018e5d88ffa477430fa63bdebbf480fb02 (diff)
[ABI] Build improvements - replaced ASMJIT_BUIlD_X86 with ASMJIT_NO_X86 and other changes...
-rw-r--r--.gitignore6
-rw-r--r--CMakeLists.txt40
-rw-r--r--src/asmjit/asmjit.h6
-rw-r--r--src/asmjit/core.h9
-rw-r--r--src/asmjit/core/api-config.h46
-rw-r--r--src/asmjit/core/archtraits.cpp4
-rw-r--r--src/asmjit/core/cpuinfo.cpp4
-rw-r--r--src/asmjit/core/emitter.cpp10
-rw-r--r--src/asmjit/core/formatter.cpp10
-rw-r--r--src/asmjit/core/func.cpp6
-rw-r--r--src/asmjit/core/inst.cpp16
-rw-r--r--src/asmjit/x86/x86assembler.cpp4
-rw-r--r--src/asmjit/x86/x86builder.cpp4
-rw-r--r--src/asmjit/x86/x86compiler.cpp4
-rw-r--r--src/asmjit/x86/x86emithelper.cpp4
-rw-r--r--src/asmjit/x86/x86features.cpp4
-rw-r--r--src/asmjit/x86/x86func.cpp4
-rw-r--r--src/asmjit/x86/x86instapi.cpp4
-rw-r--r--src/asmjit/x86/x86instdb.cpp4
-rw-r--r--src/asmjit/x86/x86operand.cpp4
-rw-r--r--src/asmjit/x86/x86rapass.cpp4
-rw-r--r--test/asmjit_test_assembler.cpp4
-rw-r--r--test/asmjit_test_assembler_x64.cpp4
-rw-r--r--test/asmjit_test_assembler_x86.cpp4
-rw-r--r--test/asmjit_test_compiler.cpp8
-rw-r--r--test/asmjit_test_compiler_x86.cpp4
-rw-r--r--test/asmjit_test_emitters.cpp4
-rw-r--r--test/asmjit_test_instinfo.cpp4
-rw-r--r--test/asmjit_test_perf.cpp4
-rw-r--r--test/asmjit_test_perf_x86.cpp5
-rw-r--r--test/asmjit_test_unit.cpp10
-rw-r--r--test/asmjit_test_x86_sections.cpp4
-rwxr-xr-xtools/configure-makefiles.sh22
-rwxr-xr-xtools/configure-ninja.sh24
-rwxr-xr-xtools/configure-sanitizers.sh24
-rwxr-xr-xtools/configure-xcode.sh11
36 files changed, 160 insertions, 173 deletions
diff --git a/.gitignore b/.gitignore
index 34bbad2..75d36d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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}