mirror of
https://github.com/kanjitalk755/macemu.git
synced 2024-11-25 18:31:14 +00:00
SS: add pregenerated dyngen output from cygwin; on cygwin run the dyngen, otherwise on Windows use this pregenerated dyngen
This commit is contained in:
parent
ef2f205d6b
commit
a667dc9787
@ -35,7 +35,7 @@ CC = @CC@
|
||||
CXX = @CXX@
|
||||
CFLAGS = @CFLAGS@ $(SDL_CFLAGS)
|
||||
CXXFLAGS = @CXXFLAGS@ $(SDL_CFLAGS)
|
||||
CPPFLAGS = @CPPFLAGS@ -I../include -I. -I../slirp -I../Unix/dyngen_precompiled
|
||||
CPPFLAGS = @CPPFLAGS@ -I../include -I. -I../slirp
|
||||
DEFS = @DEFS@
|
||||
LDFLAGS = @LDFLAGS@ -Wl,-Bstatic
|
||||
#TODO remove pthread part of that if irrelevant
|
||||
@ -44,6 +44,7 @@ CPUSRCS = @CPUSRCS@
|
||||
PERL = @PERL@
|
||||
|
||||
USE_DYNGEN = @USE_DYNGEN@
|
||||
USE_PREGENERATED_DYNGEN = @USE_PREGENERATED_DYNGEN@
|
||||
DYNGENSRCS = @DYNGENSRCS@
|
||||
DYNGEN_CC = $(CXX)
|
||||
DYNGEN_OP_FLAGS = @DYNGEN_OP_FLAGS@
|
||||
@ -134,8 +135,9 @@ $(UI_APP): $(XPLATSRCS) $(OBJ_DIR) $(UI_OBJS)
|
||||
mostlyclean:
|
||||
rm -f $(APP) $(UI_APP) $(OBJ_DIR)/* core* *.core *~ *.bak
|
||||
|
||||
clean: mostlyclean
|
||||
clean: mostlyclean dyngenclean
|
||||
rm -f $(XPLATSRCS)
|
||||
dyngenclean:
|
||||
rm -f dyngen basic-dyngen-ops.hpp ppc-dyngen-ops.hpp ppc-execute-impl.cpp
|
||||
|
||||
distclean: clean
|
||||
@ -177,36 +179,35 @@ DYNGEN = dyngen.exe
|
||||
|
||||
ifeq ($(USE_DYNGEN),yes)
|
||||
DYNGENDEPS = basic-dyngen-ops.hpp ppc-dyngen-ops.hpp
|
||||
dyngendeps: $(DYNGENDEPS)
|
||||
|
||||
###
|
||||
|
||||
basic-dyngen-ops.hpp: ../Unix/dyngen_precompiled/basic-dyngen-ops.hpp basic-dyngen-ops-x86_32.hpp basic-dyngen-ops-x86_64.hpp
|
||||
$(OBJ_DIR)/basic-dyngen.o: basic-dyngen-ops.hpp
|
||||
$(OBJ_DIR)/ppc-dyngen.o: ppc-dyngen-ops.hpp
|
||||
|
||||
ifeq ($(USE_PREGENERATED_DYNGEN),yes)
|
||||
|
||||
basic-dyngen-ops.hpp: cygwin_precompiled_dyngen/basic-dyngen-ops.hpp
|
||||
cp -f $< $@
|
||||
basic-dyngen-ops-x86_32.hpp: ../Unix/dyngen_precompiled/basic-dyngen-ops-x86_32.hpp
|
||||
cp -f $< $@
|
||||
basic-dyngen-ops-x86_64.hpp: ../Unix/dyngen_precompiled/basic-dyngen-ops-x86_64.hpp
|
||||
cp -f $< $@
|
||||
ppc-dyngen-ops.hpp: ../Unix/dyngen_precompiled/ppc-dyngen-ops.hpp ppc-dyngen-ops-x86_32.hpp ppc-dyngen-ops-x86_64.hpp
|
||||
cp -f $< $@
|
||||
ppc-dyngen-ops-x86_32.hpp: ../Unix/dyngen_precompiled/ppc-dyngen-ops-x86_32.hpp
|
||||
cp -f $< $@
|
||||
ppc-dyngen-ops-x86_64.hpp: ../Unix/dyngen_precompiled/ppc-dyngen-ops-x86_64.hpp
|
||||
ppc-dyngen-ops.hpp: cygwin_precompiled_dyngen/ppc-dyngen-ops.hpp
|
||||
cp -f $< $@
|
||||
|
||||
else
|
||||
# Only GCC is supported for generating synthetic opcodes
|
||||
#$(DYNGEN): $(DYNGENOBJS)
|
||||
# $(HOST_CXX) -o $@ $(LDFLAGS) $(DYNGENOBJS)
|
||||
$(DYNGEN): $(DYNGENOBJS)
|
||||
$(HOST_CXX) -o $@ $(LDFLAGS) $(DYNGENOBJS)
|
||||
|
||||
#$(OBJ_DIR)/basic-dyngen.o: basic-dyngen-ops.hpp
|
||||
#$(OBJ_DIR)/basic-dyngen-ops.o: $(kpxsrcdir)/cpu/jit/basic-dyngen-ops.cpp
|
||||
# $(DYNGEN_CC) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@
|
||||
#basic-dyngen-ops.hpp: $(OBJ_DIR)/basic-dyngen-ops.o $(DYNGEN)
|
||||
# ./$(DYNGEN) -o $@ $<
|
||||
$(OBJ_DIR)/basic-dyngen-ops.o: $(kpxsrcdir)/cpu/jit/basic-dyngen-ops.cpp
|
||||
$(DYNGEN_CC) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@
|
||||
basic-dyngen-ops.hpp: $(OBJ_DIR)/basic-dyngen-ops.o $(DYNGEN)
|
||||
./$(DYNGEN) -o $@ $<
|
||||
|
||||
#$(OBJ_DIR)/ppc-dyngen.o: ppc-dyngen-ops.hpp
|
||||
#$(OBJ_DIR)/ppc-dyngen-ops.o: $(kpxsrcdir)/cpu/ppc/ppc-dyngen-ops.cpp basic-dyngen-ops.hpp
|
||||
# $(DYNGEN_CC) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@
|
||||
#ppc-dyngen-ops.hpp: $(OBJ_DIR)/ppc-dyngen-ops.o $(DYNGEN)
|
||||
# ./$(DYNGEN) -o $@ $<
|
||||
$(OBJ_DIR)/ppc-dyngen-ops.o: $(kpxsrcdir)/cpu/ppc/ppc-dyngen-ops.cpp basic-dyngen-ops.hpp
|
||||
$(DYNGEN_CC) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@
|
||||
ppc-dyngen-ops.hpp: $(OBJ_DIR)/ppc-dyngen-ops.o $(DYNGEN)
|
||||
./$(DYNGEN) -o $@ $<
|
||||
endif
|
||||
|
||||
$(OBJ_DIR)/sheepshaver_glue.o $(OBJ_DIR)/ppc-cpu.o $(OBJ_DIR)/ppc-decode.o $(OBJ_DIR)/ppc-translate.o $(OBJ_DIR)/ppc-jit.o: basic-dyngen-ops.hpp ppc-dyngen-ops.hpp
|
||||
endif
|
||||
|
@ -192,6 +192,13 @@ if [[ "x$HAVE_GCC30" = "xyes" ]]; then
|
||||
CFLAGS="$SAVED_CFLAGS"
|
||||
fi
|
||||
|
||||
case $host_os in
|
||||
cygwin)
|
||||
CFLAGS="$CFLAGS -mwin32"
|
||||
CXXFLAGS="$CXXFLAGS -mwin32"
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl CPU emulator sources
|
||||
CPUSRCS="\
|
||||
../kpx_cpu/src/mathlib/ieeefp.cpp \
|
||||
@ -205,6 +212,7 @@ CPPFLAGS="$CPPFLAGS -I../kpx_cpu/include -I../kpx_cpu/src"
|
||||
|
||||
dnl Enable JIT compiler, if possible
|
||||
USE_DYNGEN="no"
|
||||
USE_PREGENERATED_DYNGEN="no"
|
||||
if [[ "x$WANT_JIT" = "xyes" ]]; then
|
||||
case $host_cpu in
|
||||
i?86)
|
||||
@ -216,6 +224,16 @@ if [[ "x$WANT_JIT" = "xyes" ]]; then
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
case $host_os in
|
||||
cygwin)
|
||||
USE_PREGENERATED_DYNGEN="no"
|
||||
;;
|
||||
*)
|
||||
USE_PREGENERATED_DYNGEN="yes"
|
||||
;;
|
||||
esac
|
||||
|
||||
USE_DYNGEN="yes"
|
||||
DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -finline-limit=10000 -g0"
|
||||
if [[ "x$HAVE_GCC30" = "xyes" ]]; then
|
||||
@ -256,6 +274,7 @@ fi
|
||||
dnl Generate Makefile.
|
||||
AC_SUBST(PERL)
|
||||
AC_SUBST(USE_DYNGEN)
|
||||
AC_SUBST(USE_PREGENERATED_DYNGEN)
|
||||
AC_SUBST(DYNGENSRCS)
|
||||
AC_SUBST(DYNGEN_OP_FLAGS)
|
||||
AC_SUBST(CPUSRCS)
|
||||
|
File diff suppressed because it is too large
Load Diff
11173
SheepShaver/src/Windows/cygwin_precompiled_dyngen/ppc-dyngen-ops.hpp
Normal file
11173
SheepShaver/src/Windows/cygwin_precompiled_dyngen/ppc-dyngen-ops.hpp
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user