(vita) build fix.
authoraliaspider <aliaspider@gmail.com>
Tue, 29 Sep 2015 17:08:15 +0000 (18:08 +0100)
committeraliaspider <aliaspider@gmail.com>
Tue, 29 Sep 2015 17:08:15 +0000 (18:08 +0100)
Makefile.libretro
frontend/libretro.c
frontend/main.c
libpcsxcore/new_dynarec/assem_arm.c
libpcsxcore/new_dynarec/assem_arm.h
libpcsxcore/new_dynarec/emu_if.c
libpcsxcore/socket.c
plugins/cdrcimg/cdrcimg.c

index de2bceb..7122306 100644 (file)
@@ -119,17 +119,27 @@ else ifeq ($(platform), vita)
        AR = arm-vita-eabi-ar$(EXE_EXT)
        CFLAGS += -DVITA
        CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -marm
+       CFLAGS += -I$(VITASDK)/include -Ifrontend/vita
+       CFLAGS += -DNO_SOCKET -DNO_OS -DNO_DYLIB
        ASFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon
+
+#   CFLAGS += -U__ARM_NEON__
        HAVE_NEON = 1
        BUILTIN_GPU = neon
 
+#   USE_DYNAREC = 1
+#      DRC_CACHE_BASE = 0
+
+       ARCH = arm
+   STATIC_LINKING = 1
+
 # CTR(3DS)
 else ifeq ($(platform), ctr)
        TARGET := $(TARGET_NAME)_libretro_ctr.a
        CC = $(DEVKITARM)/bin/arm-none-eabi-gcc$(EXE_EXT)
        CXX = $(DEVKITARM)/bin/arm-none-eabi-g++$(EXE_EXT)
        AR = $(DEVKITARM)/bin/arm-none-eabi-ar$(EXE_EXT)
-       CFLAGS += -DARM11 -D_3DS -DNO_OS
+       CFLAGS += -DARM11 -D_3DS -DNO_OS -DNO_DYLIB
        CFLAGS += -march=armv6k -mtune=mpcore -mfloat-abi=hard -marm -mfpu=vfp
        CFLAGS += -Wall -mword-relocations
        CFLAGS += -fomit-frame-pointer -ffast-math      
@@ -172,6 +182,7 @@ else ifeq ($(platform), wii)
 # QNX
 else ifeq ($(platform), qnx)
        TARGET := $(TARGET_NAME)_libretro_qnx.so
+   fpic := -fPIC
        CC = qcc -Vgcc_ntoarmv7le
        CC_AS = $(CC)
        HAVE_NEON = 1
@@ -186,6 +197,7 @@ else ifeq ($(platform), qnx)
 else ifneq (,$(findstring armv,$(platform)))
        TARGET := $(TARGET_NAME)_libretro.so
        SHARED := -shared -Wl,--no-undefined
+   fpic := -fPIC
        DRC_CACHE_BASE = 0
        ifneq (,$(findstring cortexa8,$(platform)))
                CFLAGS += -marm -mcpu=cortex-a8
@@ -209,7 +221,7 @@ else ifneq (,$(findstring armv,$(platform)))
                ASFLAGS += -mfloat-abi=hard
        endif
        ARCH = arm
-       USE_DYNAREC = 1
+       USE_DYNAREC = 1   
 
 # Windows
 else
@@ -222,7 +234,7 @@ else
        MMAP_WIN32=1
 endif
 
-CFLAGS += -fPIC
+CFLAGS += $(fpic)
 ifeq ($(platform),win)
        MAIN_LDLIBS += -lws2_32
 else ifneq ($(platform),qnx)
index 69fad2a..7243db1 100644 (file)
@@ -1280,7 +1280,7 @@ static bool try_use_bios(const char *path)
        return true;
 }
 
-#if 1
+#ifndef VITA
 #include <sys/types.h>
 #include <dirent.h>
 
@@ -1336,7 +1336,7 @@ void retro_init(void)
                exit(1);
        }
 
-#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L)
+#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) && !defined(VITA)
        posix_memalign(&vout_buf, 16, VOUT_MAX_WIDTH * VOUT_MAX_HEIGHT * 2);
 #else
        vout_buf = malloc(VOUT_MAX_WIDTH * VOUT_MAX_HEIGHT * 2);
@@ -1405,3 +1405,11 @@ void retro_deinit(void)
        free(vout_buf);
        vout_buf = NULL;
 }
+
+#ifdef VITA
+#include <psp2/kernel/threadmgr.h>
+int usleep (unsigned long us)
+{
+   sceKernelDelayThread(us);
+}
+#endif
index c816ba1..2deff70 100644 (file)
@@ -11,7 +11,7 @@
 #include <unistd.h>
 #include <signal.h>
 #include <time.h>
