Merge pull request #1020 from h0tw1r3/master

android build work (nw)
This commit is contained in:
Miodrag Milanović 2016-07-01 13:59:46 +02:00 committed by GitHub
commit 7b534607fe
6 changed files with 52 additions and 15 deletions

View File

@ -1066,14 +1066,14 @@ endif
# android-arm
#-------------------------------------------------
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm/Makefile: makefile android-ndk $(SCRIPTS) $(GENIE)
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm/Makefile: makefile $(SCRIPTS) $(GENIE)
ifndef ANDROID_NDK_ARM
$(error ANDROID_NDK_ARM is not set)
endif
$(SILENT) $(GENIE) $(PARAMS) --gcc=android-arm --gcc_version=3.8.0 --osd=sdl --targetos=android --PLATFORM=arm --NO_USE_MIDI=1 --NO_OPENGL=1 --USE_QTDEBUG=0 --NO_X11=1 --DONT_USE_NETWORK=1 --NOASM=1 $(MAKETYPE)
.PHONY: android-arm
android-arm: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm/Makefile
android-arm: android-ndk generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm/Makefile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm config=$(CONFIG) precompile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm config=$(CONFIG)
@ -1081,14 +1081,14 @@ android-arm: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm/Makefile
# android-arm64
#-------------------------------------------------
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm64/Makefile: makefile android-ndk $(SCRIPTS) $(GENIE)
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm64/Makefile: makefile $(SCRIPTS) $(GENIE)
ifndef ANDROID_NDK_ARM64
$(error ANDROID_NDK_ARM64 is not set)
endif
$(SILENT) $(GENIE) $(PARAMS) --gcc=android-arm64 --gcc_version=3.8.0 --osd=sdl --targetos=android --PLATFORM=arm64 --NO_USE_MIDI=1 --NO_OPENGL=1 --USE_QTDEBUG=0 --NO_X11=1 --DONT_USE_NETWORK=1 --NOASM=1 $(MAKETYPE)
.PHONY: android-arm64
android-arm64: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm64/Makefile
android-arm64: android-ndk generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm64/Makefile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm64 config=$(CONFIG) precompile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm64 config=$(CONFIG)
@ -1096,14 +1096,14 @@ android-arm64: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-arm64/Makefile
# android-mips
#-------------------------------------------------
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips/Makefile: makefile android-ndk $(SCRIPTS) $(GENIE)
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips/Makefile: makefile $(SCRIPTS) $(GENIE)
ifndef ANDROID_NDK_MIPS
$(error ANDROID_NDK_MIPS is not set)
endif
$(SILENT) $(GENIE) $(PARAMS) --gcc=android-mips --gcc_version=3.8.0 --osd=sdl --targetos=android --PLATFORM=mips --NO_USE_MIDI=1 --NO_OPENGL=1 --USE_QTDEBUG=0 --NO_X11=1 --DONT_USE_NETWORK=1 --NOASM=1 $(MAKETYPE)
.PHONY: android-mips
android-mips: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips/Makefile
android-mips: android-ndk generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips/Makefile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips config=$(CONFIG) precompile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips config=$(CONFIG)
@ -1111,14 +1111,14 @@ android-mips: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips/Makefile
# android-mips64
#-------------------------------------------------
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips64/Makefile: makefile android-ndk $(SCRIPTS) $(GENIE)
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips64/Makefile: makefile $(SCRIPTS) $(GENIE)
ifndef ANDROID_NDK_MIPS64
$(error ANDROID_NDK_MIPS64 is not set)
endif
$(SILENT) $(GENIE) $(PARAMS) --gcc=android-mips64 --gcc_version=3.8.0 --osd=sdl --targetos=android --PLATFORM=mips64 --NO_USE_MIDI=1 --NO_OPENGL=1 --USE_QTDEBUG=0 --NO_X11=1 --DONT_USE_NETWORK=1 --NOASM=1 $(MAKETYPE)
.PHONY: android-mips64
android-mips64: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips64/Makefile
android-mips64: android-ndk generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips64/Makefile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips64 config=$(CONFIG) precompile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips64 config=$(CONFIG)
@ -1126,14 +1126,14 @@ android-mips64: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-mips64/Makefile
# android-x86
#-------------------------------------------------
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-x86/Makefile: makefile android-ndk $(SCRIPTS) $(GENIE)
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-x86/Makefile: makefile $(SCRIPTS) $(GENIE)
ifndef ANDROID_NDK_X86
$(error ANDROID_NDK_X86 is not set)
endif
$(SILENT) $(GENIE) $(PARAMS) --gcc=android-x86 --gcc_version=3.8.0 --osd=sdl --targetos=android --PLATFORM=x86 --NO_USE_MIDI=1 --NO_OPENGL=1 --USE_QTDEBUG=0 --NO_X11=1 --DONT_USE_NETWORK=1 $(MAKETYPE)
.PHONY: android-x86
android-x86: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-x86/Makefile
android-x86: android-ndk generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-x86/Makefile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-x86 config=$(CONFIG) precompile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-x86 config=$(CONFIG)
@ -1141,14 +1141,14 @@ android-x86: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-x86/Makefile
# android-x64
#-------------------------------------------------
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-x64/Makefile: makefile android-ndk $(SCRIPTS) $(GENIE)
$(PROJECTDIR_SDL)/$(MAKETYPE)-android-x64/Makefile: makefile $(SCRIPTS) $(GENIE)
ifndef ANDROID_NDK_X64
$(error ANDROID_NDK_X64 is not set)
endif
$(SILENT) $(GENIE) $(PARAMS) --gcc=android-x64 --gcc_version=3.8.0 --osd=sdl --targetos=android --PLATFORM=x64 --NO_USE_MIDI=1 --NO_OPENGL=1 --USE_QTDEBUG=0 --NO_X11=1 --DONT_USE_NETWORK=1 $(MAKETYPE)
.PHONY: android-x64
android-x64: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-x64/Makefile
android-x64: android-ndk generate $(PROJECTDIR_SDL)/$(MAKETYPE)-android-x64/Makefile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-x64 config=$(CONFIG) precompile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/$(MAKETYPE)-android-x64 config=$(CONFIG)

View File

@ -1209,6 +1209,8 @@ if _OPTIONS["targetos"]=="android" then
targetdir(MAME_DIR .. "android-project/app/src/main/libs/x86_64")
end
end
strip()
else
kind "StaticLib"
end

View File

@ -772,9 +772,15 @@ function toolchain(_buildDir, _subDir)
configuration { "openbsd", "x64", "Debug" }
targetdir (_buildDir .. "openbsd" .. "/bin/x64/Debug")
configuration { "android-*", "Release" }
targetdir (_buildDir .. "android/bin/" .. _OPTIONS["PLATFORM"] .. "/Release")
objdir (_buildDir .. "android/obj/" .. _OPTIONS["PLATFORM"] .. "/Release")
configuration { "android-*", "Debug" }
targetdir (_buildDir .. "android/bin/" .. _OPTIONS["PLATFORM"] .. "/Debug")
objdir (_buildDir .. "android/obj/" .. _OPTIONS["PLATFORM"] .. "/Debug")
configuration { "android-*" }
targetdir (_buildDir .. "android-" .. _OPTIONS["PLATFORM"] .. "/bin")
objdir (_buildDir .. "android-" .. _OPTIONS["PLATFORM"] .. "/obj")
includedirs {
MAME_DIR .. "3rdparty/bgfx/3rdparty/khronos",
"$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libcxx/include",

View File

@ -174,10 +174,23 @@
#include "drcbex64.h"
// This is a trick to make it build on Android where the ARM SDK declares ::REG_Rn
// and the x64 SDK declares ::REG_Exx and ::REG_Rxx
namespace drc {
using namespace uml;
using namespace x64emit;
using x64emit::REG_EAX;
using x64emit::REG_ECX;
using x64emit::REG_EDX;
using x64emit::REG_RAX;
using x64emit::REG_RCX;
using x64emit::REG_RDX;
using x64emit::REG_RBX;
using x64emit::REG_RSP;
using x64emit::REG_RBP;
using x64emit::REG_RSI;
using x64emit::REG_RDI;
using x64emit::REG_R8;
using x64emit::REG_R9;
using x64emit::REG_R10;

View File

@ -89,9 +89,19 @@
#include "drcuml.h"
#include "drcbex86.h"
// This is a trick to make it build on Android where the x86 SDK declares ::REG_Exx
namespace drc {
using namespace uml;
using namespace x86emit;
using x86emit::REG_EAX;
using x86emit::REG_ECX;
using x86emit::REG_EDX;
using x86emit::REG_EBX;
using x86emit::REG_ESP;
using x86emit::REG_EBP;
using x86emit::REG_ESI;
using x86emit::REG_EDI;
//**************************************************************************
// DEBUGGING
@ -6733,3 +6743,5 @@ int drcbe_x86::ddivs(UINT64 &dstlo, UINT64 &dsthi, INT64 src1, INT64 src2)
dsthi = src1 % src2;
return ((dstlo == 0) << 2) | ((dstlo >> 60) & FLAG_S);
}
} // namespace drc

View File

@ -22,6 +22,7 @@
namespace drc {
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@ -336,5 +337,8 @@ private:
static opcode_generate_func s_opcode_table[uml::OP_MAX];
};
} // namespace drc
#endif /* __DRCBEC_H__ */
using drc::drcbe_x86;
#endif /* __DRCBEX86_H__ */