xref: /OK3568_Linux_fs/buildroot/package/sdl2/sdl2.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# sdl2
4#
5################################################################################
6
7SDL2_VERSION = 2.0.22
8SDL2_SOURCE = SDL2-$(SDL2_VERSION).tar.gz
9SDL2_SITE = http://www.libsdl.org/release
10SDL2_LICENSE = Zlib
11SDL2_LICENSE_FILES = LICENSE.txt
12SDL2_CPE_ID_VENDOR = libsdl
13SDL2_CPE_ID_PRODUCT = simple_directmedia_layer
14SDL2_INSTALL_STAGING = YES
15SDL2_SUPPORTS_IN_SOURCE_BUILD = NO
16
17SDL2_CONF_OPTS += \
18	-DSDL_RPATH=OFF
19	-DSDL_ARTS=OFF
20	-DSDL_ESD=OFF
21	-DSDL_PULSEAUDIO=OFF
22
23# We must enable static build to get compilation successful.
24SDL2_CONF_OPTS += -DSDL_STATIC=ON
25
26ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
27SDL2_DEPENDENCIES += udev
28endif
29
30ifeq ($(BR2_X86_CPU_HAS_SSE),y)
31SDL2_CONF_OPTS += -DSDL_SSE=ON
32else
33SDL2_CONF_OPTS += -DSDL_SSE=OFF
34endif
35
36ifeq ($(BR2_X86_CPU_HAS_3DNOW),y)
37SDL2_CONF_OPTS += -DSDL_3DNOW=ON
38else
39SDL2_CONF_OPTS += -DSDL_3DNOW=OFF
40endif
41
42ifeq ($(BR2_PACKAGE_SDL2_DIRECTFB),y)
43SDL2_DEPENDENCIES += directfb
44SDL2_CONF_OPTS += -DSDL_DIRECTFB=ON
45else
46SDL2_CONF_OPTS += -DSDL_DIRECTFB=OFF
47endif
48
49ifeq ($(BR2_PACKAGE_SDL2_OPENGLES)$(BR2_PACKAGE_RPI_USERLAND),yy)
50SDL2_DEPENDENCIES += rpi-userland
51SDL2_CONF_OPTS += -DSDL_RPI=ON
52else
53SDL2_CONF_OPTS += -DSDL_RPI=OFF
54endif
55
56# x-includes and x-libraries must be set for cross-compiling
57# By default x_includes and x_libraries contains unsafe paths.
58# (/usr/X11R6/include and /usr/X11R6/lib)
59ifeq ($(BR2_PACKAGE_SDL2_X11),y)
60SDL2_DEPENDENCIES += xlib_libX11 xlib_libXext
61
62# X11/extensions/shape.h is provided by libXext.
63SDL2_CONF_OPTS += -DSDL_X11=ON
64	-DSDL_X11_XSHAPE=ON
65
66ifeq ($(BR2_PACKAGE_XLIB_LIBXCURSOR),y)
67SDL2_DEPENDENCIES += xlib_libXcursor
68SDL2_CONF_OPTS += -DSDL_X11_XCURSOR=ON
69else
70SDL2_CONF_OPTS += -DSDL_X11_XCURSOR=OFF
71endif
72
73ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y)
74SDL2_DEPENDENCIES += xlib_libXinerama
75SDL2_CONF_OPTS += -DSDL_X11_XINERAMA=ON
76else
77SDL2_CONF_OPTS += -DSDL_X11_XINERAMA=OFF
78endif
79
80ifeq ($(BR2_PACKAGE_XLIB_LIBXI),y)
81SDL2_DEPENDENCIES += xlib_libXi
82SDL2_CONF_OPTS += -DSDL_X11_XINPUT=ON
83else
84SDL2_CONF_OPTS += -DSDL_X11_XINPUT=OFF
85endif
86
87ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y)
88SDL2_DEPENDENCIES += xlib_libXrandr
89SDL2_CONF_OPTS += -DSDL_X11_XRANDR=ON
90else
91SDL2_CONF_OPTS += -DSDL_X11_XRANDR=OFF
92endif
93
94ifeq ($(BR2_PACKAGE_XLIB_LIBXSCRNSAVER),y)
95SDL2_DEPENDENCIES += xlib_libXScrnSaver
96SDL2_CONF_OPTS += -DSDL_X11_XSCRNSAVER=ON
97else
98SDL2_CONF_OPTS += -DSDL_X11_XSCRNSAVER=OFF
99endif
100
101ifeq ($(BR2_PACKAGE_XLIB_LIBXXF86VM),y)
102SDL2_DEPENDENCIES += xlib_libXxf86vm
103SDL2_CONF_OPTS += -DSDL_X11_XVM=ON
104else
105SDL2_CONF_OPTS += -DSDL_X11_XVM=OFF
106endif
107
108else
109SDL2_CONF_OPTS += -DSDL_X11=OFF
110SDL2_CONF_ENV += CFLAGS=" -DMESA_EGL_NO_X11_HEADERS "
111endif
112
113ifeq ($(BR2_PACKAGE_SDL2_OPENGL),y)
114SDL2_CONF_OPTS += -DSDL_OPENGL=ON
115SDL2_DEPENDENCIES += libgl
116else
117SDL2_CONF_OPTS += -DSDL_OPENGL=OFF
118endif
119
120ifeq ($(BR2_PACKAGE_SDL2_OPENGLES),y)
121SDL2_CONF_OPTS += -DSDL_OPENGLES=ON
122SDL2_DEPENDENCIES += libgles
123else
124SDL2_CONF_OPTS += -DSDL_OPENGLES=OFF
125endif
126
127ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
128SDL2_DEPENDENCIES += alsa-lib
129SDL2_CONF_OPTS += -DSDL_ALSA=ON
130else
131SDL2_CONF_OPTS += -DSDL_ALSA=OFF
132endif
133
134ifeq ($(BR2_PACKAGE_SDL2_KMSDRM),y)
135SDL2_DEPENDENCIES += libdrm libgbm
136SDL2_CONF_OPTS += -DSDL_KMSDRM=ON
137else
138SDL2_CONF_OPTS += -DSDL_KMSDRM=OFF
139endif
140
141ifeq ($(BR2_PACKAGE_SDL2_WAYLAND),y)
142SDL2_DEPENDENCIES += wayland
143SDL2_CONF_OPTS += -DSDL_WAYLAND=ON
144else
145SDL2_CONF_OPTS += -DSDL_WAYLAND=OFF
146endif
147
148$(eval $(cmake-package))
149