Signed-off-by: Michael Grzeschik <m.grzesc...@pengutronix.de> --- rules/sdl2.in | 203 ++++++++++++++++++++++++++++++++++++++++++++++++ rules/sdl2.make | 153 ++++++++++++++++++++++++++++++++++++ 2 files changed, 356 insertions(+) create mode 100644 rules/sdl2.in create mode 100644 rules/sdl2.make
diff --git a/rules/sdl2.in b/rules/sdl2.in new file mode 100644 index 000000000..813613918 --- /dev/null +++ b/rules/sdl2.in @@ -0,0 +1,203 @@ +## SECTION=multimedia_sdl + +menuconfig SDL2 + tristate + prompt "SDL2" + select LIBC_M + select LIBC_DL + select LIBC_PTHREAD + select GCCLIBS_GCC_S + select LIBUNWIND + select CROSS_NASM if SDL2_VIDEO + select ALSA_LIB if SDL2_ALSA + select XORG_LIB_X11 if SDL2_XORG + select XORG_LIB_XT if SDL2_XORG + select XORG_LIB_XVMC if SDL2_XORG && SDL2_VIDEO + select DIRECTFB if SDL2_DIRECTFB + select TSLIB if SDL2_TSLIB + select DBUS if SDL2_DBUS + select LIBDRM if SDL2_WAYLAND + select MESALIB if SDL2_WAYLAND + select MESALIB_GBM if SDL2_WAYLAND + select MESALIB_EGL if SDL2_WAYLAND + select MESALIB_EGL_DRM if SDL2_WAYLAND + select MESALIB_EGL_WAYLAND if SDL2_WAYLAND + select LIBXKBCOMMON if SDL2_WAYLAND + select UDEV if SDL2_UDEV + select UDEV_LIBUDEV if SDL2_UDEV + select PULSEAUDIO if SDL2_PULSEAUDIO + select WAYLAND if SDL2_WAYLAND + select WAYLAND_PROTOCOLS if SDL2_WAYLAND + help + Simple DirectMedia Layer is a cross-platform multimedia + library designed to provide low level access to audio, + keyboard, mouse, joystick, 3D hardware via OpenGL, and + 2D video framebuffer. + +if SDL2 + +config SDL2_TIMERS + bool + prompt "SDL2 Timers Support" + default y + help + FIXME + +config SDL2_FILE + bool + prompt "SDL2 File Support" + default y + help + FIXME + +config SDL2_CPUINFO + bool + prompt "SDL2 CPU Info Support" + default y + help + FIXME + +menuconfig SDL2_AUDIO + bool + prompt "SDL2 Audio Support " + default y + help + FIXME + +if SDL2_AUDIO + +config SDL2_OSS + bool + prompt "SDL2 OSS Support" + help + Open Sound System (OSS) is the first attempt in + unifying the digital audio architecture for UNIX. + OSS is a set of device drivers that provide a + uniform API across all the major UNIX architectures. + +config SDL2_ALSA + bool + prompt "SDL2 ALSA Support" + default y + help + The Advanced Linux Sound Architecture (ALSA) + provides audio and MIDI functionality to the + Linux operating system. + +config SDL2_PULSEAUDIO + bool + prompt "SDL2 Pulseaudio Support" + default y + help + pulseaudio + +endif + +menuconfig SDL2_VIDEO + bool + prompt "SDL2 Video Support " + default y + help + FIXME + +if SDL2_VIDEO + +config SDL2_KMS + bool + prompt "KMS Support " + help + kms video support + +config SDL2_XORG + bool + prompt "Xorg Support " + help + X.Org provides an open source implementation of the + X Window System. + +config SDL2_WAYLAND + bool + prompt "Wayland Support " + help + Wayland Window System. + +config SDL2_DIRECTFB + bool + depends on STAGING + prompt "DirectFB Support" + default y + help + DirectFB is a thin library that provides hardware + graphics acceleration, input device handling and + abstraction, integrated windowing system with support + for translucent windows and multiple display layers, + not only on top of the Linux Framebuffer Device. + +config SDL2_OPENGL + bool + prompt "OpenGL Support" + help + OpenGL is a multi-platform software interface to + graphics hardware, supporting rendering and imaging + operations. + +config SDL2_OPENGLES + bool + prompt "OpenGLES Support" + help + OpenGL ES graphics support + +config SDL2_OPENGLES1 + bool + prompt "OpenGLES1 Support" + help + OpenGL ES1 graphics support + +config SDL2_OPENGLES2 + bool + prompt "OpenGLES2 Support" + help + OpenGL ES2 graphics support + +endif + +config SDL2_EVENT + bool + prompt "SDL2 Event Support" + default y + help + FIXME + +config SDL2_JOYSTICK + bool + prompt "SDL2 Joystick Support" + help + FIXME + +config SDL2_THREADS + bool + prompt "SDL2 Thread Support " + default y + help + Turn on multithreading support + +config SDL2_TSLIB + bool + prompt "tslib Support" + help + Turn on support for the touchscreen library 'tslib' + +config SDL2_UDEV + bool + prompt "udev Support" + help + Turn on support for the udev library + +config SDL2_DBUS + bool + prompt "dbus Support" + + help + Turn on support for the dbus library + +endif diff --git a/rules/sdl2.make b/rules/sdl2.make new file mode 100644 index 000000000..aa0d21f6d --- /dev/null +++ b/rules/sdl2.make @@ -0,0 +1,153 @@ +# -*-makefile-*- +# +# Copyright (C) 2018 by Michael Grzeschik <m...@pengutronix.de> +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_SDL2) += sdl2 + +# +# Paths and names +# +SDL2_VERSION := 2.0.8 +SDL2_MD5 := 3800d705cef742c6a634f202c37f263f +SDL2 := SDL2-$(SDL2_VERSION) +SDL2_SUFFIX := tar.gz +SDL2_URL := https://www.libsdl.org/release/$(SDL2).$(SDL2_SUFFIX) +SDL2_SOURCE := $(SRCDIR)/$(SDL2).$(SDL2_SUFFIX) +SDL2_DIR := $(BUILDDIR)/$(SDL2) +SDL2_LICENSE := zlib + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +# +# autoconf +# +SDL2_CONF_TOOL := autoconf +SDL2_CONF_OPT := \ + $(CROSS_AUTOCONF_USR) \ + --enable-shared \ + --disable-static \ + --enable-libtool-lock \ + --enable-assertions=auto \ + --enable-dependency-tracking \ + --enable-libc \ + --enable-gcc-atomics \ + --enable-atomic \ + --$(call ptx/endis,PTXCONF_SDL2_AUDIO)-audio \ + --$(call ptx/endis,PTXCONF_SDL2_VIDEO)-video \ + --disable-render \ + --$(call ptx/endis,PTXCONF_SDL2_EVENT)-events \ + --$(call ptx/endis,PTXCONF_SDL2_JOYSTICK)-joystick \ + --disable-haptic \ + --disable-power \ + --disable-filesystem \ + --$(call ptx/endis,PTXCONF_SDL2_THREADS)-threads \ + --$(call ptx/endis,PTXCONF_SDL2_TIMERS)-timers \ + --$(call ptx/endis,PTXCONF_SDL2_FILE)-file \ + --enable-loadso \ + --$(call ptx/endis,PTXCONF_SDL2_CPUINFO)-cpuinfo \ + --enable-assembly \ + --disable-ssemath \ + --disable-mmx \ + --disable-3dnow \ + --disable-sse \ + --disable-sse2 \ + --disable-sse3 \ + --disable-jack \ + --disable-jack-shared \ + --disable-sndio \ + --disable-sndio-shared \ + --disable-fusionsound \ + --disable-fusionsound-shared \ + --$(call ptx/endis,PTXCONF_SDL2_OSS)-oss \ + --$(call ptx/endis,PTXCONF_SDL2_ALSA)-alsa \ + --disable-alsatest \ + --disable-alsa-shared \ + --disable-esd \ + --disable-esdtest \ + --disable-esd-shared \ + --$(call ptx/endis,PTXCONF_SDL2_PULSEAUDIO)-pulseaudio \ + --$(call ptx/endis,PTXCONF_SDL2_PULSEAUDIO)-pulseaudio-shared \ + --disable-arts \ + --disable-arts-shared \ + --disable-nas \ + --disable-nas-shared \ + --disable-diskaudio \ + --disable-dummyaudio \ + --disable-libsamplerate \ + --disable-libsamplerate-shared \ + --$(call ptx/endis,PTXCONF_SDL2_WAYLAND)-video-wayland \ + --disable-video-wayland-qt-touch \ + --$(call ptx/endis,PTXCONF_SDL2_WAYLAND)-wayland-shared \ + --disable-video-mir \ + --disable-mir-shared \ + --disable-video-rpi \ + --disable-altivec \ + --$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11 \ + --disable-x11-shared \ + --$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-vm \ + --disable-video-vivante \ + --disable-video-x11-xinerama \ + --disable-video-x11-xrandr \ + --disable-video-x11-xcursor \ + --disable-video-x11-xdbe \ + --$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xinput \ + --$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-scrnsaver \ + --$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xshape \ + --disable-video-cocoa \ + --disable-render-metal \ + --$(call ptx/endis,PTXCONF_SDL2_DIRECTFB)-video-directfb \ + --$(call ptx/endis,PTXCONF_SDL2_DIRECTFB)-directfb-shared \ + --$(call ptx/endis,PTXCONF_SDL2_KMS)-video-kmsdrm \ + --$(call ptx/endis,PTXCONF_SDL2_KMS)-kmsdrm-shared \ + --enable-video-dummy \ + --$(call ptx/endis,PTXCONF_SDL2_OPENGL)-video-opengl \ + --$(call ptx/endis,PTXCONF_SDL2_OPENGLES)-video-opengles \ + --$(call ptx/endis,PTXCONF_SDL2_OPENGLES1)-video-opengles1 \ + --$(call ptx/endis,PTXCONF_SDL2_OPENGLES2)-video-opengles2 \ + --disable-video-vulkan \ + --$(call ptx/endis,PTXCONF_SDL2_UDEV)-libudev \ + --$(call ptx/endis,PTXCONF_SDL2_DBUS)-dbus \ + --disable-ime \ + --disable-ibus \ + --disable-fcitx \ + --$(call ptx/endis,PTXCONF_SDL2_TSLIB)-input-tslib \ + --enable-pthreads \ + --enable-pthread-sem \ + --disable-directx \ + --disable-sdl-dlopen \ + --enable-clock_gettime \ + --disable-rpath \ + --disable-render-d3d \ + --$(call ptx/wwo,PTXCONF_SDL2_XORG)-x + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/sdl2.targetinstall: + @$(call targetinfo) + + @$(call install_init, sdl2) + @$(call install_fixup, sdl2,PRIORITY,optional) + @$(call install_fixup, sdl2,SECTION,base) + @$(call install_fixup, sdl2,AUTHOR,"Michael Grzeschik <m...@pengutronix.de>") + @$(call install_fixup, sdl2,DESCRIPTION,missing) + + @$(call install_lib, sdl2, 0, 0, 0644, libSDL2-2.0) + + @$(call install_finish, sdl2) + + @$(call touch) + +# vim: syntax=make -- 2.18.0 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de