Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libretro-desmume for
openSUSE:Factory checked in at 2021-09-20 23:32:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libretro-desmume (Old)
and /work/SRC/openSUSE:Factory/.libretro-desmume.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libretro-desmume"
Mon Sep 20 23:32:37 2021 rev:3 rq:919814 version:0~git20210816
Changes:
--------
--- /work/SRC/openSUSE:Factory/libretro-desmume/libretro-desmume.changes
2020-06-11 10:11:30.736473327 +0200
+++
/work/SRC/openSUSE:Factory/.libretro-desmume.new.1899/libretro-desmume.changes
2021-09-20 23:33:56.359231849 +0200
@@ -1,0 +2,23 @@
+Fri Sep 10 15:33:23 UTC 2021 - [email protected]
+
+- Update to version 0~git20210816:
+ * Revert "Update base_width/base_height scaling"
+ * Update base_width/base_height scaling
+ * Fixed 32bit Haiku build (#86)
+ * Enable Haiku build (#85)
+ * Add ios-arm64/tvos-arm64
+ * Update .gitlab-ci.yml
+ * Update .gitlab-ci.yml
+ * Update .gitlab-ci.yml
+ * Update .gitlab-ci.yml
+ * Update
+ * Update osx target
+ * Update .gitlab-ci.yml
+ * libretro: Update gitlab ci extends ordering (#81)
+ * Change pcap header include
+ * Add .gitlab-ci.yml
+ * call context matching driver (#78)
+ * Revert "improve context logic (#74)" (#75)
+ * improve context logic (#74)
+
+-------------------------------------------------------------------
Old:
----
libretro-desmume-0~git20190902.tar.xz
New:
----
libretro-desmume-0~git20210816.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libretro-desmume.spec ++++++
--- /var/tmp/diff_new_pack.bZioEm/_old 2021-09-20 23:33:56.879232491 +0200
+++ /var/tmp/diff_new_pack.bZioEm/_new 2021-09-20 23:33:56.883232496 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libretro-desmume
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: libretro-desmume
-Version: 0~git20190902
+Version: 0~git20210816
Release: 0
Summary: DeSmuME libretro core for Nintendo DS emulation
License: GPL-2.0-only
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.bZioEm/_old 2021-09-20 23:33:56.919232541 +0200
+++ /var/tmp/diff_new_pack.bZioEm/_new 2021-09-20 23:33:56.923232546 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/libretro/desmume.git</param>
- <param
name="changesrevision">e8cf461f83eebb195f09e70090f57b07d1bcdd9f</param></service></servicedata>
\ No newline at end of file
+ <param
name="changesrevision">7ea0fc96804fcd9c8d33e8f76cf64b1be50cc5ea</param></service></servicedata>
\ No newline at end of file
++++++ libretro-desmume-0~git20190902.tar.xz ->
libretro-desmume-0~git20210816.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libretro-desmume-0~git20190902/.gitlab-ci.yml
new/libretro-desmume-0~git20210816/.gitlab-ci.yml
--- old/libretro-desmume-0~git20190902/.gitlab-ci.yml 1970-01-01
01:00:00.000000000 +0100
+++ new/libretro-desmume-0~git20210816/.gitlab-ci.yml 2021-08-16
15:08:02.000000000 +0200
@@ -0,0 +1,141 @@
+# DESCRIPTION: GitLab CI/CD for libRetro (NOT FOR GitLab-proper)
+
+##############################################################################
+################################# BOILERPLATE ################################
+##############################################################################
+
+# Core definitions
+.core-defs:
+ variables:
+ JNI_PATH: desmume/src/frontend/libretro
+ MAKEFILE_PATH: desmume/src/frontend/libretro
+ MAKEFILE: Makefile.libretro
+ CORENAME: desmume
+
+# Inclusion templates, required for the build to work
+include:
+ ################################## DESKTOPS ################################
+ # Windows 64-bit
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/windows-x64-mingw.yml'
+
+ # Linux 64-bit
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/linux-x64.yml'
+
+ # Linux 32-bit
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/linux-i686.yml'
+
+ # MacOS 64-bit
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/osx-x64.yml'
+
+ ################################## CELLULAR ################################
+ # Android
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/android-jni.yml'
+
+ # iOS
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/ios-arm64.yml'
+
+ # iOS (armv7)
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/ios9.yml'
+
+ ################################## CONSOLES ################################
+ # Nintendo Switch
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/libnx-static.yml'
+
+ # tvOS (AppleTV)
+ - project: 'libretro-infrastructure/ci-templates'
+ file: '/tvos-arm64.yml'
+
+ #################################### MISC ##################################
+
+# Stages for building
+stages:
+ - build-prepare
+ - build-shared
+ - build-static
+
+##############################################################################
+#################################### STAGES ##################################
+##############################################################################
+#
+################################### DESKTOPS #################################
+# Windows 64-bit
+libretro-build-windows-x64:
+ extends:
+ - .libretro-windows-x64-mingw-make-default
+ - .core-defs
+
+# Linux 64-bit
+libretro-build-linux-x64:
+ extends:
+ - .libretro-linux-x64-make-default
+ - .core-defs
+
+# Linux 32-bit
+libretro-build-linux-i686:
+ extends:
+ - .libretro-linux-i686-make-default
+ - .core-defs
+
+# MacOS 64-bit
+libretro-build-osx-x64:
+ extends:
+ - .libretro-osx-x64-make-default
+ - .core-defs
+
+################################### CELLULAR #################################
+# Android ARMv7a
+android-armeabi-v7a:
+ extends:
+ - .libretro-android-jni-armeabi-v7a
+ - .core-defs
+
+# Android ARMv8a
+android-arm64-v8a:
+ extends:
+ - .libretro-android-jni-arm64-v8a
+ - .core-defs
+
+# Android 64-bit x86
+android-x86_64:
+ extends:
+ - .libretro-android-jni-x86_64
+ - .core-defs
+
+# Android 32-bit x86
+android-x86:
+ extends:
+ - .libretro-android-jni-x86
+ - .core-defs
+
+# iOS
+libretro-build-ios-arm64:
+ extends:
+ - .libretro-ios-arm64-make-default
+ - .core-defs
+
+# iOS (armv7) [iOS 9 and up]
+libretro-build-ios9:
+ extends:
+ - .libretro-ios9-make-default
+ - .core-defs
+
+# tvOS
+libretro-build-tvos-arm64:
+ extends:
+ - .libretro-tvos-arm64-make-default
+ - .core-defs
+
+################################### CONSOLES #################################
+# Nintendo Switch
+libretro-build-libnx-aarch64:
+ extends:
+ - .libretro-libnx-static-retroarch-master
+ - .core-defs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/frontend/libretro/Makefile.libretro
new/libretro-desmume-0~git20210816/desmume/src/frontend/libretro/Makefile.libretro
---
old/libretro-desmume-0~git20190902/desmume/src/frontend/libretro/Makefile.libretro
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/frontend/libretro/Makefile.libretro
2021-08-16 15:08:02.000000000 +0200
@@ -48,10 +48,19 @@
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
SHARED := -shared -Wl,--no-undefined
-Wl,--version-script=$(CORE_DIR)/frontend/libretro/link.T
- LIBS := -lpthread -lGL -lpcap
- CXXFLAGS += -DHAVE_OPENGL -std=gnu++11
- DESMUME_OPENGL = 1
+ ifneq ($(findstring Haiku,$(shell uname -s)),)
+ LIBS := -lroot -lnetwork -lpcap
+ DESMUME_OPENGL = 0
+ ifneq ($(findstring BePC,$(shell uname -m)),)
+ CC = gcc-x86
+ CXX = g++-x86
+ endif
+ else
+ LIBS := -lpthread -lGL -lpcap
+ CXXFLAGS += -DHAVE_OPENGL -std=gnu++11
+ DESMUME_OPENGL = 1
DESMUME_OPENGL_CORE = 1
+ endif
ifneq (,$(findstring clang,$(platform)))
CC = clang
@@ -128,7 +137,11 @@
fpic := -fPIC
SHARED := -dynamiclib -framework OpenGL
DESMUME_JIT = 1
+ifeq ($(OSX_LT_MAVERICKS),"YES")
fpic += -mmacosx-version-min=10.2
+else
+ fpic += -mmacosx-version-min=10.7 -stdlib=libc++
+endif
CFLAGS += -DAPPLE_ATOMICS
CXXFLAGS += -DAPPLE_ATOMICS
ifndef ($(NOUNIVERSAL))
@@ -205,24 +218,6 @@
CXX = QCC -Vgcc_ntoarmv7le_cpp
AR = QCC -Vgcc_ntoarmv7le
-# PS3
-else ifeq ($(platform), ps3)
- TARGET := $(TARGET_NAME)_libretro_$(platform).a
- CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
- CXX = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-g++.exe
- AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
- CXXFLAGS += -D__ppc__ -D__CELLOS_LV2__
- STATIC_LINKING = 1
-
-# sncps3
-else ifeq ($(platform), sncps3)
- TARGET := $(TARGET_NAME)_libretro_ps3.a
- CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
- CXX = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
- AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe
- CXXFLAGS += -D__ppc__-D__CELLOS_LV2__
- STATIC_LINKING = 1
-
# Nintendo Switch (libnx)
else ifeq ($(platform), libnx)
include $(DEVKITPRO)/libnx/switch_rules
@@ -244,7 +239,7 @@
CC = $(PS3DEV)/ppu/bin/ppu-gcc$(EXE_EXT)
CXX = $(PS3DEV)/ppu/bin/ppu-g++$(EXE_EXT)
AR = $(PS3DEV)/ppu/bin/ppu-ar$(EXE_EXT)
- CXXFLAGS += -D__ppc__ -D__CELLOS_LV2__
+ CXXFLAGS += -D__ppc__ -D__PSL1GHT__
STATIC_LINKING = 1
# PSP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/frontend/libretro/libretro.cpp
new/libretro-desmume-0~git20210816/desmume/src/frontend/libretro/libretro.cpp
---
old/libretro-desmume-0~git20190902/desmume/src/frontend/libretro/libretro.cpp
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/frontend/libretro/libretro.cpp
2021-08-16 15:08:02.000000000 +0200
@@ -2369,7 +2369,31 @@
return savestate_load(state);
}
+bool init_gl_context(retro_hw_context_type type)
+{
+ hw_render.context_type = type;
+ hw_render.cache_context = false;
+ hw_render.context_reset = context_reset;
+ hw_render.context_destroy = context_destroy;
+ hw_render.bottom_left_origin = false;
+ hw_render.depth = true;
+ switch (type)
+ {
+ case RETRO_HW_CONTEXT_OPENGL_CORE:
+ hw_render.version_major = 3;
+ hw_render.version_minor = 1;
+ break;
+ case RETRO_HW_CONTEXT_OPENGL:
+ hw_render.version_major = 0;
+ hw_render.version_minor = 0;
+ break;
+ }
+
+ if (!environ_cb(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render))
+ return false;
+ return true;
+}
bool retro_load_game(const struct retro_game_info *game)
{
@@ -2384,18 +2408,27 @@
log_cb(RETRO_LOG_WARN, "Couldn't set shared context. Some things may
break.\n");
}
- hw_render.context_type = RETRO_HW_CONTEXT_OPENGL;
- hw_render.cache_context = false;
- hw_render.context_reset = context_reset;
- hw_render.context_destroy = context_destroy;
- hw_render.bottom_left_origin = false;
- hw_render.depth = true;
+ // get current video driver
+ retro_hw_context_type preferred;
+ if (!environ_cb(RETRO_ENVIRONMENT_GET_PREFERRED_HW_RENDER, &preferred))
+ preferred = RETRO_HW_CONTEXT_DUMMY;
+ bool found_gl_context = false;
+ if (preferred == RETRO_HW_CONTEXT_OPENGL || preferred ==
RETRO_HW_CONTEXT_OPENGL_CORE)
+ {
+ // try requesting the right context for current driver
+ found_gl_context = init_gl_context(preferred);
+ }
+ // try every context as fallback if current driver wasn't found
+ if (!found_gl_context)
+ found_gl_context = init_gl_context(RETRO_HW_CONTEXT_OPENGL_CORE);
+ if (!found_gl_context)
+ found_gl_context = init_gl_context(RETRO_HW_CONTEXT_OPENGL);
oglrender_init = dummy_retro_gl_init;
oglrender_beginOpenGL = dummy_retro_gl_begin;
oglrender_endOpenGL = dummy_retro_gl_end;
- if (!environ_cb(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render))
+ if (!found_gl_context)
{
log_cb(RETRO_LOG_ERROR, "Couldn't create rendering context. Using
software rasterizer.\n");
opengl_mode = false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/features/features_cpu.c
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/features/features_cpu.c
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/features/features_cpu.c
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/features/features_cpu.c
2021-08-16 15:08:02.000000000 +0200
@@ -39,11 +39,7 @@
#include <windows.h>
#endif
-#if defined(__CELLOS_LV2__)
-#ifndef _PPU_INTRINSICS_H
-#include <ppu_intrinsics.h>
-#endif
-#elif defined(_XBOX360)
+#if defined(_XBOX360)
#include <PPCIntrinsics.h>
#elif defined(_POSIX_MONOTONIC_CLOCK) || defined(ANDROID) || defined(__QNX__)
|| defined(DJGPP)
/* POSIX_MONOTONIC_CLOCK is not being defined in Android headers despite
support being present. */
@@ -67,8 +63,6 @@
#if defined(__PSL1GHT__)
#include <sys/time.h>
-#elif defined(__CELLOS_LV2__)
-#include <sys/sys_time.h>
#endif
#ifdef GEKKO
@@ -176,7 +170,7 @@
time_ticks = (retro_perf_tick_t)a | ((retro_perf_tick_t)d << 32);
#elif defined(__ARM_ARCH_6__)
__asm__ volatile( "mrc p15, 0, %0, c9, c13, 0" : "=r"(time_ticks) );
-#elif defined(__CELLOS_LV2__) || defined(_XBOX360) || defined(__powerpc__) ||
defined(__ppc__) || defined(__POWERPC__)
+#elif defined(_XBOX360) || defined(__powerpc__) || defined(__ppc__) ||
defined(__POWERPC__)
time_ticks = __mftb();
#elif defined(GEKKO)
time_ticks = gettime();
@@ -217,8 +211,6 @@
if (!QueryPerformanceCounter(&count))
return 0;
return count.QuadPart * 1000000 / freq.QuadPart;
-#elif defined(__CELLOS_LV2__)
- return sys_time_get_system_time();
#elif defined(GEKKO)
return ticks_to_microsecs(gettime());
#elif defined(WIIU)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/file/config_file.c
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/file/config_file.c
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/file/config_file.c
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/file/config_file.c
2021-08-16 15:08:02.000000000 +0200
@@ -26,7 +26,7 @@
#include <ctype.h>
#include <errno.h>
-#if !defined(_WIN32) && !defined(__CELLOS_LV2__) && !defined(_XBOX)
+#if !defined(_WIN32) && !defined(_XBOX)
#include <sys/param.h> /* PATH_MAX */
#elif defined(_WIN32) && !defined(_XBOX)
#define WIN32_LEAN_AND_MEAN
@@ -299,7 +299,6 @@
fill_pathname_resolve_relative(real_path, conf->path,
path, sizeof(real_path));
#else
-#ifndef __CELLOS_LV2__
if (*path == '~')
{
const char *home = getenv("HOME");
@@ -307,7 +306,6 @@
strlcat(real_path, path + 1, sizeof(real_path));
}
else
-#endif
if (!string_is_empty(conf->path))
fill_pathname_resolve_relative(real_path, conf->path,
path, sizeof(real_path));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/file/file_path.c
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/file/file_path.c
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/file/file_path.c
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/file/file_path.c
2021-08-16 15:08:02.000000000 +0200
@@ -79,15 +79,11 @@
#include <pspkernel.h>
#endif
-#if defined(__CELLOS_LV2__)
-#include <cell/cell_fs.h>
-#endif
-
#if defined(VITA)
#define FIO_S_ISDIR SCE_S_ISDIR
#endif
-#if (defined(__CELLOS_LV2__) && !defined(__PSL1GHT__)) || defined(__QNX__) ||
defined(PSP)
+#if defined(__QNX__) || defined(PSP)
#include <unistd.h> /* stat() is defined here */
#endif
@@ -123,10 +119,6 @@
}
free(tmp);
-#elif defined(__CELLOS_LV2__)
- CellFsStat buf;
- if (cellFsStat(path, &buf) < 0)
- return false;
#elif defined(_WIN32)
struct _stat buf;
char *path_local;
@@ -174,15 +166,13 @@
case IS_DIRECTORY:
#if defined(VITA) || defined(PSP)
return FIO_S_ISDIR(buf.st_mode);
-#elif defined(__CELLOS_LV2__)
- return ((buf.st_mode & S_IFMT) == S_IFDIR);
#elif defined(_WIN32)
return (file_info & FILE_ATTRIBUTE_DIRECTORY);
#else
return S_ISDIR(buf.st_mode);
#endif
case IS_CHARACTER_SPECIAL:
-#if defined(VITA) || defined(PSP) || defined(__CELLOS_LV2__) || defined(_WIN32)
+#if defined(VITA) || defined(PSP) || defined(_WIN32)
return false;
#else
return S_ISCHR(buf.st_mode);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/file/retro_dirent.c
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/file/retro_dirent.c
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/file/retro_dirent.c
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/file/retro_dirent.c
2021-08-16 15:08:02.000000000 +0200
@@ -60,11 +60,7 @@
# include <unistd.h>
#endif
-#ifdef __CELLOS_LV2__
-#include <cell/cell_fs.h>
-#endif
-
-#if (defined(__CELLOS_LV2__) && !defined(__PSL1GHT__)) || defined(__QNX__) ||
defined(PSP)
+#if defined(__QNX__) || defined(PSP)
#include <unistd.h> /* stat() is defined here */
#endif
@@ -88,10 +84,6 @@
#elif defined(VITA) || defined(PSP)
SceUID directory;
SceIoDirent entry;
-#elif defined(__CELLOS_LV2__)
- CellFsErrno error;
- int directory;
- CellFsDirent entry;
#else
DIR *directory;
const struct dirent *entry;
@@ -149,8 +141,6 @@
#elif defined(_3DS)
rdir->directory = !string_is_empty(name) ? opendir(name) : NULL;
rdir->entry = NULL;
-#elif defined(__CELLOS_LV2__)
- rdir->error = cellFsOpendir(name, &rdir->directory);
#else
rdir->directory = opendir(name);
rdir->entry = NULL;
@@ -169,8 +159,6 @@
return (rdir->directory == INVALID_HANDLE_VALUE);
#elif defined(VITA) || defined(PSP)
return (rdir->directory < 0);
-#elif defined(__CELLOS_LV2__)
- return (rdir->error != CELL_FS_SUCCEEDED);
#else
return !(rdir->directory);
#endif
@@ -190,10 +178,6 @@
return (rdir->directory != INVALID_HANDLE_VALUE);
#elif defined(VITA) || defined(PSP)
return (sceIoDread(rdir->directory, &rdir->entry) > 0);
-#elif defined(__CELLOS_LV2__)
- uint64_t nread;
- rdir->error = cellFsReaddir(rdir->directory, &rdir->entry, &nread);
- return (nread != 0);
#else
return ((rdir->entry = readdir(rdir->directory)) != NULL);
#endif
@@ -218,7 +202,7 @@
free(name);
#endif
return (char*)rdir->entry.cFileName;
-#elif defined(VITA) || defined(PSP) || defined(__CELLOS_LV2__)
+#elif defined(VITA) || defined(PSP)
return rdir->entry.d_name;
#else
@@ -249,9 +233,6 @@
#elif defined(VITA)
return SCE_S_ISDIR(entry->d_stat.st_mode);
#endif
-#elif defined(__CELLOS_LV2__)
- CellFsDirent *entry = (CellFsDirent*)&rdir->entry;
- return (entry->d_type == CELL_FS_TYPE_DIRECTORY);
#else
struct stat buf;
#if defined(DT_DIR)
@@ -289,8 +270,6 @@
FindClose(rdir->directory);
#elif defined(VITA) || defined(PSP)
sceIoDclose(rdir->directory);
-#elif defined(__CELLOS_LV2__)
- rdir->error = cellFsClosedir(rdir->directory);
#else
if (rdir->directory)
closedir(rdir->directory);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/include/libretro.h
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/include/libretro.h
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/include/libretro.h
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/include/libretro.h
2021-08-16 15:08:02.000000000 +0200
@@ -69,7 +69,7 @@
# endif
# endif
# else
-# if defined(__GNUC__) && __GNUC__ >= 4 && !defined(__CELLOS_LV2__)
+# if defined(__GNUC__) && __GNUC__ >= 4
# define RETRO_API RETRO_CALLCONV
__attribute__((__visibility__("default")))
# else
# define RETRO_API RETRO_CALLCONV
@@ -1106,6 +1106,187 @@
* It will return a bitmask of all
the digital buttons.
*/
+#define RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION 52
+ /* unsigned * --
+ * Unsigned value is the API
version number of the core options
+ * interface supported by the
frontend. If callback return false,
+ * API version is assumed to be 0.
+ *
+ * In legacy code, core options are
set by passing an array of
+ * retro_variable structs to
RETRO_ENVIRONMENT_SET_VARIABLES.
+ * This may be still be done
regardless of the core options
+ * interface version.
+ *
+ * If version is >= 1 however, core
options may instead be set by
+ * passing an array of
retro_core_option_definition structs to
+ *
RETRO_ENVIRONMENT_SET_CORE_OPTIONS, or a 2D array of
+ * retro_core_option_definition
structs to RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL.
+ * This allows the core to
additionally set option sublabel information
+ * and/or provide localisation
support.
+ */
+
+#define RETRO_ENVIRONMENT_SET_CORE_OPTIONS 53
+ /* const struct
retro_core_option_definition ** --
+ * Allows an implementation to
signal the environment
+ * which variables it might want to
check for later using
+ * GET_VARIABLE.
+ * This allows the frontend to
present these variables to
+ * a user dynamically.
+ * This should only be called if
RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION
+ * returns an API version of >= 1.
+ * This should be called instead of
RETRO_ENVIRONMENT_SET_VARIABLES.
+ * This should be called the first
time as early as
+ * possible (ideally in
retro_set_environment).
+ * Afterwards it may be called
again for the core to communicate
+ * updated options to the frontend,
but the number of core
+ * options must not change from the
number in the initial call.
+ *
+ * 'data' points to an array of
retro_core_option_definition structs
+ * terminated by a { NULL, NULL,
NULL, {{0}}, NULL } element.
+ *
retro_core_option_definition::key should be namespaced to not collide
+ * with other implementations'
keys. e.g. A core called
+ * 'foo' should use keys named as
'foo_option'.
+ *
retro_core_option_definition::desc should contain a human readable
+ * description of the key.
+ *
retro_core_option_definition::info should contain any additional human
+ * readable information text that a
typical user may need to
+ * understand the functionality of
the option.
+ *
retro_core_option_definition::values is an array of retro_core_option_value
+ * structs terminated by a { NULL,
NULL } element.
+ * >
retro_core_option_definition::values[index].value is an expected option
+ * value.
+ * >
retro_core_option_definition::values[index].label is a human readable
+ * label used when displaying the
value on screen. If NULL,
+ * the value itself is used.
+ *
retro_core_option_definition::default_value is the default core option
+ * setting. It must match one of
the expected option values in the
+ *
retro_core_option_definition::values array. If it does not, or the
+ * default value is NULL, the first
entry in the
+ *
retro_core_option_definition::values array is treated as the default.
+ *
+ * The number of possible options
should be very limited,
+ * and must be less than
RETRO_NUM_CORE_OPTION_VALUES_MAX.
+ * i.e. it should be feasible to
cycle through options
+ * without a keyboard.
+ *
+ * Example entry:
+ * {
+ * "foo_option",
+ * "Speed hack coprocessor X",
+ * "Provides increased
performance at the expense of reduced accuracy",
+ * {
+ * { "false", NULL },
+ * { "true", NULL },
+ * { "unstable", "Turbo
(Unstable)" },
+ * { NULL, NULL },
+ * },
+ * "false"
+ * }
+ *
+ * Only strings are operated on.
The possible values will
+ * generally be displayed and
stored as-is by the frontend.
+ */
+
+#define RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL 54
+ /* const struct
retro_core_options_intl * --
+ * Allows an implementation to
signal the environment
+ * which variables it might want to
check for later using
+ * GET_VARIABLE.
+ * This allows the frontend to
present these variables to
+ * a user dynamically.
+ * This should only be called if
RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION
+ * returns an API version of >= 1.
+ * This should be called instead of
RETRO_ENVIRONMENT_SET_VARIABLES.
+ * This should be called the first
time as early as
+ * possible (ideally in
retro_set_environment).
+ * Afterwards it may be called
again for the core to communicate
+ * updated options to the frontend,
but the number of core
+ * options must not change from the
number in the initial call.
+ *
+ * This is fundamentally the same
as RETRO_ENVIRONMENT_SET_CORE_OPTIONS,
+ * with the addition of
localisation support. The description of the
+ *
RETRO_ENVIRONMENT_SET_CORE_OPTIONS callback should be consulted
+ * for further details.
+ *
+ * 'data' points to a
retro_core_options_intl struct.
+ *
+ * retro_core_options_intl::us is a
pointer to an array of
+ * retro_core_option_definition
structs defining the US English
+ * core options implementation. It
must point to a valid array.
+ *
+ * retro_core_options_intl::local
is a pointer to an array of
+ * retro_core_option_definition
structs defining core options for
+ * the current frontend language.
It may be NULL (in which case
+ * retro_core_options_intl::us is
used by the frontend). Any items
+ * missing from this array will be
read from retro_core_options_intl::us
+ * instead.
+ *
+ * NOTE: Default core option values
are always taken from the
+ * retro_core_options_intl::us
array. Any default values in
+ * retro_core_options_intl::local
array will be ignored.
+ */
+
+#define RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY 55
+ /* struct retro_core_option_display
* --
+ *
+ * Allows an implementation to
signal the environment to show
+ * or hide a variable when
displaying core options. This is
+ * considered a *suggestion*. The
frontend is free to ignore
+ * this callback, and its
implementation not considered mandatory.
+ *
+ * 'data' points to a
retro_core_option_display struct
+ *
+ * retro_core_option_display::key
is a variable identifier
+ * which has already been set by
SET_VARIABLES/SET_CORE_OPTIONS.
+ *
+ *
retro_core_option_display::visible is a boolean, specifying
+ * whether variable should be
displayed
+ *
+ * Note that all core option
variables will be set visible by
+ * default when calling
SET_VARIABLES/SET_CORE_OPTIONS.
+ */
+
+#define RETRO_ENVIRONMENT_GET_PREFERRED_HW_RENDER 56
+ /* unsigned * --
+ *
+ * Allows an implementation to ask
frontend preferred hardware
+ * context to use. Core should use
this information to deal
+ * with what specific context to
request with SET_HW_RENDER.
+ *
+ * 'data' points to an unsigned
variable
+ */
+
+#define RETRO_ENVIRONMENT_GET_DISK_CONTROL_INTERFACE_VERSION 57
+ /* unsigned * --
+ * Unsigned value is the API
version number of the disk control
+ * interface supported by the
frontend. If callback return false,
+ * API version is assumed to be 0.
+ *
+ * In legacy code, the disk control
interface is defined by passing
+ * a struct of type
retro_disk_control_callback to
+ *
RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE.
+ * This may be still be done
regardless of the disk control
+ * interface version.
+ *
+ * If version is >= 1 however, the
disk control interface may
+ * instead be defined by passing a
struct of type
+ * retro_disk_control_ext_callback
to
+ *
RETRO_ENVIRONMENT_SET_DISK_CONTROL_EXT_INTERFACE.
+ * This allows the core to provide
additional information about
+ * disk images to the frontend
and/or enables extra
+ * disk control functionality by
the frontend.
+ */
+
+#define RETRO_ENVIRONMENT_SET_DISK_CONTROL_EXT_INTERFACE 58
+ /* const struct
retro_disk_control_ext_callback * --
+ * Sets an interface which frontend
can use to eject and insert
+ * disk images, and also obtain
information about individual
+ * disk image files registered by
the core.
+ * This is used for games which
consist of multiple images and
+ * must be manually swapped out by
the user (e.g. PSX, floppy disk
+ * based systems).
+ */
+
/* VFS functionality */
/* File paths:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/include/memmap.h
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/include/memmap.h
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/include/memmap.h
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/include/memmap.h
2021-08-16 15:08:02.000000000 +0200
@@ -26,7 +26,7 @@
#include <stdio.h>
#include <stdint.h>
-#if defined(__CELLOS_LV2__) || defined(PSP) || defined(GEKKO) || defined(VITA)
|| defined(_XBOX) || defined(_3DS) || defined(WIIU) || defined(SWITCH)
+#if defined(PSP) || defined(GEKKO) || defined(VITA) || defined(_XBOX) ||
defined(_3DS) || defined(WIIU) || defined(SWITCH)
/* No mman available */
#elif defined(_WIN32) && !defined(_XBOX)
#include <windows.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/include/net/net_compat.h
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/include/net/net_compat.h
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/include/net/net_compat.h
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/include/net/net_compat.h
2021-08-16 15:08:02.000000000 +0200
@@ -117,19 +117,7 @@
#include <netdb.h>
#include <fcntl.h>
-#if defined(__CELLOS_LV2__) && !defined(__PSL1GHT__)
-#include <cell/sysmodule.h>
-#include <netex/net.h>
-#include <netex/libnetctl.h>
-#include <sys/timer.h>
-
-#ifndef EWOULDBLOCK
-#define EWOULDBLOCK SYS_NET_EWOULDBLOCK
-#endif
-
-#else
#include <signal.h>
-#endif
#endif
@@ -156,8 +144,6 @@
if (WSAGetLastError() != WSAEWOULDBLOCK)
return false;
return true;
-#elif defined(__CELLOS_LV2__) && !defined(__PSL1GHT__)
- return (sys_net_errno == SYS_NET_EWOULDBLOCK) || (sys_net_errno ==
SYS_NET_EAGAIN);//35
#elif defined(VITA)
return (bytes<0 && (bytes == SCE_NET_ERROR_EAGAIN || bytes ==
SCE_NET_ERROR_EWOULDBLOCK));
#elif defined(WIIU)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/include/retro_miscellaneous.h
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/include/retro_miscellaneous.h
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/include/retro_miscellaneous.h
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/include/retro_miscellaneous.h
2021-08-16 15:08:02.000000000 +0200
@@ -39,10 +39,6 @@
#include <Xtl.h>
#endif
-#if defined(__CELLOS_LV2__)
-#include <sys/fs_external.h>
-#endif
-
#include <limits.h>
#ifdef _MSC_VER
@@ -75,9 +71,7 @@
}
#ifndef PATH_MAX_LENGTH
-#if defined(__CELLOS_LV2__)
-#define PATH_MAX_LENGTH CELL_FS_MAX_FS_PATH_LENGTH
-#elif defined(_XBOX1) || defined(_3DS) || defined(PSP) || defined(GEKKO)||
defined(WIIU)
+#if defined(_XBOX1) || defined(_3DS) || defined(PSP) || defined(GEKKO)||
defined(WIIU)
#define PATH_MAX_LENGTH 512
#else
#define PATH_MAX_LENGTH 4096
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/include/retro_timers.h
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/include/retro_timers.h
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/include/retro_timers.h
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/include/retro_timers.h
2021-08-16 15:08:02.000000000 +0200
@@ -25,9 +25,7 @@
#include <stdint.h>
-#if defined(__CELLOS_LV2__) && !defined(__PSL1GHT__)
-#include <sys/timer.h>
-#elif defined(XENON)
+#if defined(XENON)
#include <time/time.h>
#elif defined(GEKKO) || defined(__PSL1GHT__) || defined(__QNX__)
#include <unistd.h>
@@ -85,9 +83,7 @@
**/
static INLINE void retro_sleep(unsigned msec)
{
-#if defined(__CELLOS_LV2__) && !defined(__PSL1GHT__)
- sys_timer_usleep(1000 * msec);
-#elif defined(PSP) || defined(VITA)
+#if defined(PSP) || defined(VITA)
sceKernelDelayThread(1000 * msec);
#elif defined(_3DS)
svcSleepThread(1000000 * (s64)msec);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/net/net_compat.c
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/net/net_compat.c
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/net/net_compat.c
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/net/net_compat.c
2021-08-16 15:08:02.000000000 +0200
@@ -213,7 +213,7 @@
in_addr->sin_family = host->h_addrtype;
-#if defined(AF_INET6) && !defined(__CELLOS_LV2__) || defined(VITA)
+#if defined(AF_INET6) || defined(VITA)
/* TODO/FIXME - In case we ever want to support IPv6 */
in_addr->sin_addr.s_addr = inet_addr(host->h_addr_list[0]);
#else
@@ -271,29 +271,6 @@
network_deinit();
return false;
}
-#elif defined(__CELLOS_LV2__) && !defined(__PSL1GHT__)
- int timeout_count = 10;
-
- cellSysmoduleLoadModule(CELL_SYSMODULE_NET);
- sys_net_initialize_network();
-
- if (cellNetCtlInit() < 0)
- return false;
-
- for (;;)
- {
- int state;
- if (cellNetCtlGetState(&state) < 0)
- return false;
-
- if (state == CELL_NET_CTL_STATE_IPObtained)
- break;
-
- retro_sleep(500);
- timeout_count--;
- if (timeout_count < 0)
- return 0;
- }
#elif defined(VITA)
SceNetInitParam initparam;
@@ -341,10 +318,6 @@
{
#if defined(_WIN32)
WSACleanup();
-#elif defined(__CELLOS_LV2__) && !defined(__PSL1GHT__)
- cellNetCtlTerm();
- sys_net_finalize_network();
- cellSysmoduleUnloadModule(CELL_SYSMODULE_NET);
#elif defined(VITA)
sceNetCtlTerm();
sceNetTerm();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/net/net_socket.c
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/net/net_socket.c
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/net/net_socket.c
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/net/net_socket.c
2021-08-16 15:08:02.000000000 +0200
@@ -119,7 +119,7 @@
bool socket_nonblock(int fd)
{
-#if defined(__CELLOS_LV2__) || defined(VITA) || defined(WIIU)
+#if defined(VITA) || defined(WIIU)
int i = 1;
setsockopt(fd, SOL_SOCKET, SO_NBIO, &i, sizeof(int));
return true;
@@ -136,7 +136,7 @@
#if defined(_WIN32) && !defined(_XBOX360)
/* WinSock has headers from the stone age. */
return closesocket(fd);
-#elif defined(__CELLOS_LV2__) || defined(WIIU)
+#elif defined(WIIU)
return socketclose(fd);
#elif defined(VITA)
return sceNetSocketClose(fd);
@@ -148,9 +148,7 @@
int socket_select(int nfds, fd_set *readfs, fd_set *writefds,
fd_set *errorfds, struct timeval *timeout)
{
-#if defined(__CELLOS_LV2__)
- return socketselect(nfds, readfs, writefds, errorfds, timeout);
-#elif defined(VITA)
+#if defined(VITA)
extern int retro_epoll_fd;
SceNetEpollEvent ev = {0};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/rthreads/rthreads.c
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/rthreads/rthreads.c
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/rthreads/rthreads.c
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/rthreads/rthreads.c
2021-08-16 15:08:02.000000000 +0200
@@ -50,9 +50,6 @@
#include "gx_pthread.h"
#elif defined(_3DS)
#include "ctr_pthread.h"
-#elif defined(__CELLOS_LV2__)
-#include <pthread.h>
-#include <sys/sys_time.h>
#else
#include <pthread.h>
#include <time.h>
@@ -843,13 +840,6 @@
mach_port_deallocate(mach_task_self(), cclock);
now.tv_sec = mts.tv_sec;
now.tv_nsec = mts.tv_nsec;
-#elif defined(__CELLOS_LV2__)
- sys_time_sec_t s;
- sys_time_nsec_t n;
-
- sys_time_get_current_time(&s, &n);
- now.tv_sec = s;
- now.tv_nsec = n;
#elif defined(PS2)
int tickms = clock();
now.tv_sec = tickms/1000;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/streams/stdin_stream.c
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/streams/stdin_stream.c
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/streams/stdin_stream.c
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/streams/stdin_stream.c
2021-08-16 15:08:02.000000000 +0200
@@ -38,7 +38,7 @@
#include <retro_environment.h>
#include <streams/stdin_stream.h>
-#if (defined(_WIN32) && defined(_XBOX)) || defined(__CELLOS_LV2__) ||
defined(__WINRT__)
+#if (defined(_WIN32) && defined(_XBOX)) || defined(__WINRT__)
size_t read_stdin(char *buf, size_t size)
{
/* Not implemented. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/vfs/vfs_implementation.c
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/vfs/vfs_implementation.c
---
old/libretro-desmume-0~git20190902/desmume/src/libretro-common/vfs/vfs_implementation.c
2019-09-02 02:50:55.000000000 +0200
+++
new/libretro-desmume-0~git20210816/desmume/src/libretro-common/vfs/vfs_implementation.c
2021-08-16 15:08:02.000000000 +0200
@@ -55,16 +55,7 @@
# include <unistd.h>
#endif
-#ifdef __CELLOS_LV2__
-#include <cell/cell_fs.h>
-#define O_RDONLY CELL_FS_O_RDONLY
-#define O_WRONLY CELL_FS_O_WRONLY
-#define O_CREAT CELL_FS_O_CREAT
-#define O_TRUNC CELL_FS_O_TRUNC
-#define O_RDWR CELL_FS_O_RDWR
-#else
#include <fcntl.h>
-#endif
/* Assume W-functions do not work below Win2K and Xbox platforms */
#if defined(_WIN32_WINNT) && _WIN32_WINNT < 0x0500 || defined(_XBOX)
@@ -123,7 +114,7 @@
/* VC2005 and up have a special 64-bit fseek */
#ifdef ATLEAST_VC2005
return _fseeki64(stream->fp, offset, whence);
-#elif defined(__CELLOS_LV2__) || defined(_MSC_VER) && _MSC_VER <= 1310
+#elif defined(_MSC_VER) && _MSC_VER <= 1310
return fseek(stream->fp, (long)offset, whence);
#else
return fseeko(stream->fp, (off_t)offset, whence);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libretro-desmume-0~git20190902/desmume/src/types.h
new/libretro-desmume-0~git20210816/desmume/src/types.h
--- old/libretro-desmume-0~git20190902/desmume/src/types.h 2019-09-02
02:50:55.000000000 +0200
+++ new/libretro-desmume-0~git20210816/desmume/src/types.h 2021-08-16
15:08:02.000000000 +0200
@@ -224,11 +224,13 @@
typedef u8 uint8;
typedef u16 uint16;
+#ifndef __HAIKU__
#ifndef OBJ_C
typedef u32 uint32;
#else
#define uint32 u32 //uint32 is defined in Leopard somewhere, avoid conflicts
#endif
+#endif
#ifdef ENABLE_ALTIVEC
#ifndef __APPLE_ALTIVEC__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libretro-desmume-0~git20190902/desmume/src/wifi.cpp
new/libretro-desmume-0~git20210816/desmume/src/wifi.cpp
--- old/libretro-desmume-0~git20190902/desmume/src/wifi.cpp 2019-09-02
02:50:55.000000000 +0200
+++ new/libretro-desmume-0~git20210816/desmume/src/wifi.cpp 2021-08-16
15:08:02.000000000 +0200
@@ -59,7 +59,7 @@
// Some platforms need HAVE_REMOTE to work with libpcap, but
// Apple platforms are not among them.
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__HAIKU__)
#define HAVE_REMOTE
#endif
@@ -72,7 +72,7 @@
#elif defined(HAVE_LIBNX) || defined(__IOS__) || defined(ANDROID) ||
defined(GEKKO) || defined(_3DS)
typedef void* pcap_pkthdr;
#else
-#include <pcap.h>
+#include <pcap/pcap.h>
#endif
typedef struct pcap pcap_t;