Patch proposal, mainly finally giving the possibility to openbsd to have proper classname

Hi all,

there is a little patch for better OpenBSD support.

Hope it finds its way.

Kindest regards.
-------------- next part --------------
diff -r b82c0f22d22a CMakeLists.txt
— a/CMakeLists.txt Wed Jun 08 08:01:21 2016 -0700
+++ b/CMakeLists.txt Sat Jun 11 19:30:32 2016 +0100
@@ -614,7 +614,7 @@
_uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull
atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp
vsscanf vsnprintf fseeko fseeko64 sigaction setjmp

  •        nanosleep sysconf sysctlbyname
    
  •        nanosleep sysconf sysctl sysctlbyname
           )
     string(TOUPPER ${_FN} _UPPER)
     set(_HAVEVAR "HAVE_${_UPPER}")
    

@@ -641,6 +641,10 @@
set(HAVE_ICONV 1)
endif()

  • if (OPENBSD)
  •  list(APPEND EXTRA_LIBS kvm)
    
  • endif()+
    if(NOT APPLE)
    check_include_file(alloca.h HAVE_ALLOCA_H)
    check_function_exists(alloca HAVE_ALLOCA)
    diff -r b82c0f22d22a configure
    — a/configure Wed Jun 08 08:01:21 2016 -0700
    +++ b/configure Sat Jun 11 19:30:32 2016 +0100
    @@ -16605,7 +16605,7 @@
    rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    fi
  • for ac_func in malloc calloc realloc free getenv setenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp vsscanf vsnprintf fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctlbyname
  • for ac_func in malloc calloc realloc free getenv setenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp vsscanf vsnprintf fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctl sysctlbyname
    do :
    as_ac_var=$as_echo "ac_cv_func_$ac_func" | $as_tr_sh
    ac_fn_c_check_func “$LINENO” “$ac_func” “$as_ac_var”
    @@ -22993,7 +22993,10 @@
    fi
    ;;
    --netbsd*) ARCH=netbsd ;;
  •        *-*-openbsd*)       ARCH=openbsd ;;
    
  •        *-*-openbsd*)       
    
  •            ARCH=openbsd 
    
  •            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lkvm"
    
  •            ;;
           *-*-sysv5*)         ARCH=sysv5 ;;
           *-*-solaris*)       ARCH=solaris ;;
           *-*-hpux*)          ARCH=hpux ;;
    

diff -r b82c0f22d22a configure.in
— a/configure.in Wed Jun 08 08:01:21 2016 -0700
+++ b/configure.in Sat Jun 11 19:30:32 2016 +0100
@@ -213,12 +213,12 @@

 *)
     save_LDFLAGS="$LDFLAGS"
  •    LDFLAGS="$LDFLAGS -Wl,--no-undefined"
    
  •    LDFLAGS="$LDFLAGS -lkvm -Wl,--no-undefined"
       AC_TRY_LINK([
       ],[
       ],[
       have_no_undefined=yes
    
  •    EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,--no-undefined"
    
  •    EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lkvm -Wl,--no-undefined"
       ])
       LDFLAGS="$save_LDFLAGS"
       ;;
    

