From c745072b55e1053fe0321c856500e448bd9096a0 Mon Sep 17 00:00:00 2001 From: Sacha Date: Wed, 11 Jun 2014 03:10:50 +1000 Subject: [PATCH] Update Symbian to GCC 4.8.3 --- .travis.yml | 8 ++++---- Common/ChunkFile.h | 14 -------------- Core/HLE/sceIo.cpp | 27 ++++++--------------------- Core/PSPLoaders.cpp | 3 +-- GPU/Software/Rasterizer.cpp | 2 -- Qt/Settings.pri | 16 ++++------------ native | 2 +- 7 files changed, 16 insertions(+), 56 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3af33f335..508d28141 100644 --- a/.travis.yml +++ b/.travis.yml @@ -56,11 +56,11 @@ install: # Symbian NDK: Belle - elif [ "$PPSSPP_BUILD_TYPE" == "Symbian" ]; then sudo apt-get install lib32stdc++6 lib32bz2-1.0 -qq && - download_extract https://github.com/xsacha/SymbianGCC/releases/download/4.7.3/gcc4.7.3_x86-64.tar.bz2 compiler.tar.bz2 && - download_extract https://github.com/xsacha/SymbianGCC/releases/download/4.7.3/ndk.tar.bz2 ndk.tar.bz2 && - export EPOCROOT=$(pwd)/SDKs/SymbianSR1Qt474/ SBS_GCCE473BIN=$(pwd)/gcc4.7.3_x86-64/bin && + download_extract https://github.com/xsacha/SymbianGCC/releases/download/4.8.3/gcc4.8.3_x86-64.tar.bz2 compiler.tar.bz2 && + download_extract https://github.com/xsacha/SymbianGCC/releases/download/4.8.3/ndk.tar.bz2 ndk.tar.bz2 && + export EPOCROOT=$(pwd)/SDKs/SymbianSR1Qt474/ SBS_GCCE483BIN=$(pwd)/gcc4.8.3_x86-64/bin && cp ffmpeg/symbian/armv6/lib/* $EPOCROOT/epoc32/release/armv5/urel/ && - PATH=$SBS_GCCE473BIN:$(pwd)/tools/sbs/bin:$EPOCROOT/epoc32/tools:$EPOCROOT/bin:$(pwd)/tools/sbs/linux-x86_64-libc2_15/bin:$PATH; + PATH=$SBS_GCCE483BIN:$(pwd)/tools/sbs/bin:$EPOCROOT/epoc32/tools:$EPOCROOT/bin:$(pwd)/tools/sbs/linux-x86_64-libc2_15/bin:$PATH; fi script: diff --git a/Common/ChunkFile.h b/Common/ChunkFile.h index d6cb09a42..8dec9d211 100644 --- a/Common/ChunkFile.h +++ b/Common/ChunkFile.h @@ -30,13 +30,11 @@ #include #include #include -#ifndef __SYMBIAN32__ #if defined(IOS) || defined(MACGNUSTD) #include #else #include #endif -#endif #include "Common.h" #include "FileUtil.h" @@ -47,18 +45,6 @@ namespace std { using tr1::is_pointer; } #endif -#ifdef __SYMBIAN32__ -namespace std { - template - struct bool_constant { - typedef bool_constant type; - static const bool value = bool_value; - }; - template const bool bool_constant::value; - template struct is_pointer : public bool_constant {}; - template struct is_pointer : public bool_constant {}; -} -#endif template struct LinkedListItem : public T diff --git a/Core/HLE/sceIo.cpp b/Core/HLE/sceIo.cpp index f956f9929..665e37edd 100644 --- a/Core/HLE/sceIo.cpp +++ b/Core/HLE/sceIo.cpp @@ -135,19 +135,13 @@ enum { TYPE_FILE = 0x20 }; -#ifdef __SYMBIAN32__ -#undef st_ctime -#undef st_atime -#undef st_mtime -#endif - struct SceIoStat { SceMode_le st_mode; u32_le st_attr; SceOff_le st_size; - ScePspDateTime st_ctime; - ScePspDateTime st_atime; - ScePspDateTime st_mtime; + ScePspDateTime st_c_time; + ScePspDateTime st_a_time; + ScePspDateTime st_m_time; u32_le st_private[6]; }; @@ -156,15 +150,6 @@ struct SceIoDirEnt { char d_name[256]; u32_le d_private; }; -#ifndef __SYMBIAN32__ -struct dirent { - u32 unk0; - u32 type; - u32 size; - u32 unk[19]; - char name[0x108]; -}; -#endif class FileNode : public KernelObject { public: @@ -623,9 +608,9 @@ void __IoGetStat(SceIoStat *stat, PSPFileInfo &info) { stat->st_mode = type | info.access; stat->st_attr = attr; stat->st_size = info.size; - __IoCopyDate(stat->st_atime, info.atime); - __IoCopyDate(stat->st_ctime, info.ctime); - __IoCopyDate(stat->st_mtime, info.mtime); + __IoCopyDate(stat->st_a_time, info.atime); + __IoCopyDate(stat->st_c_time, info.ctime); + __IoCopyDate(stat->st_m_time, info.mtime); stat->st_private[0] = info.startSector; } diff --git a/Core/PSPLoaders.cpp b/Core/PSPLoaders.cpp index 28ddf1067..0ccdc591c 100644 --- a/Core/PSPLoaders.cpp +++ b/Core/PSPLoaders.cpp @@ -16,8 +16,7 @@ // https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/. #ifdef __SYMBIAN32__ -#include -#include +#include #endif #include "file/file_util.h" diff --git a/GPU/Software/Rasterizer.cpp b/GPU/Software/Rasterizer.cpp index 911cb467a..05da74d41 100644 --- a/GPU/Software/Rasterizer.cpp +++ b/GPU/Software/Rasterizer.cpp @@ -1493,7 +1493,6 @@ void DrawLine(const VertexData &v0, const VertexData &v1) ScreenCoords pprime = ScreenCoords(x, y, z); -#ifndef __SYMBIAN32__ // TODO: Fogging DrawingCoords p = TransformUnit::ScreenToDrawing(pprime); @@ -1502,7 +1501,6 @@ void DrawLine(const VertexData &v0, const VertexData &v1) } else { DrawSinglePixel(p, z, prim_color); } -#endif x = x + xinc; y = y + yinc; diff --git a/Qt/Settings.pri b/Qt/Settings.pri index f60430e8c..af6a794fc 100644 --- a/Qt/Settings.pri +++ b/Qt/Settings.pri @@ -19,8 +19,7 @@ DEFINES += PPSSPP_GIT_VERSION=\"$$GIT_VERSION\" win32-msvc* { QMAKE_CXXFLAGS_RELEASE += /O2 /arch:SSE2 /fp:fast - DEFINES += _MBCS GLEW_STATIC _CRT_SECURE_NO_WARNINGS - DEFINES += "_VARIADIC_MAX=10" + DEFINES += _MBCS GLEW_STATIC _CRT_SECURE_NO_WARNINGS "_VARIADIC_MAX=10" contains(DEFINES,UNICODE): DEFINES+=_UNICODE PRECOMPILED_HEADER = $$P/Windows/stdafx.h PRECOMPILED_SOURCE = $$P/Windows/stdafx.cpp @@ -30,14 +29,8 @@ win32-msvc* { QMAKE_CXXFLAGS += -Wno-unused-function -Wno-unused-variable -Wno-multichar -Wno-uninitialized -Wno-ignored-qualifiers -Wno-missing-field-initializers -Wno-unused-parameter QMAKE_CXXFLAGS += -ffast-math -fno-strict-aliasing greaterThan(QT_MAJOR_VERSION,4): CONFIG+=c++11 - else { - maemo: QMAKE_CXXFLAGS += -std=gnu++0x - else: QMAKE_CXXFLAGS += -std=c++0x - } - QMAKE_CFLAGS_RELEASE -= -O2 - QMAKE_CFLAGS_RELEASE += -O3 - QMAKE_CXXFLAGS_RELEASE -= -O2 - QMAKE_CXXFLAGS_RELEASE += -O3 + else: QMAKE_CXXFLAGS += -std=c++11 + QMAKE_CXXFLAGS += -O3 } # Arch specific xarch = $$find(QT_ARCH, "86") @@ -87,9 +80,8 @@ qnx { INCLUDEPATH += $$P/ffmpeg/blackberry/armv7/include } symbian { - # Does not seem to be a way to change to armv6 compile so just override in variants.xml (see Wiki) DEFINES += "BOOST_COMPILER_CONFIG=\"$$EPOCROOT/epoc32/include/stdapis/boost/mpl/aux_/config/gcc.hpp\"" SYMBIAN_OGLES_DLL_EXPORTS - QMAKE_CXXFLAGS += -marm -Wno-parentheses -Wno-comment + QMAKE_CXXFLAGS += -marm -Wno-parentheses -Wno-comment -Wno-unused-local-typedefs INCLUDEPATH += $$EPOCROOT/epoc32/include/stdapis INCLUDEPATH += $$P/ffmpeg/symbian/armv6/include } diff --git a/native b/native index d03acfdbf..d7cb2508d 160000 --- a/native +++ b/native @@ -1 +1 @@ -Subproject commit d03acfdbf305eeb4b96679a9da83c29b33d241e0 +Subproject commit d7cb2508d70d6049dea4075b30ec8b53df39b06c