1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
include $(TOPDIR)/rules.mk
PKG_NAME:=sdl2
PKG_VERSION:=2.32.8
PKG_RELEASE:=1
PKG_SOURCE:=SDL2-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.libsdl.org/release/
PKG_HASH:=0ca83e9c9b31e18288c7ec811108e58bac1f1bb5ec6577ad386830eac51c787e
PKG_BUILD_DIR:=$(BUILD_DIR)/SDL2-$(PKG_VERSION)
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=BSD-3c
PKG_LICENSE_FILES:=COPYING LICENSE
CMAKE_INSTALL:=1
PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_libsdl2-tests
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
CMAKE_BINARY_SUBDIR:=openwrt-build
CMAKE_OPTIONS += \
-DSDL_ALSA=ON \
-DSDL_ALSA_SHARED=ON \
-DSDL_ARTS=OFF \
-DSDL_ARTS_SHARED=OFF \
-DSDL_ASAN=OFF \
-DSDL_BACKGROUNDING_SIGNAL=OFF \
-DSDL_CCACHE=OFF \
-DSDL_CLOCK_GETTIME=ON \
-DSDL_COCOA=OFF \
-DSDL_DBUS=OFF \
-DSDL_DIRECTFB=OFF \
-DSDL_DIRECTFB_SHARED=OFF \
-DSDL_DIRECTX=OFF \
-DSDL_DISKAUDIO=OFF \
-DSDL_DUMMYAUDIO=ON \
-DSDL_DUMMYVIDEO=ON \
-DSDL_ESD=OFF \
-DSDL_ESD_SHARED=OFF \
-DSDL_FOREGROUNDING_SIGNAL=OFF \
-DSDL_FUSIONSOUND=OFF \
-DSDL_FUSIONSOUND_SHARED=OFF \
-DSDL_GCC_ATOMICS=ON \
-DSDL_HIDAPI=ON \
-DSDL_HIDAPI_JOYSTICK=ON \
-DSDL_HIDAPI_LIBUSB=ON \
-DSDL_IBUS=OFF \
-DSDL_JACK=OFF \
-DSDL_JACK_SHARED=OFF \
-DSDL_KMSDRM=ON \
-DSDL_KMSDRM_SHARED=ON \
-DSDL_LASX=OFF \
-DSDL_LIBC=ON \
-DSDL_LIBICONV=OFF \
-DSDL_LIBSAMPLERATE=ON \
-DSDL_LIBSAMPLERATE_SHARED=ON \
-DSDL_LIBUDEV=ON \
-DSDL_LSX=OFF \
-DSDL_METAL=OFF \
-DSDL_MMX=OFF \
-DSDL_NAS=OFF \
-DSDL_NAS_SHARED=OFF \
-DSDL_OFFSCREEN=ON \
-DSDL_OPENGL=ON \
-DSDL_OPENGLES=ON \
-DSDL_OSS=OFF \
-DSDL_PIPEWIRE=OFF \
-DSDL_PIPEWIRE_SHARED=OFF \
-DSDL_PTHREADS=ON \
-DSDL_PTHREADS_SEM=ON \
-DSDL_PULSEAUDIO=ON \
-DSDL_PULSEAUDIO_SHARED=ON \
-DSDL_RENDER_D3D=OFF \
-DSDL_RENDER_METAL=OFF \
-DSDL_RPATH=OFF \
-DSDL_RPI=OFF \
-DSDL_SNDIO=OFF \
-DSDL_SNDIO_SHARED=OFF \
-DSDL_SYSTEM_ICONV=OFF \
-DSDL_TESTS=$(if $(CONFIG_PACKAGE_libsdl2-tests),ON,OFF) \
-DSDL_INSTALL_TESTS=$(if $(CONFIG_PACKAGE_libsdl2-tests),ON,OFF) \
-DSDL_VENDOR_INFO=OFF \
-DSDL_VIRTUAL_JOYSTICK=OFF \
-DSDL_VIVANTE=OFF \
-DSDL_VULKAN=ON \
-DSDL_WASAPI=OFF \
-DSDL_WAYLAND=ON \
-DSDL_WAYLAND_LIBDECOR=OFF \
-DSDL_WAYLAND_LIBDECOR_SHARED=OFF \
-DSDL_WAYLAND_QT_TOUCH=ON \
-DSDL_WAYLAND_SHARED=ON \
-DSDL_X11=OFF \
-DSDL_X11_SHARED=OFF \
-DSDL_X11_XCURSOR=OFF \
-DSDL_X11_XDBE=OFF \
-DSDL_X11_XFIXES=OFF \
-DSDL_X11_XINPUT=OFF \
-DSDL_X11_XRANDR=OFF \
-DSDL_X11_XSCRNSAVER=OFF \
-DSDL_X11_XSHAPE=OFF \
-DSDL_XINPUT=OFF
define Package/libsdl2
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Simple DirectMedia Layer
URL:=https://www.libsdl.org
DEPENDS:=+libstdcpp +alsa-lib +libudev-zero +pulseaudio +libmesa +libsamplerate +libwayland +wayland-protocols
endef
define Package/libsdl2/description
Simple DirectMedia Layer is a cross-platform development library designed to
provide low level access to audio, keyboard, mouse, joystick, and graphics
hardware via OpenGL and Direct3D.
endef
define Build/InstallDev
$(call Build/InstallDev/cmake,$(1))
ifdef CONFIG_DEBUG
$(LN) libSDL2d.so $(1)/usr/lib/libSDL2.so
endif
endef
define Package/libsdl2/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libSDL2*.so* $(1)/usr/lib
ifdef CONFIG_DEBUG
$(LN) libSDL2d.so $(1)/usr/lib/libSDL2.so
endif
endef
define Package/libsdl2-tests
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Video
TITLE:=SDL installed tests
URL:=https://www.libsdl.org
DEPENDS:=+libsdl2
endef
define Package/libsdl2-tests/description
Various test programs to validate SDL is working correctly, and some benchmarks.
endef
define Package/libsdl2-tests/install
$(INSTALL_DIR) $(1)/usr/libexec/installed-tests
$(CP) $(PKG_INSTALL_DIR)/usr/libexec/installed-tests/* $(1)/usr/libexec/installed-tests
endef
$(eval $(call BuildPackage,libsdl2))
$(eval $(call BuildPackage,libsdl2-tests))
|