mirror of https://github.com/encounter/SDL.git
haiku: Various fixes from haikuports.
Based on patch here: https://github.com/haikuports/haikuports/blob/master/media-libs/libsdl2/patches/libsdl2-2.0.5.patchset
This commit is contained in:
parent
444c47a1b8
commit
619ab7a22d
|
@ -16744,7 +16744,8 @@ done
|
||||||
ac_fn_c_check_member "$LINENO" "struct sigaction" "sa_sigaction" "ac_cv_member_struct_sigaction_sa_sigaction" "#include <signal.h>
|
ac_fn_c_check_member "$LINENO" "struct sigaction" "sa_sigaction" "ac_cv_member_struct_sigaction_sa_sigaction" "#include <signal.h>
|
||||||
"
|
"
|
||||||
if test "x$ac_cv_member_struct_sigaction_sa_sigaction" = xyes; then :
|
if test "x$ac_cv_member_struct_sigaction_sa_sigaction" = xyes; then :
|
||||||
$as_echo "#define HAVE_SA_SIGACTION 1" >>confdefs.h
|
|
||||||
|
$as_echo "#define HAVE_SA_SIGACTION /**/" >>confdefs.h
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -20173,7 +20174,8 @@ _ACEOF
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
|
||||||
have_const_param_XextAddDisplay=yes
|
have_const_param_XextAddDisplay=yes
|
||||||
$as_echo "#define SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY 1" >>confdefs.h
|
|
||||||
|
$as_echo "#define SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY /**/" >>confdefs.h
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
@ -20207,7 +20209,8 @@ _ACEOF
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
|
||||||
have_XGenericEvent=yes
|
have_XGenericEvent=yes
|
||||||
$as_echo "#define SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS 1" >>confdefs.h
|
|
||||||
|
$as_echo "#define SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS /**/" >>confdefs.h
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
@ -20552,7 +20555,8 @@ _ACEOF
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
|
||||||
have_xinput2_multitouch=yes
|
have_xinput2_multitouch=yes
|
||||||
$as_echo "#define SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH 1" >>confdefs.h
|
|
||||||
|
$as_echo "#define SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH /**/" >>confdefs.h
|
||||||
|
|
||||||
SUMMARY_video_x11="${SUMMARY_video_x11} xinput2_multitouch"
|
SUMMARY_video_x11="${SUMMARY_video_x11} xinput2_multitouch"
|
||||||
|
|
||||||
|
@ -22278,7 +22282,8 @@ _ACEOF
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
|
|
||||||
have_sem_timedwait=yes
|
have_sem_timedwait=yes
|
||||||
$as_echo "#define HAVE_SEM_TIMEDWAIT 1" >>confdefs.h
|
|
||||||
|
$as_echo "#define HAVE_SEM_TIMEDWAIT /**/" >>confdefs.h
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
@ -23670,7 +23675,7 @@ $as_echo "#define SDL_FILESYSTEM_HAIKU 1" >>confdefs.h
|
||||||
fi
|
fi
|
||||||
# The Haiku platform requires special setup.
|
# The Haiku platform requires special setup.
|
||||||
SOURCES="$srcdir/src/main/haiku/*.cc $SOURCES"
|
SOURCES="$srcdir/src/main/haiku/*.cc $SOURCES"
|
||||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
|
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding -lstdc++.r4"
|
||||||
;;
|
;;
|
||||||
arm*-apple-darwin*|*-ios-*)
|
arm*-apple-darwin*|*-ios-*)
|
||||||
ARCH=ios
|
ARCH=ios
|
||||||
|
|
12
configure.in
12
configure.in
|
@ -276,7 +276,7 @@ if test x$enable_libc = xyes; then
|
||||||
AC_CHECK_LIB(iconv, iconv_open, [LIBS="$LIBS -liconv"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -liconv"])
|
AC_CHECK_LIB(iconv, iconv_open, [LIBS="$LIBS -liconv"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -liconv"])
|
||||||
AC_CHECK_FUNCS(iconv)
|
AC_CHECK_FUNCS(iconv)
|
||||||
|
|
||||||
AC_CHECK_MEMBER(struct sigaction.sa_sigaction,[AC_DEFINE(HAVE_SA_SIGACTION)], ,[#include <signal.h>])
|
AC_CHECK_MEMBER(struct sigaction.sa_sigaction,[AC_DEFINE([HAVE_SA_SIGACTION], [], [Description])], ,[#include <signal.h>])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl AC_CHECK_SIZEOF(void*)
|
dnl AC_CHECK_SIZEOF(void*)
|
||||||
|
@ -1619,7 +1619,7 @@ AC_HELP_STRING([--enable-x11-shared], [dynamically load X11 support [[default=ma
|
||||||
],[
|
],[
|
||||||
],[
|
],[
|
||||||
have_const_param_XextAddDisplay=yes
|
have_const_param_XextAddDisplay=yes
|
||||||
AC_DEFINE(SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY)
|
AC_DEFINE([SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY], [], [Description])
|
||||||
])
|
])
|
||||||
AC_MSG_RESULT($have_const_param_XextAddDisplay)
|
AC_MSG_RESULT($have_const_param_XextAddDisplay)
|
||||||
|
|
||||||
|
@ -1637,7 +1637,7 @@ XGetEventData(display, cookie);
|
||||||
XFreeEventData(display, cookie);
|
XFreeEventData(display, cookie);
|
||||||
],[
|
],[
|
||||||
have_XGenericEvent=yes
|
have_XGenericEvent=yes
|
||||||
AC_DEFINE(SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS)
|
AC_DEFINE([SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS], [], [Description])
|
||||||
])
|
])
|
||||||
AC_MSG_RESULT($have_XGenericEvent)
|
AC_MSG_RESULT($have_XGenericEvent)
|
||||||
|
|
||||||
|
@ -1751,7 +1751,7 @@ int event_type = XI_TouchBegin;
|
||||||
XITouchClassInfo *t;
|
XITouchClassInfo *t;
|
||||||
],[
|
],[
|
||||||
have_xinput2_multitouch=yes
|
have_xinput2_multitouch=yes
|
||||||
AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH)
|
AC_DEFINE([SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH], [], [Description])
|
||||||
SUMMARY_video_x11="${SUMMARY_video_x11} xinput2_multitouch"
|
SUMMARY_video_x11="${SUMMARY_video_x11} xinput2_multitouch"
|
||||||
])
|
])
|
||||||
AC_MSG_RESULT($have_xinput2_multitouch)
|
AC_MSG_RESULT($have_xinput2_multitouch)
|
||||||
|
@ -2605,7 +2605,7 @@ AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [[default=yes]]])
|
||||||
sem_timedwait(NULL, NULL);
|
sem_timedwait(NULL, NULL);
|
||||||
],[
|
],[
|
||||||
have_sem_timedwait=yes
|
have_sem_timedwait=yes
|
||||||
AC_DEFINE(HAVE_SEM_TIMEDWAIT)
|
AC_DEFINE([HAVE_SEM_TIMEDWAIT], [], [Description])
|
||||||
])
|
])
|
||||||
AC_MSG_RESULT($have_sem_timedwait)
|
AC_MSG_RESULT($have_sem_timedwait)
|
||||||
fi
|
fi
|
||||||
|
@ -3345,7 +3345,7 @@ AC_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[defau
|
||||||
fi
|
fi
|
||||||
# The Haiku platform requires special setup.
|
# The Haiku platform requires special setup.
|
||||||
SOURCES="$srcdir/src/main/haiku/*.cc $SOURCES"
|
SOURCES="$srcdir/src/main/haiku/*.cc $SOURCES"
|
||||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
|
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding -lstdc++.r4"
|
||||||
;;
|
;;
|
||||||
arm*-apple-darwin*|*-ios-*)
|
arm*-apple-darwin*|*-ios-*)
|
||||||
ARCH=ios
|
ARCH=ios
|
||||||
|
|
|
@ -25,8 +25,10 @@
|
||||||
/* Handle the BeApp specific portions of the application */
|
/* Handle the BeApp specific portions of the application */
|
||||||
|
|
||||||
#include <AppKit.h>
|
#include <AppKit.h>
|
||||||
|
#include <storage/AppFileInfo.h>
|
||||||
#include <storage/Path.h>
|
#include <storage/Path.h>
|
||||||
#include <storage/Entry.h>
|
#include <storage/Entry.h>
|
||||||
|
#include <storage/File.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "SDL_BApp.h" /* SDL_BApp class definition */
|
#include "SDL_BApp.h" /* SDL_BApp class definition */
|
||||||
|
@ -51,7 +53,24 @@ StartBeApp(void *unused)
|
||||||
{
|
{
|
||||||
BApplication *App;
|
BApplication *App;
|
||||||
|
|
||||||
App = new SDL_BApp("application/x-SDL-executable");
|
// default application signature
|
||||||
|
const char *signature = "application/x-SDL-executable";
|
||||||
|
// dig resources for correct signature
|
||||||
|
image_info info;
|
||||||
|
int32 cookie = 0;
|
||||||
|
if (get_next_image_info(B_CURRENT_TEAM, &cookie, &info) == B_OK) {
|
||||||
|
BFile f(info.name, O_RDONLY);
|
||||||
|
if (f.InitCheck() == B_OK) {
|
||||||
|
BAppFileInfo app_info(&f);
|
||||||
|
if (app_info.InitCheck() == B_OK) {
|
||||||
|
char sig[B_MIME_TYPE_LENGTH];
|
||||||
|
if (app_info.GetSignature(sig) == B_OK)
|
||||||
|
signature = strndup(sig, B_MIME_TYPE_LENGTH);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
App = new SDL_BApp(signature);
|
||||||
|
|
||||||
App->Run();
|
App->Run();
|
||||||
delete App;
|
delete App;
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __HAIKU__
|
#ifdef __HAIKU__
|
||||||
#include <be/kernel/OS.h>
|
#include <kernel/OS.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "SDL_assert.h"
|
#include "SDL_assert.h"
|
||||||
|
|
|
@ -38,9 +38,9 @@ extern "C" {
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <AppKit.h>
|
#include <AppKit.h>
|
||||||
#include <InterfaceKit.h>
|
#include <InterfaceKit.h>
|
||||||
#include <be/game/DirectWindow.h>
|
#include <game/DirectWindow.h>
|
||||||
#if SDL_VIDEO_OPENGL
|
#if SDL_VIDEO_OPENGL
|
||||||
#include <be/opengl/GLView.h>
|
#include <opengl/GLView.h>
|
||||||
#endif
|
#endif
|
||||||
#include "SDL_events.h"
|
#include "SDL_events.h"
|
||||||
#include "../../main/haiku/SDL_BApp.h"
|
#include "../../main/haiku/SDL_BApp.h"
|
||||||
|
|
|
@ -94,7 +94,8 @@ int BE_GL_SwapWindow(_THIS, SDL_Window * window) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int BE_GL_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context) {
|
int BE_GL_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context) {
|
||||||
_GetBeApp()->SetCurrentContext(((SDL_BWin*)context)->GetGLView());
|
SDL_BWin* win = (SDL_BWin*)context;
|
||||||
|
_GetBeApp()->SetCurrentContext(win ? win->GetGLView() : NULL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue