summaryrefslogtreecommitdiffstats
path: root/libs/sdl2/Makefile
blob: 30d8b04dde2397711357804a8b7f3c403ea9725e (plain)
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))