split ares binaries for interpreter vs recompiler

This commit is contained in:
CasualPokePlayer 2023-04-19 23:21:07 -07:00
parent 8cf820da4d
commit 3701aef5a4
9 changed files with 23 additions and 7 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -3,7 +3,7 @@ struct Accuracy {
static constexpr bool Reference = 0;
struct CPU {
static constexpr bool Interpreter = 0 | Reference | !recompiler::generic::supported;
static constexpr bool Interpreter = 0 | Reference | !recompiler::generic::supported | WANT_CPU_INTERPRETER;
static constexpr bool Recompiler = !Interpreter;
//exceptions when the CPU accesses unaligned memory addresses

View File

@ -16,9 +16,14 @@ CXXFLAGS := -std=gnu++17 -march=x86-64-v2 \
-Wno-mismatched-tags -Wno-missing-braces -Wno-overloaded-virtual \
-Wno-unused-private-field -Wno-sometimes-uninitialized \
-fno-strict-aliasing -fwrapv \
-DSLJIT_HAVE_CONFIG_PRE=1 -DSLJIT_HAVE_CONFIG_POST=1
-DSLJIT_HAVE_CONFIG_PRE=1 -DSLJIT_HAVE_CONFIG_POST=1 \
-DWANT_CPU_INTERPRETER=$(WANT_CPU_INTERPRETER)
TARGET = ares64.wbx
ifneq (0,$(WANT_CPU_INTERPRETER))
TARGET = ares64_interpreter.wbx
else
TARGET = ares64_recompiler.wbx
endif
SRCS_NALL = \
$(NALL_PATH)/nall.cpp
@ -57,6 +62,4 @@ SRCS_SLJIT = \
$(SLJIT_PATH)/sljitLir.c \
$(THIRDPARTY_PATH)/sljitAllocator.cpp
SRCS = $(SRCS_NALL) $(SRCS_PROCESSORS) $(SRCS_ARES) $(SRCS_N64) $(SRCS_ANGRYLION) $(SRCS_SLJIT) BizInterface.cpp
include ../common.mak
SRCS = $(SRCS_NALL) $(SRCS_PROCESSORS) $(SRCS_ARES) $(SRCS_N64) $(SRCS_ANGRYLION) $(SRCS_SLJIT) $(ROOT_DIR)/BizInterface.cpp

View File

@ -0,0 +1,4 @@
WANT_CPU_INTERPRETER := 1
include common.mak
OUT_DIR := $(realpath .)/obj/interpreter
include ../common.mak

5
waterbox/ares64/make-both.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/sh
set -e
make -f interpreter.mak $1 -j
make -f recompiler.mak $1 -j

View File

@ -0,0 +1,4 @@
WANT_CPU_INTERPRETER := 0
include common.mak
OUT_DIR := $(realpath .)/obj/recompiler
include ../common.mak

View File

@ -3,7 +3,7 @@ set -e
cd emulibc && make -f Makefile $1 -j && cd -
cd libco && make -f Makefile $1 -j && cd -
cd ares64 && make -f Makefile $1 -j && cd -
cd ares64 && ./make-both.sh $1 && cd -
cd bsnescore && make -f Makefile $1 -j && cd -
cd gpgx && make -f Makefile $1 -j && cd -
cd libsnes && make -f Makefile $1 -j && cd -