package/sdl2: fix build with kmsdrm

Build with kmsdrm is broken since bump to version 2.0.14 in commit
5e0da5c40d. Indeed, first patch was
already applied in this version:
9354aea198
but upstream made other changes that requires EGL so add an upstream
patch to fix the build failure

Moreover, run autogen.sh instead of autoreconf as it breaks the build
and is not recommended by upstream:
https://github.com/libsdl-org/SDL/pull/4214

Fixes:
 - http://autobuild.buildroot.org/results/355c7e5092e7641d8b04ecb550e2671d70720bd2

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Arnout: add dependency on host-autoconf]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Fabrice Fontaine 2021-08-21 11:39:08 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 5bb4e281c0
commit 9aae755440
3 changed files with 441 additions and 39 deletions

View File

@ -0,0 +1,433 @@
From 2fc987c28f14668a9ce360331f591e32e20c3906 Mon Sep 17 00:00:00 2001
From: Manuel Alfayate Corchete <redwindwanderer@gmail.com>
Date: Tue, 22 Dec 2020 14:15:33 +0100
Subject: [PATCH] [Buildsystem] Add guards for not building with KMSDRM support
if EGL is not available.
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Retrieved from:
https://github.com/libsdl-org/SDL/commit/2fc987c28f14668a9ce360331f591e32e20c3906]
---
configure.ac | 29 ++++++++++++++++++-
src/video/kmsdrm/SDL_kmsdrmopengles.c | 4 +--
src/video/kmsdrm/SDL_kmsdrmopengles.h | 4 +--
src/video/kmsdrm/SDL_kmsdrmvideo.c | 22 +++++---------
src/video/kmsdrm/SDL_kmsdrmvideo.h | 8 -----
.../SDL_kmsdrm_legacy_opengles.c | 4 +--
.../SDL_kmsdrm_legacy_opengles.h | 4 +--
.../kmsdrm_legacy/SDL_kmsdrm_legacy_video.c | 20 ++-----------
.../kmsdrm_legacy/SDL_kmsdrm_legacy_video.h | 6 ++--
9 files changed, 47 insertions(+), 54 deletions(-)
diff --git a/configure.ac b/configure.ac
index b7e519b8f..acff858ba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2236,7 +2236,10 @@ CheckKMSDRM()
AS_HELP_STRING([--enable-video-kmsdrm], [use KMSDRM video driver [[default=no]]]),
, enable_video_kmsdrm=no)
- if test x$enable_video = xyes -a x$enable_video_kmsdrm = xyes; then
+ if test x$enable_video = xyes && \
+ test x$enable_video_kmsdrm = xyes && \
+ test x$video_opengl_egl = xyes; then
+
video_kmsdrm=no
PKG_CHECK_MODULES([LIBDRM], [libdrm >= 1.4.82], libdrm_avail=yes, libdrm_avail=no)
@@ -2418,6 +2421,28 @@ CheckOpenGLESX11()
fi
}
+dnl Find EGL
+CheckEGLKMSDRM()
+{
+ AC_MSG_CHECKING(for EGL support)
+ video_opengl_egl=no
+ AC_TRY_COMPILE([
+ #define LINUX
+ #define EGL_API_FB
+ #define MESA_EGL_NO_X11_HEADERS
+ #define EGL_NO_X11
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
+ ],[
+ ],[
+ video_opengl_egl=yes
+ ])
+ AC_MSG_RESULT($video_opengl_egl)
+ if test x$video_opengl_egl = xyes; then
+ AC_DEFINE(SDL_VIDEO_OPENGL_EGL, 1, [ ])
+ fi
+}
+
dnl Check for Windows OpenGL
CheckWINDOWSGL()
{
@@ -3555,6 +3580,8 @@ case "$host" in
CheckRPI
CheckX11
CheckDirectFB
+ # Need to check for EGL first because KMSDRM depends on it.
+ CheckEGLKMSDRM
CheckKMSDRM
CheckOpenGLX11
CheckOpenGLESX11
diff --git a/src/video/kmsdrm/SDL_kmsdrmopengles.c b/src/video/kmsdrm/SDL_kmsdrmopengles.c
index c9ec554b4..664621d2b 100644
--- a/src/video/kmsdrm/SDL_kmsdrmopengles.c
+++ b/src/video/kmsdrm/SDL_kmsdrmopengles.c
@@ -22,7 +22,7 @@
#include "../../SDL_internal.h"
-#if SDL_VIDEO_DRIVER_KMSDRM && SDL_VIDEO_OPENGL_EGL
+#if SDL_VIDEO_DRIVER_KMSDRM
#include "SDL_kmsdrmvideo.h"
#include "SDL_kmsdrmopengles.h"
@@ -376,6 +376,6 @@ KMSDRM_GLES_SwapWindow(_THIS, SDL_Window * window)
SDL_EGL_MakeCurrent_impl(KMSDRM)
-#endif /* SDL_VIDEO_DRIVER_KMSDRM && SDL_VIDEO_OPENGL_EGL */
+#endif /* SDL_VIDEO_DRIVER_KMSDRM */
/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/kmsdrm/SDL_kmsdrmopengles.h b/src/video/kmsdrm/SDL_kmsdrmopengles.h
index f81b0c3dc..c8db7da86 100644
--- a/src/video/kmsdrm/SDL_kmsdrmopengles.h
+++ b/src/video/kmsdrm/SDL_kmsdrmopengles.h
@@ -24,7 +24,7 @@
#ifndef SDL_kmsdrmopengles_h_
#define SDL_kmsdrmopengles_h_
-#if SDL_VIDEO_DRIVER_KMSDRM && SDL_VIDEO_OPENGL_EGL
+#if SDL_VIDEO_DRIVER_KMSDRM
#include "../SDL_sysvideo.h"
#include "../SDL_egl_c.h"
@@ -42,7 +42,7 @@ extern SDL_GLContext KMSDRM_GLES_CreateContext(_THIS, SDL_Window * window);
extern int KMSDRM_GLES_SwapWindow(_THIS, SDL_Window * window);
extern int KMSDRM_GLES_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context);
-#endif /* SDL_VIDEO_DRIVER_KMSDRM && SDL_VIDEO_OPENGL_EGL */
+#endif /* SDL_VIDEO_DRIVER_KMSDRM */
#endif /* SDL_kmsdrmopengles_h_ */
diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c
index e84bd5ebc..663bc2170 100644
--- a/src/video/kmsdrm/SDL_kmsdrmvideo.c
+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c
@@ -846,7 +846,6 @@ KMSDRM_CreateDevice(int devindex)
device->SetWindowGrab = KMSDRM_SetWindowGrab;
device->DestroyWindow = KMSDRM_DestroyWindow;
device->GetWindowWMInfo = KMSDRM_GetWindowWMInfo;
-#if SDL_VIDEO_OPENGL_EGL
device->GL_DefaultProfileConfig = KMSDRM_GLES_DefaultProfileConfig;
device->GL_LoadLibrary = KMSDRM_GLES_LoadLibrary;
device->GL_GetProcAddress = KMSDRM_GLES_GetProcAddress;
@@ -857,9 +856,7 @@ KMSDRM_CreateDevice(int devindex)
device->GL_GetSwapInterval = KMSDRM_GLES_GetSwapInterval;
device->GL_SwapWindow = KMSDRM_GLES_SwapWindow;
device->GL_DeleteContext = KMSDRM_GLES_DeleteContext;
-#endif
- device->PumpEvents = KMSDRM_PumpEvents;
- device->free = KMSDRM_DeleteDevice;
+
#if SDL_VIDEO_VULKAN
device->Vulkan_LoadLibrary = KMSDRM_Vulkan_LoadLibrary;
device->Vulkan_UnloadLibrary = KMSDRM_Vulkan_UnloadLibrary;
@@ -867,6 +864,10 @@ KMSDRM_CreateDevice(int devindex)
device->Vulkan_CreateSurface = KMSDRM_Vulkan_CreateSurface;
device->Vulkan_GetDrawableSize = KMSDRM_Vulkan_GetDrawableSize;
#endif
+
+ device->PumpEvents = KMSDRM_PumpEvents;
+ device->free = KMSDRM_DeleteDevice;
+
return device;
cleanup:
@@ -1327,9 +1328,7 @@ KMSDRM_DestroySurfaces(_THIS, SDL_Window *window)
SDL_DisplayData *dispdata = (SDL_DisplayData *)SDL_GetDisplayDriverData(0);
KMSDRM_PlaneInfo plane_info = {0};
-#if SDL_VIDEO_OPENGL_EGL
EGLContext egl_context;
-#endif
/********************************************************************/
/* BLOCK 1: protect the PRIMARY PLANE before destroying the buffers */
@@ -1380,7 +1379,6 @@ KMSDRM_DestroySurfaces(_THIS, SDL_Window *window)
/* will get wrong info and we will be in trouble. */
/***************************************************************************/
-#if SDL_VIDEO_OPENGL_EGL
egl_context = (EGLContext)SDL_GL_GetCurrentContext();
SDL_EGL_MakeCurrent(_this, EGL_NO_SURFACE, egl_context);
@@ -1388,7 +1386,6 @@ KMSDRM_DestroySurfaces(_THIS, SDL_Window *window)
SDL_EGL_DestroySurface(_this, windata->egl_surface);
windata->egl_surface = EGL_NO_SURFACE;
}
-#endif
if (windata->gs) {
KMSDRM_gbm_surface_destroy(windata->gs);
@@ -1431,7 +1428,6 @@ KMSDRM_CreateSurfaces(_THIS, SDL_Window * window)
return SDL_SetError("Could not create GBM surface");
}
-#if SDL_VIDEO_OPENGL_EGL
/* We can't get the EGL context yet because SDL_CreateRenderer has not been called,
but we need an EGL surface NOW, or GL won't be able to render into any surface
and we won't see the first frame. */
@@ -1448,8 +1444,6 @@ KMSDRM_CreateSurfaces(_THIS, SDL_Window * window)
egl_context = (EGLContext)SDL_GL_GetCurrentContext();
ret = SDL_EGL_MakeCurrent(_this, windata->egl_surface, egl_context);
-#endif
-
cleanup:
if (ret) {
@@ -1478,11 +1472,11 @@ KMSDRM_DestroyWindow(_THIS, SDL_Window *window)
if (!is_vulkan) {
KMSDRM_DestroySurfaces(_this, window);
-#if SDL_VIDEO_OPENGL_EGL
+
if (_this->egl_data) {
SDL_EGL_UnloadLibrary(_this);
}
-#endif
+
if (dispdata->gbm_init) {
KMSDRM_DeinitMouse(_this);
KMSDRM_GBMDeinit(_this, dispdata);
@@ -1754,7 +1748,6 @@ KMSDRM_CreateWindow(_THIS, SDL_Window * window)
goto cleanup;
}
-#if SDL_VIDEO_OPENGL_EGL
/* Manually load the EGL library. KMSDRM_EGL_LoadLibrary() has already
been called by SDL_CreateWindow() but we don't do anything there,
precisely to be able to load it here.
@@ -1766,7 +1759,6 @@ KMSDRM_CreateWindow(_THIS, SDL_Window * window)
goto cleanup;
}
}
-#endif
/* Can't init mouse stuff sooner because cursor plane is not ready. */
KMSDRM_InitMouse(_this);
diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.h b/src/video/kmsdrm/SDL_kmsdrmvideo.h
index 2cf34522b..e58c922a8 100644
--- a/src/video/kmsdrm/SDL_kmsdrmvideo.h
+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.h
@@ -34,10 +34,8 @@
#include <gbm.h>
#include <assert.h>
-#if SDL_VIDEO_OPENGL_EGL
#include <EGL/egl.h>
#include <EGL/eglext.h>
-#endif
/****************************************************************************************/
/* Driverdata pointers are void struct* used to store backend-specific variables */
@@ -101,10 +99,6 @@ typedef struct SDL_DisplayData
EGLSyncKHR kms_fence;
EGLSyncKHR gpu_fence;
-#if SDL_VIDEO_OPENGL_EGL
- EGLSurface old_egl_surface;
-#endif
-
SDL_bool modeset_pending;
SDL_bool gbm_init;
@@ -129,9 +123,7 @@ typedef struct SDL_WindowData
struct gbm_bo *bo;
struct gbm_bo *next_bo;
-#if SDL_VIDEO_OPENGL_EGL
EGLSurface egl_surface;
-#endif
/* For scaling and AR correction. */
int32_t src_w;
diff --git a/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_opengles.c b/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_opengles.c
index 890801891..a886eb326 100644
--- a/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_opengles.c
+++ b/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_opengles.c
@@ -21,7 +21,7 @@
#include "../../SDL_internal.h"
-#if SDL_VIDEO_DRIVER_KMSDRM && SDL_VIDEO_OPENGL_EGL
+#if SDL_VIDEO_DRIVER_KMSDRM
#include "SDL_log.h"
@@ -147,6 +147,6 @@ KMSDRM_LEGACY_GLES_SwapWindow(_THIS, SDL_Window * window) {
SDL_EGL_MakeCurrent_impl(KMSDRM_LEGACY)
-#endif /* SDL_VIDEO_DRIVER_KMSDRM && SDL_VIDEO_OPENGL_EGL */
+#endif /* SDL_VIDEO_DRIVER_KMSDRM */
/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_opengles.h b/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_opengles.h
index 5e5ba96dc..2926cbe58 100644
--- a/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_opengles.h
+++ b/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_opengles.h
@@ -23,7 +23,7 @@
#ifndef SDL_kmsdrmopengles_h_
#define SDL_kmsdrmopengles_h_
-#if SDL_VIDEO_DRIVER_KMSDRM && SDL_VIDEO_OPENGL_EGL
+#if SDL_VIDEO_DRIVER_KMSDRM
#include "../SDL_sysvideo.h"
#include "../SDL_egl_c.h"
@@ -41,7 +41,7 @@ extern SDL_GLContext KMSDRM_LEGACY_GLES_CreateContext(_THIS, SDL_Window * window
extern int KMSDRM_LEGACY_GLES_SwapWindow(_THIS, SDL_Window * window);
extern int KMSDRM_LEGACY_GLES_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context);
-#endif /* SDL_VIDEO_DRIVER_KMSDRM && SDL_VIDEO_OPENGL_EGL */
+#endif /* SDL_VIDEO_DRIVER_KMSDRM */
#endif /* SDL_kmsdrmopengles_h_ */
diff --git a/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_video.c b/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_video.c
index 36b1899bd..acddfc29a 100644
--- a/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_video.c
+++ b/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_video.c
@@ -213,7 +213,7 @@ KMSDRM_LEGACY_CreateDevice(int devindex)
device->SetWindowGrab = KMSDRM_LEGACY_SetWindowGrab;
device->DestroyWindow = KMSDRM_LEGACY_DestroyWindow;
device->GetWindowWMInfo = KMSDRM_LEGACY_GetWindowWMInfo;
-#if SDL_VIDEO_OPENGL_EGL
+
device->GL_LoadLibrary = KMSDRM_LEGACY_GLES_LoadLibrary;
device->GL_GetProcAddress = KMSDRM_LEGACY_GLES_GetProcAddress;
device->GL_UnloadLibrary = KMSDRM_LEGACY_GLES_UnloadLibrary;
@@ -223,7 +223,7 @@ KMSDRM_LEGACY_CreateDevice(int devindex)
device->GL_GetSwapInterval = KMSDRM_LEGACY_GLES_GetSwapInterval;
device->GL_SwapWindow = KMSDRM_LEGACY_GLES_SwapWindow;
device->GL_DeleteContext = KMSDRM_LEGACY_GLES_DeleteContext;
-#endif
+
device->PumpEvents = KMSDRM_LEGACY_PumpEvents;
device->free = KMSDRM_LEGACY_DeleteDevice;
@@ -369,14 +369,12 @@ KMSDRM_LEGACY_DestroySurfaces(_THIS, SDL_Window * window)
windata->next_bo = NULL;
}
-#if SDL_VIDEO_OPENGL_EGL
SDL_EGL_MakeCurrent(_this, EGL_NO_SURFACE, EGL_NO_CONTEXT);
if (windata->egl_surface != EGL_NO_SURFACE) {
SDL_EGL_DestroySurface(_this, windata->egl_surface);
windata->egl_surface = EGL_NO_SURFACE;
}
-#endif
if (windata->gs) {
KMSDRM_LEGACY_gbm_surface_destroy(windata->gs);
@@ -394,18 +392,14 @@ KMSDRM_LEGACY_CreateSurfaces(_THIS, SDL_Window * window)
Uint32 height = dispdata->mode.vdisplay;
Uint32 surface_fmt = GBM_FORMAT_XRGB8888;
Uint32 surface_flags = GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING;
-#if SDL_VIDEO_OPENGL_EGL
EGLContext egl_context;
-#endif
if (!KMSDRM_LEGACY_gbm_device_is_format_supported(viddata->gbm, surface_fmt, surface_flags)) {
SDL_LogWarn(SDL_LOG_CATEGORY_VIDEO, "GBM surface format not supported. Trying anyway.");
}
-#if SDL_VIDEO_OPENGL_EGL
SDL_EGL_SetRequiredVisualId(_this, surface_fmt);
egl_context = (EGLContext)SDL_GL_GetCurrentContext();
-#endif
KMSDRM_LEGACY_DestroySurfaces(_this, window);
@@ -415,7 +409,6 @@ KMSDRM_LEGACY_CreateSurfaces(_THIS, SDL_Window * window)
return SDL_SetError("Could not create GBM surface");
}
-#if SDL_VIDEO_OPENGL_EGL
windata->egl_surface = SDL_EGL_CreateSurface(_this, (NativeWindowType)windata->gs);
if (windata->egl_surface == EGL_NO_SURFACE) {
@@ -425,7 +418,6 @@ KMSDRM_LEGACY_CreateSurfaces(_THIS, SDL_Window * window)
SDL_EGL_MakeCurrent(_this, windata->egl_surface, egl_context);
windata->egl_surface_dirty = 0;
-#endif
return 0;
}
@@ -734,15 +726,9 @@ KMSDRM_LEGACY_SetDisplayMode(_THIS, SDL_VideoDisplay * display, SDL_DisplayMode
SDL_Window *window = viddata->windows[i];
SDL_WindowData *windata = (SDL_WindowData *)window->driverdata;
-#if SDL_VIDEO_OPENGL_EGL
/* Can't recreate EGL surfaces right now, need to wait until SwapWindow
so the correct thread-local surface and context state are available */
windata->egl_surface_dirty = 1;
-#else
- if (KMSDRM_LEGACY_CreateSurfaces(_this, window)) {
- return -1;
- }
-#endif
/* Tell app about the resize */
SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode->w, mode->h);
@@ -758,13 +744,11 @@ KMSDRM_LEGACY_CreateWindow(_THIS, SDL_Window * window)
SDL_WindowData *windata;
SDL_VideoDisplay *display;
-#if SDL_VIDEO_OPENGL_EGL
if (!_this->egl_data) {
if (SDL_GL_LoadLibrary(NULL) < 0) {
goto error;
}
}
-#endif
/* Allocate window internal data */
windata = (SDL_WindowData *)SDL_calloc(1, sizeof(SDL_WindowData));
diff --git a/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_video.h b/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_video.h
index 28e1bc4fe..9df2bcfa3 100644
--- a/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_video.h
+++ b/src/video/kmsdrm_legacy/SDL_kmsdrm_legacy_video.h
@@ -31,9 +31,7 @@
#include <xf86drm.h>
#include <xf86drmMode.h>
#include <gbm.h>
-#if SDL_VIDEO_OPENGL_EGL
#include <EGL/egl.h>
-#endif
typedef struct SDL_VideoData
{
@@ -71,10 +69,10 @@ typedef struct SDL_WindowData
struct gbm_bo *crtc_bo;
SDL_bool waiting_for_flip;
SDL_bool double_buffer;
-#if SDL_VIDEO_OPENGL_EGL
+
int egl_surface_dirty;
EGLSurface egl_surface;
-#endif
+
} SDL_WindowData;
typedef struct KMSDRM_LEGACY_FBInfo

View File

@ -1,39 +0,0 @@
From d265b1ee94aa4faf5fa405f14cc731a25d7a00ab Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Tue, 24 Mar 2020 14:11:14 +0100
Subject: [PATCH] src/video/kmsdrm/SDL_kmsdrmvideo.c: fix build
Build is broken without EGL since version 2.0.12 and
https://hg.libsdl.org/SDL/rev/9761858bd6a3:
/home/giuliobenetti/autobuild/run/instance-1/output-1/build/sdl2-2.0.12/src/video/kmsdrm/SDL_kmsdrmvideo.c: In function 'KMSDRM_CreateSurfaces':
/home/giuliobenetti/autobuild/run/instance-1/output-1/build/sdl2-2.0.12/src/video/kmsdrm/SDL_kmsdrmvideo.c:394:5: error: unknown type name 'EGLContext'
EGLContext egl_context;
^
Fixes:
- http://autobuild.buildroot.org/results/fafd20a01591032662f9ca025fcea3478239cf3c
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream: https://hg.libsdl.org/SDL/rev/389ce8cfa2a3]
Fixes:
- Update patch to version 2.0.14
Signed-off-by: Michael Fischer <mf@go-sys.de>
diff -purN a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c
--- a/src/video/kmsdrm/SDL_kmsdrmvideo.c 2021-01-08 09:56:44.028217792 +0100
+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c 2021-01-08 09:55:52.295932111 +0100
@@ -1407,7 +1407,9 @@ KMSDRM_CreateSurfaces(_THIS, SDL_Window
uint32_t surface_flags = GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING;
uint32_t width, height;
+#if SDL_VIDEO_OPENGL_EGL
EGLContext egl_context;
+#endif
int ret = 0;

View File

@ -22,6 +22,14 @@ SDL2_CONF_OPTS += \
--disable-pulseaudio \
--disable-video-wayland
# We're patching configure.ac but autoreconf breaks the build
# The script only uses autoconf, not automake or libtool
SDL2_DEPENDENCIES += host-autoconf
define SDL2_RUN_AUTOGEN
cd $(@D) && PATH=$(BR_PATH) ./autogen.sh
endef
SDL2_PRE_CONFIGURE_HOOKS += SDL2_RUN_AUTOGEN
# We are using autotools build system for sdl2, so the sdl2-config.cmake
# include path are not resolved like for sdl2-config script.
# Change the absolute /usr path to resolve relatively to the sdl2-config.cmake location.