From b9da669774087ffc72cbbb1e99521c57a43705de Mon Sep 17 00:00:00 2001 From: Sacha Date: Mon, 17 Dec 2012 01:06:14 +1000 Subject: [PATCH 1/5] Qt project files (Symbian/Blackberry10 support) --- Qt/Common.pro | 68 ++++++++++++++ Qt/Core.pro | 239 ++++++++++++++++++++++++++++++++++++++++++++++++ Qt/Native.pro | 194 +++++++++++++++++++++++++++++++++++++++ Qt/PPSSPP.pro | 49 ++++++++++ Qt/PPSSPPQt.pro | 3 + 5 files changed, 553 insertions(+) create mode 100755 Qt/Common.pro create mode 100755 Qt/Core.pro create mode 100755 Qt/Native.pro create mode 100755 Qt/PPSSPP.pro create mode 100755 Qt/PPSSPPQt.pro diff --git a/Qt/Common.pro b/Qt/Common.pro new file mode 100755 index 0000000000..350da2f1ab --- /dev/null +++ b/Qt/Common.pro @@ -0,0 +1,68 @@ +QT += opengl +QT -= gui +TARGET = Common +TEMPLATE = lib +CONFIG += staticlib + +blackberry: { + QMAKE_CC = ntoarmv7-gcc + QMAKE_CXX = ntoarmv7-g++ + DEFINES += "_QNX_SOURCE=1" "_C99=1" +} + +SOURCES += ../Common/ArmABI.cpp \ + ../Common/ArmEmitter.cpp \ + ../Common/ThunkARM.cpp \ + ../Common/Action.cpp \ + ../Common/ColorUtil.cpp \ + ../Common/ConsoleListener.cpp \ + ../Common/Crypto/aes_cbc.cpp \ + ../Common/Crypto/aes_core.cpp \ + ../Common/Crypto/bn.cpp \ + ../Common/Crypto/ec.cpp \ + ../Common/Crypto/md5.cpp \ + ../Common/Crypto/sha1.cpp \ + ../Common/ExtendedTrace.cpp \ + ../Common/FPURoundModeGeneric.cpp \ + ../Common/FileSearch.cpp \ + ../Common/FileUtil.cpp \ + ../Common/Hash.cpp \ + ../Common/IniFile.cpp \ + ../Common/LogManager.cpp \ + ../Common/MemArena.cpp \ + ../Common/MemoryUtil.cpp \ + ../Common/Misc.cpp \ + ../Common/MathUtil.cpp \ + ../Common/MsgHandler.cpp \ + ../Common/StringUtil.cpp \ + ../Common/Thread.cpp \ + ../Common/Timer.cpp \ + ../Common/Version.cpp +HEADERS += ../Common/ArmABI.h \ + ../Common/ArmEmitter.h \ + ../Common/Action.h \ + ../Common/ColorUtil.h \ + ../Common/ConsoleListener.h \ + ../Common/Crypto/md5.h \ + ../Common/Crypto/sha1.h \ + ../Common/ExtendedTrace.h \ + ../Common/FileSearch.h \ + ../Common/FileUtil.h \ + ../Common/Hash.h \ + ../Common/IniFile.h \ + ../Common/LogManager.h \ + ../Common/MemArena.h \ + ../Common/MemoryUtil.h \ + ../Common/MathUtil.h \ + ../Common/MsgHandler.h \ + ../Common/StringUtil.h \ + ../Common/Thread.h \ + ../Common/Timer.h + +QMAKE_CXXFLAGS += -std=c++0x -Wno-unused-function -Wno-unused-variable -Wno-multichar -Wno-uninitialized -Wno-ignored-qualifiers -Wno-missing-field-initializers -Wno-unused-parameter +DEFINES += ARM USING_GLES2 +blackberry: DEFINES += BLACKBERRY BLACKBERRY10 +symbian: { + QMAKE_CXXFLAGS += -march=armv6 -mfpu=vfp -mfloat-abi=softfp -marm -Wno-parentheses -Wno-comment + DEFINES += SYMBIAN +} diff --git a/Qt/Core.pro b/Qt/Core.pro new file mode 100755 index 0000000000..2b351629f3 --- /dev/null +++ b/Qt/Core.pro @@ -0,0 +1,239 @@ +QT += opengl +QT -= gui +TARGET = Core +TEMPLATE = lib +CONFIG += staticlib + +blackberry: { + QMAKE_CC = ntoarmv7-gcc + QMAKE_CXX = ntoarmv7-g++ + DEFINES += "_QNX_SOURCE=1" "_C99=1" +} + +INCLUDEPATH += ../native ../Common ../ + +SOURCES += ../Core/MIPS/ARM/Asm.cpp \ #CoreARM + ../Core/MIPS/ARM/CompALU.cpp \ + ../Core/MIPS/ARM/CompBranch.cpp \ + ../Core/MIPS/ARM/CompFPU.cpp \ + ../Core/MIPS/ARM/CompLoadStore.cpp \ + ../Core/MIPS/ARM/CompVFPU.cpp \ + ../Core/MIPS/ARM/Jit.cpp \ + ../Core/MIPS/ARM/JitCache.cpp \ + ../Core/MIPS/ARM/RegCache.cpp \ + ../Core/CPU.cpp \ # Core + ../Core/Config.cpp \ + ../Core/Core.cpp \ + ../Core/CoreTiming.cpp \ + ../Core/Debugger/Breakpoints.cpp \ + ../Core/Debugger/SymbolMap.cpp \ + ../Core/Dialog/PSPDialog.cpp \ + ../Core/Dialog/PSPMsgDialog.cpp \ + ../Core/Dialog/PSPOskDialog.cpp \ + ../Core/Dialog/PSPPlaceholderDialog.cpp \ + ../Core/Dialog/PSPSaveDialog.cpp \ + ../Core/Dialog/SavedataParam.cpp \ + ../Core/ELF/ElfReader.cpp \ + ../Core/ELF/PrxDecrypter.cpp \ + ../Core/ELF/ParamSFO.cpp \ + ../Core/FileSystems/BlockDevices.cpp \ + ../Core/FileSystems/DirectoryFileSystem.cpp \ + ../Core/FileSystems/ISOFileSystem.cpp \ + ../Core/FileSystems/MetaFileSystem.cpp \ + ../Core/HLE/HLE.cpp \ + ../Core/HLE/HLETables.cpp \ + ../Core/HLE/__sceAudio.cpp \ + ../Core/HLE/sceAtrac.cpp \ + ../Core/HLE/sceAudio.cpp \ + ../Core/HLE/sceCtrl.cpp \ + ../Core/HLE/sceDisplay.cpp \ + ../Core/HLE/sceDmac.cpp \ + ../Core/HLE/sceGe.cpp \ + ../Core/HLE/sceFont.cpp \ + ../Core/HLE/sceHprm.cpp \ + ../Core/HLE/sceHttp.cpp \ + ../Core/HLE/sceImpose.cpp \ + ../Core/HLE/sceIo.cpp \ + ../Core/HLE/sceKernel.cpp \ + ../Core/HLE/sceKernelAlarm.cpp \ + ../Core/HLE/sceKernelEventFlag.cpp \ + ../Core/HLE/sceKernelInterrupt.cpp \ + ../Core/HLE/sceKernelMbx.cpp \ + ../Core/HLE/sceKernelMemory.cpp \ + ../Core/HLE/sceKernelModule.cpp \ + ../Core/HLE/sceKernelMsgPipe.cpp \ + ../Core/HLE/sceKernelMutex.cpp \ + ../Core/HLE/sceKernelSemaphore.cpp \ + ../Core/HLE/sceKernelThread.cpp \ + ../Core/HLE/sceKernelThread.h \ + ../Core/HLE/sceKernelTime.cpp \ + ../Core/HLE/sceKernelVTimer.cpp \ + ../Core/HLE/sceMpeg.cpp \ + ../Core/HLE/sceNet.cpp \ + ../Core/HLE/sceOpenPSID.cpp \ + ../Core/HLE/sceParseHttp.cpp \ + ../Core/HLE/sceParseUri.cpp \ + ../Core/HLE/scePower.cpp \ + ../Core/HLE/scePsmf.cpp \ + ../Core/HLE/sceRtc.cpp \ + ../Core/HLE/sceSas.cpp \ + ../Core/HLE/sceSsl.cpp \ + ../Core/HLE/scesupPreAcc.cpp \ + ../Core/HLE/sceUmd.cpp \ + ../Core/HLE/sceUtility.cpp \ + ../Core/HLE/sceVaudio.cpp \ + ../Core/HW/MemoryStick.cpp \ + ../Core/Host.cpp \ + ../Core/Loaders.cpp \ + ../Core/MIPS/JitCommon/JitCommon.cpp \ + ../Core/MIPS/MIPS.cpp \ + ../Core/MIPS/MIPSAnalyst.cpp \ + ../Core/MIPS/MIPSCodeUtils.cpp \ + ../Core/MIPS/MIPSDebugInterface.cpp \ + ../Core/MIPS/MIPSDis.cpp \ + ../Core/MIPS/MIPSDisVFPU.cpp \ + ../Core/MIPS/MIPSInt.cpp \ + ../Core/MIPS/MIPSIntVFPU.cpp \ + ../Core/MIPS/MIPSTables.cpp \ + ../Core/MIPS/MIPSVFPUUtils.cpp \ + ../Core/MemMap.cpp \ + ../Core/MemMapFunctions.cpp \ + ../Core/PSPLoaders.cpp \ + ../Core/PSPMixer.cpp \ + ../Core/System.cpp \ + ../Core/Util/BlockAllocator.cpp \ + ../Core/Util/PPGeDraw.cpp \ + ../Core/Util/ppge_atlas.cpp \ # GPU + ../GPU/GLES/DisplayListInterpreter.cpp \ + ../GPU/GLES/FragmentShaderGenerator.cpp \ + ../GPU/GLES/Framebuffer.cpp \ + ../GPU/GLES/ShaderManager.cpp \ + ../GPU/GLES/StateMapping.cpp \ + ../GPU/GLES/TextureCache.cpp \ + ../GPU/GLES/TransformPipeline.cpp \ + ../GPU/GLES/VertexDecoder.cpp \ + ../GPU/GLES/VertexShaderGenerator.cpp \ + ../GPU/GPUState.cpp \ + ../GPU/Math3D.cpp \ + ../GPU/Null/NullGpu.cpp \ # Kirk + ../ext/libkirk/AES.c \ + ../ext/libkirk/SHA1.c \ + ../ext/libkirk/bn.c \ + ../ext/libkirk/ec.c \ + ../ext/libkirk/kirk_engine.c + +HEADERS += ../Core/MIPS/ARM/Asm.h \ + ../Core/MIPS/ARM/Jit.h \ + ../Core/MIPS/ARM/JitCache.h \ + ../Core/MIPS/ARM/RegCache.h \ + ../Core/CPU.h \ + ../Core/Config.h \ + ../Core/Core.h \ + ../Core/CoreParameter.h \ + ../Core/CoreTiming.h \ + ../Core/Debugger/Breakpoints.h \ + ../Core/Debugger/DebugInterface.h \ + ../Core/Debugger/SymbolMap.h \ + ../Core/Dialog/PSPDialog.h \ + ../Core/Dialog/PSPMsgDialog.h \ + ../Core/Dialog/PSPOskDialog.h \ + ../Core/Dialog/PSPPlaceholderDialog.h \ + ../Core/Dialog/PSPSaveDialog.h \ + ../Core/Dialog/SavedataParam.h \ + ../Core/ELF/ElfReader.h \ + ../Core/ELF/ElfTypes.h \ + ../Core/ELF/PrxDecrypter.h \ + ../Core/ELF/ParamSFO.h \ + ../Core/FileSystems/BlockDevices.h \ + ../Core/FileSystems/DirectoryFileSystem.h \ + ../Core/FileSystems/FileSystem.h \ + ../Core/FileSystems/ISOFileSystem.h \ + ../Core/FileSystems/MetaFileSystem.h \ + ../Core/HLE/FunctionWrappers.h \ + ../Core/HLE/HLE.h \ + ../Core/HLE/HLETables.h \ + ../Core/HLE/__sceAudio.h \ + ../Core/HLE/sceAtrac.h \ + ../Core/HLE/sceAudio.h \ + ../Core/HLE/sceCtrl.h \ + ../Core/HLE/sceDisplay.h \ + ../Core/HLE/sceDmac.h \ + ../Core/HLE/sceGe.h \ + ../Core/HLE/sceFont.h \ + ../Core/HLE/sceHprm.h \ + ../Core/HLE/sceHttp.h \ + ../Core/HLE/sceImpose.h \ + ../Core/HLE/sceIo.h \ + ../Core/HLE/sceKernel.h \ + ../Core/HLE/sceKernelAlarm.h \ + ../Core/HLE/sceKernelEventFlag.h \ + ../Core/HLE/sceKernelInterrupt.h \ + ../Core/HLE/sceKernelMbx.h \ + ../Core/HLE/sceKernelMemory.h \ + ../Core/HLE/sceKernelModule.h \ + ../Core/HLE/sceKernelMsgPipe.h \ + ../Core/HLE/sceKernelMutex.h \ + ../Core/HLE/sceKernelSemaphore.h \ + ../Core/HLE/sceMpeg.h \ + ../Core/HLE/sceNet.h \ + ../Core/HLE/sceOpenPSID.h \ + ../Core/HLE/sceParseHttp.h \ + ../Core/HLE/sceParseUri.h \ + ../Core/HLE/scePower.h \ + ../Core/HLE/scePsmf.h \ + ../Core/HLE/sceRtc.h \ + ../Core/HLE/sceSas.h \ + ../Core/HLE/sceSsl.h \ + ../Core/HLE/scesupPreAcc.h \ + ../Core/HLE/sceUmd.h \ + ../Core/HLE/sceUtility.h \ + ../Core/HLE/sceVaudio.h \ + ../Core/HW/MemoryStick.h \ + ../Core/Host.h \ + ../Core/Loaders.h \ + ../Core/MIPS/JitCommon/JitCommon.h \ + ../Core/MIPS/MIPS.h \ + ../Core/MIPS/MIPSAnalyst.h \ + ../Core/HLE/sceKernelTime.h \ + ../Core/HLE/sceKernelVTimer.h \ + ../Core/MIPS/MIPSCodeUtils.h \ + ../Core/MIPS/MIPSDebugInterface.h \ + ../Core/MIPS/MIPSDis.h \ + ../Core/MIPS/MIPSDisVFPU.h \ + ../Core/MIPS/MIPSInt.h \ + ../Core/MIPS/MIPSIntVFPU.h \ + ../Core/MIPS/MIPSTables.h \ + ../Core/MIPS/MIPSVFPUUtils.h \ + ../Core/MemMap.h \ + ../Core/PSPLoaders.h \ + ../Core/PSPMixer.h \ + ../Core/System.h \ + ../Core/Util/BlockAllocator.h \ + ../Core/Util/PPGeDraw.h \ + ../Core/Util/Pool.h \ + ../Core/Util/ppge_atlas.h \ + ../GPU/GLES/DisplayListInterpreter.h \ + ../GPU/GLES/FragmentShaderGenerator.h \ + ../GPU/GLES/Framebuffer.h \ + ../GPU/GLES/ShaderManager.h \ + ../GPU/GLES/StateMapping.h \ + ../GPU/GLES/TextureCache.h \ + ../GPU/GLES/TransformPipeline.h \ + ../GPU/GLES/VertexDecoder.h \ + ../GPU/GLES/VertexShaderGenerator.h \ + ../GPU/GPUInterface.h \ + ../GPU/GPUState.h \ + ../GPU/Math3D.h \ + ../GPU/Null/NullGpu.h \ + ../GPU/ge_constants.h \ + ../ext/libkirk/AES.h \ + ../ext/libkirk/SHA1.h \ + ../ext/libkirk/kirk_engine.h + +QMAKE_CXXFLAGS += -std=c++0x -Wno-unused-function -Wno-unused-variable -Wno-multichar -Wno-uninitialized -Wno-ignored-qualifiers -Wno-missing-field-initializers -Wno-unused-parameter +DEFINES += ARM USING_GLES2 +blackberry: DEFINES += BLACKBERRY BLACKBERRY10 +symbian: { + QMAKE_CXXFLAGS += -march=armv6 -mfpu=vfp -mfloat-abi=softfp -marm -Wno-parentheses -Wno-comment + DEFINES += SYMBIAN +} diff --git a/Qt/Native.pro b/Qt/Native.pro new file mode 100755 index 0000000000..e0d9242e29 --- /dev/null +++ b/Qt/Native.pro @@ -0,0 +1,194 @@ +QT += opengl +QT -= gui +TARGET = Native +TEMPLATE = lib +CONFIG += staticlib + +blackberry: { + QMAKE_CC = ntoarmv7-gcc + QMAKE_CXX = ntoarmv7-g++ + DEFINES += "_QNX_SOURCE=1" "_C99=1" +} + +# EtcPack + +SOURCES += ../native/ext/etcpack/etcdec.cpp \ + ../native/ext/etcpack/etcpack.cpp \ + ../native/ext/etcpack/image.cpp +HEADERS += ../native/ext/etcpack/etcdec.h \ + ../native/ext/etcpack/etcpack.h \ + ../native/ext/etcpack/image.h +INCLUDEPATH += ../native/ext/etcpack + +# Stb_image + +SOURCES += ../native/ext/stb_image/stb_image.c +HEADERS += ../native/ext/stb_image/stb_image.h +INCLUDEPATH += ../native/ext/stb_image + +# Stb_vorbis + +SOURCES += ../native/ext/stb_vorbis/stb_vorbis.c +HEADERS += ../native/ext/stb_vorbis/stb_vorbis.h +INCLUDEPATH += ../native/ext/stb_vorbis + +!symbian: { +# Zlib + +SOURCES += ../ext/zlib/adler32.c \ + ../ext/zlib/compress.c \ + ../ext/zlib/crc32.c \ + ../ext/zlib/deflate.c \ + ../ext/zlib/gzclose.c \ + ../ext/zlib/gzlib.c \ + ../ext/zlib/gzread.c \ + ../ext/zlib/gzwrite.c \ + ../ext/zlib/infback.c \ + ../ext/zlib/inffast.c \ + ../ext/zlib/inflate.c \ + ../ext/zlib/inflate.h \ + ../ext/zlib/inftrees.c \ + ../ext/zlib/trees.c \ + ../ext/zlib/uncompr.c \ + ../ext/zlib/zutil.c +HEADERS += ../ext/zlib/crc32.h \ + ../ext/zlib/deflate.h \ + ../ext/zlib/gzguts.h \ + ../ext/zlib/inffast.h \ + ../ext/zlib/inffixed.h \ + ../ext/zlib/inftrees.h \ + ../ext/zlib/trees.h \ + ../ext/zlib/zconf.h \ + ../ext/zlib/zlib.h \ + ../ext/zlib/zutil.h +INCLUDEPATH += ../ext/zlib +} + + +# Native + +SOURCES += ../native/audio/mixer.cpp \ + ../native/audio/wav_read.cpp \ + ../native/base/buffer.cpp \ + ../native/base/colorutil.cpp \ + ../native/base/display.cpp \ + ../native/base/error_context.cpp \ + ../native/base/fastlist_test.cpp \ + ../native/base/stringutil.cpp \ + ../native/base/threadutil.cpp \ + ../native/base/timeutil.cpp \ + ../native/file/chunk_file.cpp \ + ../native/file/dialog.cpp \ + ../native/file/easy_file.cpp \ + ../native/file/fd_util.cpp \ + ../native/file/file_util.cpp \ + ../native/file/zip_read.cpp \ + ../native/gfx/gl_debug_log.cpp \ + ../native/gfx/gl_lost_manager.cpp \ + ../native/gfx/texture.cpp \ + ../native/gfx/texture_atlas.cpp \ + ../native/gfx/texture_gen.cpp \ + ../native/gfx_es2/draw_buffer.cpp \ + ../native/gfx_es2/fbo.cpp \ + ../native/gfx_es2/gl_state.cpp \ + ../native/gfx_es2/glsl_program.cpp \ + ../native/gfx_es2/vertex_format.cpp \ + ../native/image/png_load.cpp \ + ../native/image/zim_load.cpp \ + ../native/image/zim_save.cpp \ + ../native/input/gesture_detector.cpp \ + ../native/json/json_writer.cpp \ + ../native/math/curves.cpp \ + ../native/math/lin/aabb.cpp \ + ../native/math/lin/matrix4x4.cpp \ + ../native/math/lin/plane.cpp \ + ../native/math/lin/quat.cpp \ + ../native/math/lin/vec3.cpp \ + ../native/math/math_util.cpp \ + ../native/midi/midi_input.cpp \ + ../native/net/http_client.cpp \ + ../native/net/resolve.cpp \ + ../native/profiler/profiler.cpp \ + ../native/ui/screen.cpp \ + ../native/ui/ui.cpp \ + ../native/ui/virtual_input.cpp \ + ../native/util/bits/bits.cpp \ + ../native/util/bits/varint.cpp \ + ../native/util/hash/hash.cpp \ + ../native/util/random/perlin.cpp + +HEADERS += ../native/audio/mixer.h \ + ../native/audio/wav_read.h \ + ../native/base/basictypes.h \ + ../native/base/buffer.h \ + ../native/base/color.h \ + ../native/base/colorutil.h \ + ../native/base/display.h \ + ../native/base/error_context.h \ + ../native/base/fastlist.h \ + ../native/base/linked_ptr.h \ + ../native/base/logging.h \ + ../native/base/mutex.h \ + ../native/base/scoped_ptr.h \ + ../native/base/stats.h \ + ../native/base/stringutil.h \ + ../native/base/threadutil.h \ + ../native/base/timeutil.h \ + ../native/file/chunk_file.h \ + ../native/file/dialog.h \ + ../native/file/easy_file.h \ + ../native/file/fd_util.h \ + ../native/file/file_util.h \ + ../native/file/vfs.h \ + ../native/file/zip_read.h \ + ../native/gfx/gl_debug_log.h \ + ../native/gfx/gl_lost_manager.h \ + ../native/gfx/texture.h \ + ../native/gfx/texture_atlas.h \ + ../native/gfx/texture_gen.h \ + ../native/gfx_es2/fbo.h \ + ../native/gfx_es2/gl_state.h \ + ../native/gfx_es2/glsl_program.h \ + ../native/gfx_es2/vertex_format.h \ + ../native/gfx_es2/draw_buffer.h \ + ../native/image/png_load.h \ + ../native/image/zim_load.h \ + ../native/image/zim_save.h \ + ../native/input/gesture_detector.h \ + ../native/input/input_state.h \ + ../native/json/json_writer.h \ + ../native/math/compression.h \ + ../native/math/curves.h \ + ../native/math/lin/aabb.h \ + ../native/math/lin/matrix4x4.h \ + ../native/math/lin/plane.h \ + ../native/math/lin/quat.h \ + ../native/math/lin/ray.h \ + ../native/math/lin/vec3.h \ + ../native/math/math_util.h \ + ../native/midi/midi_input.h \ + ../native/net/http_client.h \ + ../native/net/resolve.h \ + ../native/ui/ui.h \ + ../native/profiler/profiler.h \ + ../native/ui/screen.h \ + ../native/ui/virtual_input.h \ + ../native/util/bits/bits.h \ + ../native/util/bits/hamming.h \ + ../native/util/bits/varint.h \ + ../native/util/hash/hash.h \ + ../native/util/random/perlin.h \ + ../native/util/random/rng.h \ + ../native/ext/rapidxml/rapidxml.hpp \ + ../native/ext/rapidxml/rapidxml_iterators.hpp \ + ../native/ext/rapidxml/rapidxml_print.hpp \ + ../native/ext/rapidxml/rapidxml_utils.hpp +INCLUDEPATH+= ../native + +QMAKE_CXXFLAGS += -std=c++0x -Wno-unused-function -Wno-unused-variable -Wno-multichar -Wno-uninitialized -Wno-ignored-qualifiers -Wno-missing-field-initializers -Wno-unused-parameter +DEFINES += ARM USING_GLES2 +blackberry: DEFINES += BLACKBERRY BLACKBERRY10 +symbian: { + QMAKE_CXXFLAGS += -march=armv6 -mfpu=vfp -mfloat-abi=softfp -marm -Wno-parentheses -Wno-comment + DEFINES += SYMBIAN +} diff --git a/Qt/PPSSPP.pro b/Qt/PPSSPP.pro new file mode 100755 index 0000000000..a795dabd99 --- /dev/null +++ b/Qt/PPSSPP.pro @@ -0,0 +1,49 @@ +TARGET = PPSSPPQt +QT += core gui opengl multimedia + +symbian: { + LIBS += -lCore.lib -lCommon.lib -lNative.lib -lcone -leikcore -lavkon -lezlib + CONFIG += 4.6.3 +} +# They try to force QCC with all mkspecs +# QCC is 4.4.1, we need 4.6.3 +blackberry: { + QMAKE_CC = ntoarmv7-gcc + QMAKE_CXX = ntoarmv7-g++ + DEFINES += "_QNX_SOURCE=1" "_C99=1" + LIBS += -L. -lCore -lCommon -lNative -lscreen -lsocket -lstdc++ +} + +# Main +SOURCES += ../native/base/QtMain.cpp +HEADERS += ../native/base/QtMain.h + +# Native + +SOURCES += ../android/jni/NativeApp.cpp \ + ../android/jni/EmuScreen.cpp \ + ../android/jni/MenuScreens.cpp \ + ../android/jni/GamepadEmu.cpp \ + ../android/jni/UIShader.cpp \ + ../android/jni/ui_atlas.cpp + +INCLUDEPATH += .. ../Common ../native + +QMAKE_CXXFLAGS += -std=c++0x -Wno-unused-function -Wno-unused-variable -Wno-multichar -Wno-uninitialized -Wno-ignored-qualifiers -Wno-missing-field-initializers -Wno-unused-parameter +DEFINES += ARM USING_GLES2 +blackberry: DEFINES += BLACKBERRY BLACKBERRY10 +symbian: { + QMAKE_CXXFLAGS += -march=armv6 -mfpu=vfp -mfloat-abi=softfp -marm -Wno-parentheses -Wno-comment + DEFINES += SYMBIAN + + vendorinfo = "%{\"Qtness\"}" ":\"Qtness\"" + packageheader = "$${LITERAL_HASH}{\"PPSSPP\"}, (0xE0095B1D), 0, 0, 4, TYPE=SA" + my_deployment.pkg_prerules = packageheader vendorinfo + assets.sources = ../android/assets/ui_atlas.zim ../android/assets/ppge_atlas.zim + assets.path = E:/PPSSPP + DEPLOYMENT += my_deployment assets + ICON = ../assets/icon.svg +# 268MB maximum + TARGET.EPOCHEAPSIZE = 0x40000 0x10000000 + TARGET.EPOCSTACKSIZE = 0x10000 +} diff --git a/Qt/PPSSPPQt.pro b/Qt/PPSSPPQt.pro new file mode 100755 index 0000000000..8a2c9e21c0 --- /dev/null +++ b/Qt/PPSSPPQt.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs +SUBDIRS = Native.pro Core.pro Common.pro PPSSPP.pro +PPSSPP.depends = Native.pro Core.pro Common.pro From 14f201793bc5c875654bb7513fab8ac65379230d Mon Sep 17 00:00:00 2001 From: Sacha Date: Mon, 17 Dec 2012 01:47:39 +1000 Subject: [PATCH 2/5] Unified assets/ dir for icons/images --- CMakeLists.txt | 8 +- SDL/bar-descriptor.xml | 2 +- SDL/buildassets.sh | 2 +- android/buildassets.sh | 2 +- .../build_ppgeatlas.sh | 2 +- {SDL => assets}/icon-114.png | Bin assets/icon.svg | 169 ++++++++++++++++++ ppge_atlas.zim => assets/ppge_atlas.zim | Bin .../ppge_atlasscript.txt | 0 9 files changed, 177 insertions(+), 8 deletions(-) rename build_ppgeatlas.sh => assets/build_ppgeatlas.sh (62%) rename {SDL => assets}/icon-114.png (100%) create mode 100644 assets/icon.svg rename ppge_atlas.zim => assets/ppge_atlas.zim (100%) rename ppge_atlasscript.txt => assets/ppge_atlasscript.txt (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 51d4e73f85..92b30652d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -888,9 +888,9 @@ set(NativeAppSource android/jni/GamepadEmu.cpp android/jni/UIShader.cpp android/jni/ui_atlas.cpp) -set(AndroidAssets - android/assets/ui_atlas.zim - android/assets/ppge_atlas.zim) +set(NativeAssets + assets/ui_atlas.zim + assets/ppge_atlas.zim) set(LinkCommon ${CoreLibName} ${CMAKE_THREAD_LIBS_INIT} ${nativeExtraLibs}) if (TargetBin) @@ -898,6 +898,6 @@ if (TargetBin) target_link_libraries(${TargetBin} ${LinkCommon}) endif() -file(INSTALL ${AndroidAssets} DESTINATION assets) +file(INSTALL ${NativeAssets} DESTINATION assets) #include(CPack) diff --git a/SDL/bar-descriptor.xml b/SDL/bar-descriptor.xml index 13e3b2e56b..955ae7f005 100644 --- a/SDL/bar-descriptor.xml +++ b/SDL/bar-descriptor.xml @@ -18,7 +18,7 @@ PPSSPPBlackberry - icon-114.png + icon-114.png assets core.games diff --git a/SDL/buildassets.sh b/SDL/buildassets.sh index 82f8ca3df6..8adf949009 100755 --- a/SDL/buildassets.sh +++ b/SDL/buildassets.sh @@ -1,2 +1,2 @@ cp -r ../android/assets . -cp ../ppge_atlas.zim assets +cp ../assets/ppge_atlas.zim assets diff --git a/android/buildassets.sh b/android/buildassets.sh index faeb1a26ef..dd16a616e6 100644 --- a/android/buildassets.sh +++ b/android/buildassets.sh @@ -1,6 +1,6 @@ mkdir -p assets ./buildatlas.sh -cp ../ppge_atlas.zim assets +cp ../assets/ppge_atlas.zim assets #cp -r source_assets/songs assets #cp -r source_assets/samples assets #cp -r ../shaders assets diff --git a/build_ppgeatlas.sh b/assets/build_ppgeatlas.sh similarity index 62% rename from build_ppgeatlas.sh rename to assets/build_ppgeatlas.sh index b85695f0cb..e6ba4ae194 100644 --- a/build_ppgeatlas.sh +++ b/assets/build_ppgeatlas.sh @@ -1 +1 @@ -native/tools/build/atlastool ppge_atlasscript.txt ppge && mv ppge_atlas.cpp ppge_atlas.h Core/Util +native/tools/build/atlastool ppge_atlasscript.txt ppge && mv ppge_atlas.cpp ppge_atlas.h ../Core/Util diff --git a/SDL/icon-114.png b/assets/icon-114.png similarity index 100% rename from SDL/icon-114.png rename to assets/icon-114.png diff --git a/assets/icon.svg b/assets/icon.svg new file mode 100644 index 0000000000..06c2059e7e --- /dev/null +++ b/assets/icon.svg @@ -0,0 +1,169 @@ + + + + + + + + diff --git a/ppge_atlas.zim b/assets/ppge_atlas.zim similarity index 100% rename from ppge_atlas.zim rename to assets/ppge_atlas.zim diff --git a/ppge_atlasscript.txt b/assets/ppge_atlasscript.txt similarity index 100% rename from ppge_atlasscript.txt rename to assets/ppge_atlasscript.txt From 4545cf2350a7f8a8037591d14994e0aa6541136c Mon Sep 17 00:00:00 2001 From: Sacha Date: Mon, 17 Dec 2012 02:03:37 +1000 Subject: [PATCH 3/5] For now, use android ui asset. Android should be pulling it from assets/ instead, in future? --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 92b30652d2..317583d27d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -889,7 +889,7 @@ set(NativeAppSource android/jni/UIShader.cpp android/jni/ui_atlas.cpp) set(NativeAssets - assets/ui_atlas.zim + android/assets/ui_atlas.zim assets/ppge_atlas.zim) set(LinkCommon ${CoreLibName} ${CMAKE_THREAD_LIBS_INIT} ${nativeExtraLibs}) From 4d6f174e41885c9e3216c4424694a64c4ff456e5 Mon Sep 17 00:00:00 2001 From: Sacha Date: Mon, 17 Dec 2012 02:45:51 +1000 Subject: [PATCH 4/5] Update README.md. Instructions for Qt and for Symbian --- README.md | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c87a593df6..40b4544486 100644 --- a/README.md +++ b/README.md @@ -87,17 +87,15 @@ Introduce a meaningless change to a random .java file such as a whitespace to get Eclipse to rebuild the project. Also note that the `Visual Studio` generators aren't compatible with compilers -other than microsoft's, but `NMake Makefiles` works fine. - -[ppsspp-repo]: - "https://github.com/hrydgard/ppsspp" -[ppsspp-devel]: - "http://www.ppsspp.org/development.html" +other than Microsoft's, but `NMake Makefiles` works fine. Building for Blackberry ----------------------- -To build for Blackberry, you must first have the latest Native SDK installed from developer.blackberry.com/native and have compiled the SDL port available from github.com/blackberry/SDL to your NDK workspace. Then checkout the latest version of PPSSPP to your NDK workspace. +To build for Blackberry, you must first have the latest Native SDK installed +from developer.blackberry.com/native and have compiled the SDL port available +from github.com/blackberry/SDL to your NDK workspace. Then checkout the latest +version of PPSSPP to your NDK workspace. To set up your environment for cross-compiling you must then use: source ~/bbndk/bbndk-env.sh @@ -105,6 +103,22 @@ To set up your environment for cross-compiling you must then use: Finally, you are ready to compile. Change directory to ppsspp/SDL and run: ./blackberry_build.sh -If you are on Windows, you will need GNU tools and CMake to run the bash script. +If you are on Windows, you will need GNU and CMake to run the bash script. -Currently SDL is required for sound output. EGL is used for the GLES2 interface, which is identical to the Android one. There are plans to move to a Qt interface and a different sound library (such as asound) in future. +Alternatively, you can use the Qt UI by compiling the PPSSPPQt.pro in the Qt/ +directory with qmake from the NDK or QtCreator 2.6+. + +Building for Symbian +-------------------- + +To build for Symbian, you require: +1) GCC 4.6.3 from Mentor Graphics: http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ +2) Symbian Qt libraries. You can find these in the final Nokia Qt SDK. + +Then simply compile the PPSSPPQt.pro with qmake from the SDK or QtCreator 2.6+. + + +[ppsspp-repo]: + "https://github.com/hrydgard/ppsspp" +[ppsspp-devel]: + "http://www.ppsspp.org/development.html" From 3d53f3367990e29ca887533494f0e9fe3ce2296b Mon Sep 17 00:00:00 2001 From: Sacha Date: Mon, 17 Dec 2012 02:56:55 +1000 Subject: [PATCH 5/5] Build fix for atlas --- assets/build_ppgeatlas.sh | 2 +- assets/ppge_atlasscript.txt | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) mode change 100644 => 100755 assets/build_ppgeatlas.sh diff --git a/assets/build_ppgeatlas.sh b/assets/build_ppgeatlas.sh old mode 100644 new mode 100755 index e6ba4ae194..57421aae81 --- a/assets/build_ppgeatlas.sh +++ b/assets/build_ppgeatlas.sh @@ -1 +1 @@ -native/tools/build/atlastool ppge_atlasscript.txt ppge && mv ppge_atlas.cpp ppge_atlas.h ../Core/Util +../native/tools/build/atlastool ppge_atlasscript.txt ppge && mv ppge_atlas.cpp ppge_atlas.h ../Core/Util diff --git a/assets/ppge_atlasscript.txt b/assets/ppge_atlasscript.txt index 104b14428e..8bb6c7b075 100644 --- a/assets/ppge_atlasscript.txt +++ b/assets/ppge_atlasscript.txt @@ -1,8 +1,8 @@ 256 -font UBUNTU24 android/source_assets/font/zrnic.ttf 30 -image I_CROSS android/source_assets/image/cross.png copy -image I_CIRCLE android/source_assets/image/circle.png copy -image I_SQUARE android/source_assets/image/square.png copy -image I_TRIANGLE android/source_assets/image/triangle.png copy -image I_BUTTON android/source_assets/image/button.png copy -image I_LOGO android/res/drawable-mdpi/ic_launcher.png copy +font UBUNTU24 ../android/source_assets/font/zrnic.ttf 30 +image I_CROSS ../android/source_assets/image/cross.png copy +image I_CIRCLE ../android/source_assets/image/circle.png copy +image I_SQUARE ../android/source_assets/image/square.png copy +image I_TRIANGLE ../android/source_assets/image/triangle.png copy +image I_BUTTON ../android/source_assets/image/button.png copy +image I_LOGO ../android/res/drawable-mdpi/ic_launcher.png copy