-#if !defined(_WIN32) && !defined(_3DS)
+#if !defined(_WIN32) && !defined(NO_DYLIB)
 #include <dlfcn.h>
 #endif
 
@@ -985,7 +985,7 @@ void *SysLoadLibrary(const char *lib) {
                                return (void *)(long)(PLUGIN_DL_BASE + builtin_plugin_ids[i]);
        }
 
-#if !defined(_WIN32) && !defined(_3DS)
+#if !defined(_WIN32) && !defined(NO_DYLIB)
        ret = dlopen(lib, RTLD_NOW);
        if (ret == NULL)
                SysMessage("dlopen: %s", dlerror());
@@ -1002,7 +1002,7 @@ void *SysLoadSym(void *lib, const char *sym) {
        if (PLUGIN_DL_BASE <= plugid && plugid < PLUGIN_DL_BASE + ARRAY_SIZE(builtin_plugins))
                return plugin_link(plugid - PLUGIN_DL_BASE, sym);
 
-#if !defined(_WIN32) && !defined(_3DS)
+#if !defined(_WIN32) && !defined(NO_DYLIB)
        return dlsym(lib, sym);
 #else
        return NULL;
@@ -1010,7 +1010,7 @@ void *SysLoadSym(void *lib, const char *sym) {
 }
 
 const char *SysLibError() {
-#if defined(_3DS)
+#if defined(NO_DYLIB)
    return NULL;
 #elif !defined(_WIN32)
        return dlerror();
@@ -1025,7 +1025,7 @@ void SysCloseLibrary(void *lib) {
        if (PLUGIN_DL_BASE <= plugid && plugid < PLUGIN_DL_BASE + ARRAY_SIZE(builtin_plugins))
                return;
 
-#if !defined(_WIN32) && !defined(_3DS)
+#if !defined(_WIN32) && !defined(NO_DYLIB)
        dlclose(lib);
 #endif
 }
index 6853e9e..8e0c634 100644 (file)
@@ -30,7 +30,9 @@
 #endif
 #include "arm_features.h"
 
-#if !BASE_ADDR_FIXED
+#ifdef VITA
+char* translation_cache = 0;
+#elif !BASE_ADDR_FIXED
 char translation_cache[1 << TARGET_SIZE_2] __attribute__((aligned(4096)));
 #endif
 
index 2254638..da4144d 100644 (file)
@@ -64,6 +64,10 @@ extern char *invc_ptr;
 // "round" address helpful for debug
 #define BASE_ADDR 0x1000000
 #else
+#if defined(VITA)
+extern char* translation_cache;
+#else
 extern char translation_cache[1 << TARGET_SIZE_2];
+#endif
 #define BASE_ADDR (u_int)translation_cache
 #endif
index 22db5d1..8aebd64 100644 (file)
@@ -431,7 +431,7 @@ void do_insn_cmp() {}
 #ifdef DRC_DISABLE
 unsigned int address;
 int pending_exception, stop;
-unsigned int next_interupt;
+u32 next_interupt;
 int new_dynarec_did_compile;
 int cycle_multiplier;
 int new_dynarec_hacks;
index 31f82e2..c408bc3 100644 (file)
  *  along with this program; if not, see <http://www.gnu.org/licenses>.
  */
 
+#ifdef NO_SOCKET
+
+int StartServer() { return 0;}
+void StopServer() {}
+void GetClient() {}
+void CloseClient() {}
+int HasClient() { return 0;}
+int ReadSocket(char * buffer, int len) { return 0;}
+int RawReadSocket(char * buffer, int len) { return 0;}
+void WriteSocket(char * buffer, int len) {}
+
+void SetsBlock() {}
+void SetsNonblock() {}
+
+#else // NO_SOCKET
+
 #ifdef _WIN32
 #include <winsock2.h>
 #endif
@@ -252,3 +268,4 @@ void SetsNonblock() {
     fcntl(server_socket, F_SETFL, flags | O_NONBLOCK);
 #endif
 }
+#endif // NO_SOCKET
index 036c68d..47371aa 100644 (file)
@@ -14,7 +14,7 @@
 #include <zlib.h>
 #ifndef _WIN32
 #define CALLBACK
-#ifndef _3DS
+#ifndef NO_DYLIB
 #include <dlfcn.h>
 #endif
 #else
@@ -287,7 +287,7 @@ static long CDRinit(void)
                        return -1;
                }
        }
-#if !defined(_WIN32) && !defined(_3DS)
+#if !defined(_WIN32) && !defined(NO_DYLIB)
        if (pBZ2_bzBuffToBuffDecompress == NULL) {
                void *h = dlopen("/usr/lib/libbz2.so.1", RTLD_LAZY);
                if (h == NULL)