@@ -268,7 +268,7 @@
AC_DEFINE(HAVE_MPROTECT, 1, [ ])
]),
)

  • AC_CHECK_FUNCS(malloc calloc realloc free getenv setenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp vsscanf vsnprintf fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctlbyname)
  • AC_CHECK_FUNCS(malloc calloc realloc free getenv setenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp vsscanf vsnprintf fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctl sysctlbyname)

    AC_CHECK_LIB(m, pow, [LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"])
    AC_CHECK_FUNCS(atan atan2 acos asin ceil copysign cos cosf fabs floor log pow scalbn sin sinf sqrt sqrtf tan tanf)
    diff -r b82c0f22d22a include/SDL_config.h
    — a/include/SDL_config.h Wed Jun 08 08:01:21 2016 -0700
    +++ b/include/SDL_config.h Sat Jun 11 19:30:32 2016 +0100
    @@ -1,3 +1,4 @@
    +/* include/SDL_config.h. Generated from SDL_config.h.in by configure. /
    /

    Simple DirectMedia Layer
    Copyright © 1997-2016 Sam Lantinga
    @@ -22,34 +23,339 @@
    #ifndef _SDL_config_h
    #define _SDL_config_h

+/**

    • \file SDL_config.h.in
    • This is a set of defines to configure the SDL features
  • */

+/* General platform specific identifiers */
#include “SDL_platform.h”

-/**

    • \file SDL_config.h
  • */

-/* Add any platform that doesn’t build using the configure system. /
-#ifdef USING_PREMAKE_CONFIG_H
-#include “SDL_config_premake.h”
-#elif defined(WIN32)
-#include “SDL_config_windows.h”
-#elif defined(WINRT)
-#include “SDL_config_winrt.h”
-#elif defined(MACOSX)
-#include “SDL_config_macosx.h”
-#elif defined(IPHONEOS)
-#include “SDL_config_iphoneos.h”
-#elif defined(ANDROID)
-#include “SDL_config_android.h”
-#elif defined(PSP)
-#include “SDL_config_psp.h”
-#else
-/
This is a minimal configuration just to get SDL running on new platforms /
-#include “SDL_config_minimal.h”
-#endif /
platform config */

-#ifdef USING_GENERATED_CONFIG_H
-#error Wrong SDL_config.h, check your include path?
+/* Make sure that this isn’t included by Visual C++ */
+#ifdef _MSC_VER
+#error You should run hg revert SDL_config.h
#endif

+/* C language features /
+/
#undef const /
+/
#undef inline /
+/
#undef volatile /
+
+/
C datatypes /
+#ifdef LP64
+#define SIZEOF_VOIDP 8
+#else
+#define SIZEOF_VOIDP 4
+#endif
+#define HAVE_GCC_ATOMICS 1
+/
#undef HAVE_GCC_SYNC_LOCK_TEST_AND_SET /
+
+/
#undef HAVE_DDRAW_H /
+/
#undef HAVE_DINPUT_H /
+/
#undef HAVE_DSOUND_H /
+/
#undef HAVE_DXGI_H /
+/
#undef HAVE_XINPUT_H /
+
+/
Comment this if you want to build without any C library requirements /
+#define HAVE_LIBC 1
+#if HAVE_LIBC
+
+/
Useful headers /
+/
#undef HAVE_ALLOCA_H /
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_STDIO_H 1
+#define STDC_HEADERS 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STDARG_H 1
+#define HAVE_MALLOC_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STRING_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_CTYPE_H 1
+#define HAVE_MATH_H 1
+/
#undef HAVE_ICONV_H /
+#define HAVE_SIGNAL_H 1
+/
#undef HAVE_ALTIVEC_H /
+#define HAVE_PTHREAD_NP_H 1
+/
#undef HAVE_LIBUDEV_H /
+#define HAVE_DBUS_DBUS_H 1
+/
#undef HAVE_IBUS_IBUS_H /
+
+/
C library functions /
+#define HAVE_MALLOC 1
+#define HAVE_CALLOC 1
+#define HAVE_REALLOC 1
+#define HAVE_FREE 1
+#define HAVE_ALLOCA 1
+#ifndef WIN32 /
Don’t use C runtime versions of these on Windows /
+#define HAVE_GETENV 1
+#define HAVE_SETENV 1
+#define HAVE_PUTENV 1
+#define HAVE_UNSETENV 1
+#endif
+#define HAVE_QSORT 1
+#define HAVE_ABS 1
+#define HAVE_BCOPY 1
+#define HAVE_MEMSET 1
+#define HAVE_MEMCPY 1
+#define HAVE_MEMMOVE 1
+#define HAVE_MEMCMP 1
+#define HAVE_STRLEN 1
+#define HAVE_STRLCPY 1
+#define HAVE_STRLCAT 1
+#define HAVE_STRDUP 1
+/
#undef HAVE__STRREV /
+/
#undef HAVE__STRUPR /
+/
#undef HAVE__STRLWR /
+/
#undef HAVE_INDEX /
+/
#undef HAVE_RINDEX /
+#define HAVE_STRCHR 1
+#define HAVE_STRRCHR 1
+#define HAVE_STRSTR 1
+/
#undef HAVE_ITOA /
+/
#undef HAVE__LTOA /
+/
#undef HAVE__UITOA /
+/
#undef HAVE__ULTOA /
+#define HAVE_STRTOL 1
+#define HAVE_STRTOUL 1
+/
#undef HAVE__I64TOA /
+/
#undef HAVE__UI64TOA /
+#define HAVE_STRTOLL 1
+#define HAVE_STRTOULL 1
+#define HAVE_STRTOD 1
+#define HAVE_ATOI 1
+#define HAVE_ATOF 1
+#define HAVE_STRCMP 1
+#define HAVE_STRNCMP 1
+/
#undef HAVE__STRICMP /
+#define HAVE_STRCASECMP 1
+/
#undef HAVE__STRNICMP /
+#define HAVE_STRNCASECMP 1
+/
#undef HAVE_SSCANF /
+#define HAVE_VSSCANF 1
+/
#undef HAVE_SNPRINTF /
+#define HAVE_VSNPRINTF 1
+#define HAVE_M_PI /**/
+#define HAVE_ATAN 1
+#define HAVE_ATAN2 1
+#define HAVE_ACOS 1
+#define HAVE_ASIN 1
+#define HAVE_CEIL 1
+#define HAVE_COPYSIGN 1
+#define HAVE_COS 1
+#define HAVE_COSF 1
+#define HAVE_FABS 1
+#define HAVE_FLOOR 1
+#define HAVE_LOG 1
+#define HAVE_POW 1
+#define HAVE_SCALBN 1
+#define HAVE_SIN 1
+#define HAVE_SINF 1
+#define HAVE_SQRT 1
+#define HAVE_SQRTF 1
+#define HAVE_TAN 1
+#define HAVE_TANF 1
+#define HAVE_FSEEKO 1
+/
#undef HAVE_FSEEKO64 /
+#define HAVE_SIGACTION 1
+#define HAVE_SA_SIGACTION 1
+#define HAVE_SETJMP 1
+#define HAVE_NANOSLEEP 1
+#define HAVE_SYSCONF 1
+#define HAVE_SYSCTL 1
+/
#undef HAVE_SYSCTLBYNAME /
+#define HAVE_CLOCK_GETTIME 1
+/
#undef HAVE_GETPAGESIZE /
+#define HAVE_MPROTECT 1
+/
#undef HAVE_ICONV /
+/
#undef HAVE_PTHREAD_SETNAME_NP /
+#define HAVE_PTHREAD_SET_NAME_NP 1
+#define HAVE_SEM_TIMEDWAIT 1
+
+#else
+#define HAVE_STDARG_H 1
+#define HAVE_STDDEF_H 1
+#define HAVE_STDINT_H 1
+#endif /
HAVE_LIBC /
+
+/
SDL internal assertion support /
+/
#undef SDL_DEFAULT_ASSERT_LEVEL /
+
+/
Allow disabling of core subsystems /
+/
#undef SDL_ATOMIC_DISABLED /
+/
#undef SDL_AUDIO_DISABLED /
+/
#undef SDL_CPUINFO_DISABLED /
+/
#undef SDL_EVENTS_DISABLED /
+/
#undef SDL_FILE_DISABLED /
+/
#undef SDL_JOYSTICK_DISABLED /
+#define SDL_HAPTIC_DISABLED 1
+/
#undef SDL_LOADSO_DISABLED /
+/
#undef SDL_RENDER_DISABLED /
+/
#undef SDL_THREADS_DISABLED /
+/
#undef SDL_TIMERS_DISABLED /
+/
#undef SDL_VIDEO_DISABLED /
+/
#undef SDL_POWER_DISABLED /
+/
#undef SDL_FILESYSTEM_DISABLED /
+
+/
Enable various audio drivers /
+/
#undef SDL_AUDIO_DRIVER_ALSA /
+/
#undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC /
+/
#undef SDL_AUDIO_DRIVER_ARTS /
+/
#undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC /
+/
#undef SDL_AUDIO_DRIVER_PULSEAUDIO /
+/
#undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC /
+/
#undef SDL_AUDIO_DRIVER_HAIKU /
+/
#undef SDL_AUDIO_DRIVER_BSD /
+/
#undef SDL_AUDIO_DRIVER_COREAUDIO /
+#define SDL_AUDIO_DRIVER_DISK 1
+#define SDL_AUDIO_DRIVER_DUMMY 1
+/
#undef SDL_AUDIO_DRIVER_ANDROID /
+/
#undef SDL_AUDIO_DRIVER_XAUDIO2 /
+/
#undef SDL_AUDIO_DRIVER_DSOUND /
+/
#undef SDL_AUDIO_DRIVER_ESD /
+/
#undef SDL_AUDIO_DRIVER_ESD_DYNAMIC /
+/
#undef SDL_AUDIO_DRIVER_NACL /
+/
#undef SDL_AUDIO_DRIVER_NAS /
+/
#undef SDL_AUDIO_DRIVER_NAS_DYNAMIC /
+#define SDL_AUDIO_DRIVER_SNDIO 1
+/
#undef SDL_AUDIO_DRIVER_SNDIO_DYNAMIC /
+/
#undef SDL_AUDIO_DRIVER_OSS /
+/
#undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H /
+/
#undef SDL_AUDIO_DRIVER_PAUDIO /
+/
#undef SDL_AUDIO_DRIVER_QSA /
+/
#undef SDL_AUDIO_DRIVER_SUNAUDIO /
+/
#undef SDL_AUDIO_DRIVER_WINMM /
+/
#undef SDL_AUDIO_DRIVER_FUSIONSOUND /
+/
#undef SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC /
+/
#undef SDL_AUDIO_DRIVER_EMSCRIPTEN /
+
+/
Enable various input drivers /
+/
#undef SDL_INPUT_LINUXEV /
+/
#undef SDL_INPUT_LINUXKD /
+/
#undef SDL_INPUT_TSLIB /
+/
#undef SDL_JOYSTICK_HAIKU /
+/
#undef SDL_JOYSTICK_DINPUT /
+/
#undef SDL_JOYSTICK_XINPUT /
+/
#undef SDL_JOYSTICK_DUMMY /
+/
#undef SDL_JOYSTICK_IOKIT /
+/
#undef SDL_JOYSTICK_LINUX /
+/
#undef SDL_JOYSTICK_ANDROID /
+/
#undef SDL_JOYSTICK_WINMM /
+#define SDL_JOYSTICK_USBHID 1
+/
#undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H /
+/
#undef SDL_JOYSTICK_EMSCRIPTEN /
+/
#undef SDL_HAPTIC_DUMMY /
+/
#undef SDL_HAPTIC_LINUX /
+/
#undef SDL_HAPTIC_IOKIT /
+/
#undef SDL_HAPTIC_DINPUT /
+/
#undef SDL_HAPTIC_XINPUT /
+
+/
Enable various shared object loading systems /
+/
#undef SDL_LOADSO_HAIKU /
+#define SDL_LOADSO_DLOPEN 1
+/
#undef SDL_LOADSO_DUMMY /
+/
#undef SDL_LOADSO_LDG /
+/
#undef SDL_LOADSO_WINDOWS /
+
+/
Enable various threading systems /
+#define SDL_THREAD_PTHREAD 1
+#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
+/
#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP /
+/
#undef SDL_THREAD_WINDOWS /
+
+/
Enable various timer systems /
+/
#undef SDL_TIMER_HAIKU /
+/
#undef SDL_TIMER_DUMMY /
+#define SDL_TIMER_UNIX 1
+/
#undef SDL_TIMER_WINDOWS /
+
+/
Enable various video drivers /
+/
#undef SDL_VIDEO_DRIVER_HAIKU /
+/
#undef SDL_VIDEO_DRIVER_COCOA /
+/
#undef SDL_VIDEO_DRIVER_DIRECTFB /
+/
#undef SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC /
+#define SDL_VIDEO_DRIVER_DUMMY 1
+/
#undef SDL_VIDEO_DRIVER_WINDOWS /
+/
#undef SDL_VIDEO_DRIVER_WAYLAND /
+/
#undef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH /
+/
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC /
+/
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL /
+/
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR /
+/
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON /
+/
#undef SDL_VIDEO_DRIVER_MIR /
+/
#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC /
+/
#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON /
+#define SDL_VIDEO_DRIVER_X11 1
+/
#undef SDL_VIDEO_DRIVER_RPI /
+/
#undef SDL_VIDEO_DRIVER_ANDROID /
+/
#undef SDL_VIDEO_DRIVER_EMSCRIPTEN /
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC “libX11.so
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT “libXext.so
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR “libXcursor.so
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA “libXinerama.so
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 “libXi.so
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR “libXrandr.so
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS “libXss.so
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE “libXxf86vm.so
+#define SDL_VIDEO_DRIVER_X11_XCURSOR 1
+#define SDL_VIDEO_DRIVER_X11_XDBE 1
+#define SDL_VIDEO_DRIVER_X11_XINERAMA 1
+#define SDL_VIDEO_DRIVER_X11_XINPUT2 1
+#define SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH 1
+#define SDL_VIDEO_DRIVER_X11_XRANDR 1
+#define SDL_VIDEO_DRIVER_X11_XSCRNSAVER 1
+#define SDL_VIDEO_DRIVER_X11_XSHAPE 1
+#define SDL_VIDEO_DRIVER_X11_XVIDMODE 1
+#define SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS 1
+#define SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY 1
+#define SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM 1
+/
#undef SDL_VIDEO_DRIVER_NACL /
+/
#undef SDL_VIDEO_DRIVER_VIVANTE /
+/
#undef SDL_VIDEO_DRIVER_VIVANTE_VDK /
+
+/
#undef SDL_VIDEO_RENDER_D3D /
+/
#undef SDL_VIDEO_RENDER_D3D11 /
+#define SDL_VIDEO_RENDER_OGL 1
+#define SDL_VIDEO_RENDER_OGL_ES 1
+#define SDL_VIDEO_RENDER_OGL_ES2 1
+/
#undef SDL_VIDEO_RENDER_DIRECTFB /
+
+/
Enable OpenGL support /
+#define SDL_VIDEO_OPENGL 1
+#define SDL_VIDEO_OPENGL_ES 1
+#define SDL_VIDEO_OPENGL_ES2 1
+/
#undef SDL_VIDEO_OPENGL_BGL /
+/
#undef SDL_VIDEO_OPENGL_CGL /
+#define SDL_VIDEO_OPENGL_EGL 1
+#define SDL_VIDEO_OPENGL_GLX 1
+/
#undef SDL_VIDEO_OPENGL_WGL /
+/
#undef SDL_VIDEO_OPENGL_OSMESA /
+/
#undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC /
+
+/
Enable system power support /
+/
#undef SDL_POWER_LINUX /
+/
#undef SDL_POWER_WINDOWS /
+/
#undef SDL_POWER_MACOSX /
+/
#undef SDL_POWER_HAIKU /
+/
#undef SDL_POWER_ANDROID /
+/
#undef SDL_POWER_EMSCRIPTEN /
+/
#undef SDL_POWER_HARDWIRED /
+
+/
Enable system filesystem support /
+/
#undef SDL_FILESYSTEM_HAIKU /
+/
#undef SDL_FILESYSTEM_COCOA /
+/
#undef SDL_FILESYSTEM_DUMMY /
+#define SDL_FILESYSTEM_UNIX 1
+/
#undef SDL_FILESYSTEM_WINDOWS /
+/
#undef SDL_FILESYSTEM_NACL /
+/
#undef SDL_FILESYSTEM_ANDROID /
+/
#undef SDL_FILESYSTEM_EMSCRIPTEN /
+
+/
Enable assembly routines /
+#define SDL_ASSEMBLY_ROUTINES 1
+/
#undef SDL_ALTIVEC_BLITTERS /
+
#endif /
_SDL_config_h /
diff -r b82c0f22d22a include/SDL_config.h.cmake
— a/include/SDL_config.h.cmake Wed Jun 08 08:01:21 2016 -0700
+++ b/include/SDL_config.h.cmake Sat Jun 11 19:30:32 2016 +0100
@@ -161,6 +161,7 @@
#cmakedefine HAVE_SETJMP 1
#cmakedefine HAVE_NANOSLEEP 1
#cmakedefine HAVE_SYSCONF 1
+#cmakedefine HAVE_SYSCTL 1
#cmakedefine HAVE_SYSCTLBYNAME 1
#cmakedefine HAVE_CLOCK_GETTIME 1
#cmakedefine HAVE_GETPAGESIZE 1
diff -r b82c0f22d22a include/SDL_config.h.in
— a/include/SDL_config.h.in Wed Jun 08 08:01:21 2016 -0700
+++ b/include/SDL_config.h.in Sat Jun 11 19:30:32 2016 +0100
@@ -164,6 +164,7 @@
#undef HAVE_SETJMP
#undef HAVE_NANOSLEEP
#undef HAVE_SYSCONF
+#undef HAVE_SYSCTL
#undef HAVE_SYSCTLBYNAME
#undef HAVE_CLOCK_GETTIME
#undef HAVE_GETPAGESIZE
diff -r b82c0f22d22a include/SDL_revision.h
— a/include/SDL_revision.h Wed Jun 08 08:01:21 2016 -0700
+++ b/include/SDL_revision.h Sat Jun 11 19:30:32 2016 +0100
@@ -1,2 +1,2 @@
-#define SDL_REVISION “hg-0:aaaaaaaaaaah”
-#define SDL_REVISION_NUMBER 0
+#define SDL_REVISION “hg-10181:b82c0f22d22a”
+#define SDL_REVISION_NUMBER 10181
diff -r b82c0f22d22a src/cpuinfo/SDL_cpuinfo.c
— a/src/cpuinfo/SDL_cpuinfo.c Wed Jun 08 08:01:21 2016 -0700
+++ b/src/cpuinfo/SDL_cpuinfo.c Sat Jun 11 19:30:32 2016 +0100
@@ -41,10 +41,12 @@
#endif
#if defined(MACOSX) && (defined(ppc) || defined(ppc64))
#include <sys/sysctl.h> /
For AltiVec check /
-#elif defined(OpenBSD) && defined(powerpc)
+#elif defined(OpenBSD)
#include <sys/param.h>
-#include <sys/sysctl.h> /
For AltiVec check /
-#include <machine/cpu.h>
+#include <sys/sysctl.h>
+#if defined(powerpc)
+#include <machine/cpu.h> /
For AltiVec check /
+#endif
#elif SDL_ALTIVEC_BLITTERS && HAVE_SETJMP
#include <signal.h>
#include <setjmp.h>
@@ -733,11 +735,13 @@
SDL_SystemRAM = (int)((Sint64)sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE) / (1024
1024));
}
#endif
-#ifdef HAVE_SYSCTLBYNAME
+#ifdef HAVE_SYSCTL
if (SDL_SystemRAM <= 0) {
-#if defined(FreeBSD) || defined(FreeBSD_kernel) || defined(NetBSD)
+#if defined(FreeBSD) || defined(FreeBSD_kernel) || defined(NetBSD) || defined(OpenBSD)
#ifdef HW_REALMEM
int mib[2] = {CTL_HW, HW_REALMEM};
+#elif defined(HW_PHYSMEM64)

  •        int mib[2] = {CTL_HW, HW_PHYSMEM64};
    

#else
/* might only report up to 2 GiB */
int mib[2] = {CTL_HW, HW_PHYSMEM};
diff -r b82c0f22d22a src/video/x11/SDL_x11video.c
— a/src/video/x11/SDL_x11video.c Wed Jun 08 08:01:21 2016 -0700
+++ b/src/video/x11/SDL_x11video.c Sat Jun 11 19:30:32 2016 +0100
@@ -39,6 +39,13 @@
#include “SDL_x11opengles.h”
#endif

+#ifdef OPENBSD
+#include <sys/sysctl.h>
+#include <kvm.h>
+#include <limits.h>
+#endif
+
+
/* Initialization/Query functions */
static int X11_VideoInit(_THIS);
static void X11_VideoQuit(_THIS);
@@ -52,6 +59,11 @@
char procfile[1024];
char linkfile[1024];
int linksize;
+#elif defined(OPENBSD)

  • char errmsg[_POSIX2_LINE_MAX];

  • int numprocs;

  • struct kinfo_proc *kp;

  • kvm_t *kd;
    #endif

    /* First allow environment variable override */
    @@ -80,8 +92,21 @@
    return SDL_strdup(linkfile);
    }
    }
    +#elif defined(OPENBSD)

  • kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errmsg);

  • if (kd == NULL) {

  •    goto default_class;
    
  • }

  • kp = kvm_getprocs(kd, KERN_PROC_PID, getpid(), sizeof(*kp), &numprocs);

  • if (kp == NULL) {

  •    goto default_class;
    
  • }

  • return SDL_strdup(kp->p_comm);
    #endif /* LINUX || FREEBSD */

+default_class:
/* Finally use the default we’ve used forever */
return SDL_strdup(“SDL_App”);
}

Hi any opinion ? :slight_smile:

Kind regards.On 11 June 2016 at 22:20, David CARLIER <@David_CARLIER> wrote:

Hi all,

there is a little patch for better OpenBSD support.

Hope it finds its way.

Kindest regards.